* [PATCH 00/54] bnxt patchset @ 2025-09-30 0:35 Manish Kurup 2025-09-30 0:35 ` [PATCH 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup ` (54 more replies) 0 siblings, 55 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde Apart from bug fixes, this patchset adds the following functionality: 1. Add the data, defines and enums for applications targeting Wh+, P5, P7 product families. 2. Update HSI files (HWRM API defintions, enums, version number) 3. Dynamic UPAR support for THOR2. 4. Add support to allow multiple instances of applications to exist at the same time. 5. Add hot upgrade support for applications. 6. Add MPLS packet offload support. 7. Improve backing store debug capabilities. 8. Add truflow global table scope support. 9. ULP parser support to handle GRE key. Please apply. Farah Smith (8): net/bnxt/tf_core: thor2 TF table scope sizing adjustments net/bnxt/tf_core: tcam manager logical id free net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash net/bnxt/tf_core: truflow global table scope net/bnxt/tf_ulp: socket direct enable net/bnxt: fix adding udp_tunnel_port net/bnxt: thor2 truflow memory manager bug net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Jay Ding (4): net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs net/bnxt/tf_ulp: add meter stats support for Thor2 net/bnxt/tf_core: fix the miscalculation of the lkup table pool next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Kishore Padmanabha (18): net/bnxt: enable vector mode processing net/bnxt/tf_ulp: add support for global identifiers net/bnxt/tf_core: add support for multi instance net/bnxt/tf_core: fix table scope free net/bnxt/tf_core: fix vfr clean up and stats lockup net/bnxt/tf_ulp: increase shared pool size to 32 net/bnxt/tf_ulp: add support for tcam priority update net/bnxt/tf_ulp: hot upgrade support net/bnxt/tf_ulp: fix stats counter memory initialization net/bnxt: fix max VFs count for thor2 net/bnxt/tf_ulp: enable support for global index table net/bnxt/tf_ulp: optimize template enums net/bnxt/tf_ulp: add non vfr mode capability net/bnxt: fix stats collection when rx queue is not set net/bnxt: fix rss configuration when set to none net/bnxt: packet drop after port stop and start net/bnxt/tf_ulp: add support for unicast only feature net/bnxt: add support for truflow promiscuous mode Manish Kurup (6): net/bnxt/tf_ulp: add bnxt app data for 25.11 net/bnxt/tf_core: dynamic UPAR support for THOR2 net/bnxt: add meson build options for TruFlow net/bnxt: truflow HSI struct fixes net/bnxt/tf_ulp: fixes to enable TF functionality net/bnxt/tf_ulp: remove Truflow DEBUG code Peter Spreadborough (6): net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 net/bnxt/tf_core: add backing store debug to dpdk net/bnxt/tf_core: handle out of order MPC completions net/bnxt: avoid potential segfault in VFR handling net/bnxt/tf_core: fix truflow crash on memory allocation failure net/bnxt/tf_core: remove excessive debug logging Sangtani Parag Satishbhai (3): net/bnxt/tf_ulp: fix seg fault when devargs argument missing net/bnxt: truflow remove redundant code for mpc init net/bnxt: truflow remove RTE devarg processing for mpc=1 Shahaji Bhosle (4): net/bnxt/tf_ulp: ulp parser support to handle gre key net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys net/bnxt/tf_ulp: truflow add pf action handler net/bnxt/tf_ulp: add feature bit rx miss handling Shuanglin Wang (2): net/bnxt/tf_core: fix build failure with flow scale option net/bnxt/tf_ulp: support MPLS packets Smitha Pisupati (1): net/bnxt/tf_ulp: add support for special vxlan Sriharsha Basavapatna (2): net/bnxt: fix default rss config net/bnxt: avoid iova range check when external memory is used drivers/net/bnxt/bnxt.h | 7 + drivers/net/bnxt/bnxt_compat.h | 433 + drivers/net/bnxt/bnxt_ethdev.c | 256 +- drivers/net/bnxt/bnxt_hwrm.c | 25 +- drivers/net/bnxt/bnxt_mpc.c | 43 +- drivers/net/bnxt/bnxt_mpc.h | 7 +- drivers/net/bnxt/bnxt_reps.c | 37 +- drivers/net/bnxt/bnxt_stats.c | 5 + drivers/net/bnxt/bnxt_txr.c | 5 +- drivers/net/bnxt/bnxt_vnic.c | 21 +- .../bnxt/hcapi/cfa_v3/include/cfa_resources.h | 33 +- .../net/bnxt/hcapi/cfa_v3/include/cfa_types.h | 10 + drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c | 83 +- .../net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h | 2 +- drivers/net/bnxt/hsi_struct_def_dpdk.h | 1123 +- drivers/net/bnxt/tf_core/cfa_tcam_mgr.c | 35 +- .../net/bnxt/tf_core/cfa_tcam_mgr_device.h | 6 +- drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c | 2 +- drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c | 2 +- drivers/net/bnxt/tf_core/tf_resources.c | 2 +- drivers/net/bnxt/tf_core/tf_util.c | 2 + drivers/net/bnxt/tf_core/v3/meson.build | 38 +- drivers/net/bnxt/tf_core/v3/tfc.h | 238 +- drivers/net/bnxt/tf_core/v3/tfc_act.c | 47 +- drivers/net/bnxt/tf_core/v3/tfc_cpm.c | 13 + drivers/net/bnxt/tf_core/v3/tfc_debug.h | 12 +- drivers/net/bnxt/tf_core/v3/tfc_em.c | 143 +- drivers/net/bnxt/tf_core/v3/tfc_em.h | 105 +- drivers/net/bnxt/tf_core/v3/tfc_global_id.c | 45 +- drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c | 142 + drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c | 51 +- drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c | 1411 + drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c | 565 - drivers/net/bnxt/tf_core/v3/tfc_msg.c | 363 +- drivers/net/bnxt/tf_core/v3/tfc_msg.h | 41 +- drivers/net/bnxt/tf_core/v3/tfc_resources.c | 12 +- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 246 +- drivers/net/bnxt/tf_core/v3/tfc_tcam.c | 55 + drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c | 1875 + drivers/net/bnxt/tf_core/v3/tfc_util.c | 23 + drivers/net/bnxt/tf_core/v3/tfc_util.h | 14 + drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c | 3 +- drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h | 4 +- drivers/net/bnxt/tf_core/v3/tfo.c | 211 +- drivers/net/bnxt/tf_core/v3/tfo.h | 53 +- drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 5 - drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c | 6 - drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 6 + drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 10 + drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 55 +- drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 27 +- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 147 +- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h | 5 + drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 82 +- .../generic_templates/ulp_template_db_act.c | 6 +- .../generic_templates/ulp_template_db_class.c | 8808 ++-- .../generic_templates/ulp_template_db_defs.h | 88 + .../generic_templates/ulp_template_db_field.h | 5 +- .../generic_templates/ulp_template_db_tbl.c | 267 +- .../ulp_template_db_thor2_act.c | 4637 +- .../ulp_template_db_thor2_class.c | 42439 +++++++++------- .../ulp_template_db_thor_act.c | 14 +- .../ulp_template_db_thor_class.c | 13247 ++--- .../ulp_template_db_wh_plus_act.c | 2 +- .../ulp_template_db_wh_plus_class.c | 26 +- drivers/net/bnxt/tf_ulp/meson.build | 56 +- drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c | 4 - drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 38 +- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 50 +- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h | 11 + drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c | 3 +- drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c | 64 +- drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 10 +- drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 6 + drivers/net/bnxt/tf_ulp/ulp_gen_hash.c | 2 +- drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c | 24 + drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h | 12 + drivers/net/bnxt/tf_ulp/ulp_mapper.c | 326 +- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 56 +- drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 81 +- drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 347 +- drivers/net/bnxt/tf_ulp/ulp_matcher.c | 9 - drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c | 8 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 141 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 10 + drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 135 +- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h | 4 +- drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c | 1 - .../ulp_template_db_enum.h | 333 +- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 5 + drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c | 264 + drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h | 40 + meson_options.txt | 4 + 93 files changed, 49176 insertions(+), 30599 deletions(-) create mode 100644 drivers/net/bnxt/bnxt_compat.h create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c delete mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h rename drivers/net/bnxt/tf_ulp/{generic_templates => }/ulp_template_db_enum.h (88%) create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs Manish Kurup ` (53 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde This commit adds the data, defines and enums for applications targeting Wh+, P5, P7 products families. Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- .../generic_templates/ulp_template_db_act.c | 6 +- .../generic_templates/ulp_template_db_class.c | 8808 ++-- .../generic_templates/ulp_template_db_defs.h | 88 + .../generic_templates/ulp_template_db_enum.h | 6 +- .../generic_templates/ulp_template_db_field.h | 5 +- .../generic_templates/ulp_template_db_tbl.c | 267 +- .../ulp_template_db_thor2_act.c | 4637 +- .../ulp_template_db_thor2_class.c | 42439 +++++++++------- .../ulp_template_db_thor_act.c | 14 +- .../ulp_template_db_thor_class.c | 13247 ++--- .../ulp_template_db_wh_plus_act.c | 2 +- .../ulp_template_db_wh_plus_class.c | 26 +- 12 files changed, 40741 insertions(+), 28804 deletions(-) create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c index 01fa5a40be..a537cbb84a 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -31,6 +31,8 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = { BNXT_ULP_ACT_BIT_GENEVE_DECAP | BNXT_ULP_ACT_BIT_METER | BNXT_ULP_ACT_BIT_SHARED_SAMPLE | + BNXT_ULP_ACT_BIT_IP_DECAP | + BNXT_ULP_ACT_BIT_L2_ENCAP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, .act_tid = 1 }, @@ -170,6 +172,8 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = { BNXT_ULP_ACT_BIT_SET_VLAN_VID | BNXT_ULP_ACT_BIT_VXLAN_ENCAP | BNXT_ULP_ACT_BIT_GENEVE_ENCAP | + BNXT_ULP_ACT_BIT_L2_DECAP | + BNXT_ULP_ACT_BIT_IP_ENCAP | BNXT_ULP_FLOW_DIR_BITMASK_EGR }, .act_tid = 7 }, diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c index cf5cfec692..619678f9cf 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -46,9 +46,9 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [108] = 5, - [112] = 6, - [116] = 7, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [3] = { @@ -67,9 +67,9 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [109] = 5, - [113] = 6, - [117] = 7, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [4] = { @@ -89,12 +89,12 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [5] = { @@ -113,14 +113,14 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, }, }, [6] = { @@ -139,16 +139,16 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, }, }, [7] = { @@ -168,17 +168,17 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [8] = { @@ -198,19 +198,19 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [9] = { @@ -230,17 +230,17 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [10] = { @@ -260,19 +260,19 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [11] = { @@ -293,20 +293,20 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [12] = { @@ -327,22 +327,22 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [13] = { @@ -361,15 +361,15 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 5, - [84] = 6, - [86] = 7, - [88] = 8, - [90] = 9, - [92] = 10, - [94] = 11, - [96] = 12, - [98] = 13, + [85] = 5, + [87] = 6, + [89] = 7, + [91] = 8, + [93] = 9, + [95] = 10, + [97] = 11, + [99] = 12, + [101] = 13, }, }, [14] = { @@ -388,10 +388,10 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 5, - [102] = 6, - [104] = 7, - [106] = 8, + [103] = 5, + [105] = 6, + [107] = 7, + [109] = 8, }, }, [15] = { @@ -411,18 +411,18 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 8, - [84] = 9, - [86] = 10, - [88] = 11, - [90] = 12, - [92] = 13, - [94] = 14, - [96] = 15, - [98] = 16, - [108] = 5, - [112] = 6, - [116] = 7, + [85] = 8, + [87] = 9, + [89] = 10, + [91] = 11, + [93] = 12, + [95] = 13, + [97] = 14, + [99] = 15, + [101] = 16, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [16] = { @@ -442,13 +442,13 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 8, - [102] = 9, - [104] = 10, - [106] = 11, - [108] = 5, - [112] = 6, - [116] = 7, + [103] = 8, + [105] = 9, + [107] = 10, + [109] = 11, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [17] = { @@ -468,18 +468,18 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 8, - [84] = 9, - [86] = 10, - [88] = 11, - [90] = 12, - [92] = 13, - [94] = 14, - [96] = 15, - [98] = 16, - [109] = 5, - [113] = 6, - [117] = 7, + [85] = 8, + [87] = 9, + [89] = 10, + [91] = 11, + [93] = 12, + [95] = 13, + [97] = 14, + [99] = 15, + [101] = 16, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [18] = { @@ -499,13 +499,13 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 8, - [102] = 9, - [104] = 10, - [106] = 11, - [109] = 5, - [113] = 6, - [117] = 7, + [103] = 8, + [105] = 9, + [107] = 10, + [109] = 11, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [19] = { @@ -526,21 +526,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 11, - [84] = 12, - [86] = 13, - [88] = 14, - [90] = 15, - [92] = 16, - [94] = 17, - [96] = 18, - [98] = 19, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [85] = 11, + [87] = 12, + [89] = 13, + [91] = 14, + [93] = 15, + [95] = 16, + [97] = 17, + [99] = 18, + [101] = 19, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [20] = { @@ -561,16 +561,16 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 11, - [102] = 12, - [104] = 13, - [106] = 14, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [103] = 11, + [105] = 12, + [107] = 13, + [109] = 14, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [21] = { @@ -590,23 +590,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [82] = 13, - [84] = 14, - [86] = 15, - [88] = 16, - [90] = 17, - [92] = 18, - [94] = 19, - [96] = 20, - [98] = 21, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [85] = 13, + [87] = 14, + [89] = 15, + [91] = 16, + [93] = 17, + [95] = 18, + [97] = 19, + [99] = 20, + [101] = 21, }, }, [22] = { @@ -626,25 +626,25 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [82] = 15, - [84] = 16, - [86] = 17, - [88] = 18, - [90] = 19, - [92] = 20, - [94] = 21, - [96] = 22, - [98] = 23, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [85] = 15, + [87] = 16, + [89] = 17, + [91] = 18, + [93] = 19, + [95] = 20, + [97] = 21, + [99] = 22, + [101] = 23, }, }, [23] = { @@ -664,18 +664,18 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, }, }, [24] = { @@ -695,20 +695,20 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, }, }, [25] = { @@ -729,26 +729,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [82] = 16, - [84] = 17, - [86] = 18, - [88] = 19, - [90] = 20, - [92] = 21, - [94] = 22, - [96] = 23, - [98] = 24, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [85] = 16, + [87] = 17, + [89] = 18, + [91] = 19, + [93] = 20, + [95] = 21, + [97] = 22, + [99] = 23, + [101] = 24, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [26] = { @@ -769,28 +769,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [82] = 18, - [84] = 19, - [86] = 20, - [88] = 21, - [90] = 22, - [92] = 23, - [94] = 24, - [96] = 25, - [98] = 26, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [85] = 18, + [87] = 19, + [89] = 20, + [91] = 21, + [93] = 22, + [95] = 23, + [97] = 24, + [99] = 25, + [101] = 26, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [27] = { @@ -811,21 +811,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [100] = 16, - [102] = 17, - [104] = 18, - [106] = 19, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [103] = 16, + [105] = 17, + [107] = 18, + [109] = 19, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [28] = { @@ -846,23 +846,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [100] = 18, - [102] = 19, - [104] = 20, - [106] = 21, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [103] = 18, + [105] = 19, + [107] = 20, + [109] = 21, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [29] = { @@ -883,26 +883,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [82] = 16, - [84] = 17, - [86] = 18, - [88] = 19, - [90] = 20, - [92] = 21, - [94] = 22, - [96] = 23, - [98] = 24, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [85] = 16, + [87] = 17, + [89] = 18, + [91] = 19, + [93] = 20, + [95] = 21, + [97] = 22, + [99] = 23, + [101] = 24, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [30] = { @@ -923,28 +923,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [82] = 18, - [84] = 19, - [86] = 20, - [88] = 21, - [90] = 22, - [92] = 23, - [94] = 24, - [96] = 25, - [98] = 26, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [85] = 18, + [87] = 19, + [89] = 20, + [91] = 21, + [93] = 22, + [95] = 23, + [97] = 24, + [99] = 25, + [101] = 26, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [31] = { @@ -965,21 +965,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [100] = 16, - [102] = 17, - [104] = 18, - [106] = 19, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [103] = 16, + [105] = 17, + [107] = 18, + [109] = 19, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [32] = { @@ -1000,23 +1000,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [100] = 18, - [102] = 19, - [104] = 20, - [106] = 21, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [103] = 18, + [105] = 19, + [107] = 20, + [109] = 21, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [33] = { @@ -1038,29 +1038,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [82] = 19, - [84] = 20, - [86] = 21, - [88] = 22, - [90] = 23, - [92] = 24, - [94] = 25, - [96] = 26, - [98] = 27, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [85] = 19, + [87] = 20, + [89] = 21, + [91] = 22, + [93] = 23, + [95] = 24, + [97] = 25, + [99] = 26, + [101] = 27, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [34] = { @@ -1082,31 +1082,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [82] = 21, - [84] = 22, - [86] = 23, - [88] = 24, - [90] = 25, - [92] = 26, - [94] = 27, - [96] = 28, - [98] = 29, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [85] = 21, + [87] = 22, + [89] = 23, + [91] = 24, + [93] = 25, + [95] = 26, + [97] = 27, + [99] = 28, + [101] = 29, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [35] = { @@ -1128,24 +1128,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [100] = 19, - [102] = 20, - [104] = 21, - [106] = 22, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [103] = 19, + [105] = 20, + [107] = 21, + [109] = 22, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [36] = { @@ -1167,26 +1167,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [100] = 21, - [102] = 22, - [104] = 23, - [106] = 24, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [103] = 21, + [105] = 22, + [107] = 23, + [109] = 24, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [37] = { @@ -1207,22 +1207,22 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [38] = { @@ -1243,24 +1243,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [39] = { @@ -1285,22 +1285,22 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [40] = { @@ -1325,24 +1325,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [41] = { @@ -1364,30 +1364,30 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [42] = { @@ -1409,32 +1409,32 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [43] = { @@ -1456,32 +1456,32 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [44] = { @@ -1503,34 +1503,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [45] = { @@ -1556,30 +1556,30 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [46] = { @@ -1605,32 +1605,32 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [47] = { @@ -1656,32 +1656,32 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [48] = { @@ -1707,34 +1707,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [49] = { @@ -1756,31 +1756,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 21, - [85] = 22, - [87] = 23, - [89] = 24, - [91] = 25, - [93] = 26, - [95] = 27, - [97] = 28, - [99] = 29, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 21, + [88] = 22, + [90] = 23, + [92] = 24, + [94] = 25, + [96] = 26, + [98] = 27, + [100] = 28, + [102] = 29, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [50] = { @@ -1802,33 +1802,33 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [83] = 23, - [85] = 24, - [87] = 25, - [89] = 26, - [91] = 27, - [93] = 28, - [95] = 29, - [97] = 30, - [99] = 31, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [86] = 23, + [88] = 24, + [90] = 25, + [92] = 26, + [94] = 27, + [96] = 28, + [98] = 29, + [100] = 30, + [102] = 31, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [51] = { @@ -1850,26 +1850,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 21, - [102] = 14, - [103] = 22, - [104] = 15, - [105] = 23, - [106] = 16, - [107] = 24, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 21, + [105] = 14, + [106] = 22, + [107] = 15, + [108] = 23, + [109] = 16, + [110] = 24, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [52] = { @@ -1891,28 +1891,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [101] = 23, - [102] = 16, - [103] = 24, - [104] = 17, - [105] = 25, - [106] = 18, - [107] = 26, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [104] = 23, + [105] = 16, + [106] = 24, + [107] = 17, + [108] = 25, + [109] = 18, + [110] = 26, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [53] = { @@ -1938,31 +1938,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 24, - [85] = 25, - [87] = 26, - [89] = 27, - [91] = 28, - [93] = 29, - [95] = 30, - [97] = 31, - [99] = 32, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 24, + [88] = 25, + [90] = 26, + [92] = 27, + [94] = 28, + [96] = 29, + [98] = 30, + [100] = 31, + [102] = 32, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [54] = { @@ -1988,33 +1988,33 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [83] = 26, - [85] = 27, - [87] = 28, - [89] = 29, - [91] = 30, - [93] = 31, - [95] = 32, - [97] = 33, - [99] = 34, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [86] = 26, + [88] = 27, + [90] = 28, + [92] = 29, + [94] = 30, + [96] = 31, + [98] = 32, + [100] = 33, + [102] = 34, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [55] = { @@ -2040,26 +2040,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 24, - [102] = 14, - [103] = 25, - [104] = 15, - [105] = 26, - [106] = 16, - [107] = 27, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 24, + [105] = 14, + [106] = 25, + [107] = 15, + [108] = 26, + [109] = 16, + [110] = 27, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [56] = { @@ -2085,28 +2085,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [101] = 26, - [102] = 16, - [103] = 27, - [104] = 17, - [105] = 28, - [106] = 18, - [107] = 29, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [104] = 26, + [105] = 16, + [106] = 27, + [107] = 17, + [108] = 28, + [109] = 18, + [110] = 29, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [57] = { @@ -2129,39 +2129,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [83] = 29, - [85] = 30, - [87] = 31, - [89] = 32, - [91] = 33, - [93] = 34, - [95] = 35, - [97] = 36, - [99] = 37, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [86] = 29, + [88] = 30, + [90] = 31, + [92] = 32, + [94] = 33, + [96] = 34, + [98] = 35, + [100] = 36, + [102] = 37, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [58] = { @@ -2184,41 +2184,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [59] = { @@ -2241,41 +2241,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [60] = { @@ -2298,43 +2298,43 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [83] = 33, - [85] = 34, - [87] = 35, - [89] = 36, - [91] = 37, - [93] = 38, - [95] = 39, - [97] = 40, - [99] = 41, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [86] = 33, + [88] = 34, + [90] = 35, + [92] = 36, + [94] = 37, + [96] = 38, + [98] = 39, + [100] = 40, + [102] = 41, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [61] = { @@ -2357,34 +2357,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [100] = 13, - [101] = 29, - [102] = 14, - [103] = 30, - [104] = 15, - [105] = 31, - [106] = 16, - [107] = 32, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [103] = 13, + [104] = 29, + [105] = 14, + [106] = 30, + [107] = 15, + [108] = 31, + [109] = 16, + [110] = 32, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [62] = { @@ -2407,36 +2407,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 15, - [101] = 31, - [102] = 16, - [103] = 32, - [104] = 17, - [105] = 33, - [106] = 18, - [107] = 34, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 15, + [104] = 31, + [105] = 16, + [106] = 32, + [107] = 17, + [108] = 33, + [109] = 18, + [110] = 34, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [63] = { @@ -2459,36 +2459,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 31, - [102] = 14, - [103] = 32, - [104] = 15, - [105] = 33, - [106] = 16, - [107] = 34, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 31, + [105] = 14, + [106] = 32, + [107] = 15, + [108] = 33, + [109] = 16, + [110] = 34, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [64] = { @@ -2511,38 +2511,38 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [100] = 15, - [101] = 33, - [102] = 16, - [103] = 34, - [104] = 17, - [105] = 35, - [106] = 18, - [107] = 36, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [103] = 15, + [104] = 33, + [105] = 16, + [106] = 34, + [107] = 17, + [108] = 35, + [109] = 18, + [110] = 36, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [65] = { @@ -2569,39 +2569,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [83] = 32, - [85] = 33, - [87] = 34, - [89] = 35, - [91] = 36, - [93] = 37, - [95] = 38, - [97] = 39, - [99] = 40, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [86] = 32, + [88] = 33, + [90] = 34, + [92] = 35, + [94] = 36, + [96] = 37, + [98] = 38, + [100] = 39, + [102] = 40, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [66] = { @@ -2628,41 +2628,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [83] = 34, - [85] = 35, - [87] = 36, - [89] = 37, - [91] = 38, - [93] = 39, - [95] = 40, - [97] = 41, - [99] = 42, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [86] = 34, + [88] = 35, + [90] = 36, + [92] = 37, + [94] = 38, + [96] = 39, + [98] = 40, + [100] = 41, + [102] = 42, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [67] = { @@ -2689,41 +2689,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 34, - [85] = 35, - [87] = 36, - [89] = 37, - [91] = 38, - [93] = 39, - [95] = 40, - [97] = 41, - [99] = 42, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 34, + [88] = 35, + [90] = 36, + [92] = 37, + [94] = 38, + [96] = 39, + [98] = 40, + [100] = 41, + [102] = 42, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [68] = { @@ -2750,43 +2750,43 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [83] = 36, - [85] = 37, - [87] = 38, - [89] = 39, - [91] = 40, - [93] = 41, - [95] = 42, - [97] = 43, - [99] = 44, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [86] = 36, + [88] = 37, + [90] = 38, + [92] = 39, + [94] = 40, + [96] = 41, + [98] = 42, + [100] = 43, + [102] = 44, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [69] = { @@ -2813,34 +2813,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [100] = 13, - [101] = 32, - [102] = 14, - [103] = 33, - [104] = 15, - [105] = 34, - [106] = 16, - [107] = 35, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [103] = 13, + [104] = 32, + [105] = 14, + [106] = 33, + [107] = 15, + [108] = 34, + [109] = 16, + [110] = 35, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [70] = { @@ -2867,36 +2867,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [100] = 15, - [101] = 34, - [102] = 16, - [103] = 35, - [104] = 17, - [105] = 36, - [106] = 18, - [107] = 37, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [103] = 15, + [104] = 34, + [105] = 16, + [106] = 35, + [107] = 17, + [108] = 36, + [109] = 18, + [110] = 37, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [71] = { @@ -2923,36 +2923,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 34, - [102] = 14, - [103] = 35, - [104] = 15, - [105] = 36, - [106] = 16, - [107] = 37, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 34, + [105] = 14, + [106] = 35, + [107] = 15, + [108] = 36, + [109] = 16, + [110] = 37, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [72] = { @@ -2979,52 +2979,50 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [100] = 15, - [101] = 36, - [102] = 16, - [103] = 37, - [104] = 17, - [105] = 38, - [106] = 18, - [107] = 39, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [103] = 15, + [104] = 36, + [105] = 16, + [106] = 37, + [107] = 17, + [108] = 38, + [109] = 18, + [110] = 39, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [73] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F1 | BNXT_ULP_HDR_BIT_O_ETH | - BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_T_MPLS | + BNXT_ULP_HDR_BIT_I_IPV6 | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x200A000000000000, - .field_opt_bitmap = 0x9000000000000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC16000000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, .flow_pattern_id = 2, .field_list = { @@ -3032,36 +3030,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [54] = 7, + [56] = 8, + [58] = 9, + [60] = 10, + [62] = 11, + [64] = 12, + [66] = 13, + [68] = 14, + [69] = 5, + [70] = 6, }, }, [74] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F1 | BNXT_ULP_HDR_BIT_O_ETH | - BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_T_MPLS | + BNXT_ULP_HDR_BIT_I_IPV4 | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x2002800000000000, - .field_opt_bitmap = 0x9000000000000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC05800000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, .flow_pattern_id = 2, .field_list = { @@ -3069,122 +3059,342 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [34] = 7, + [36] = 8, + [38] = 9, + [40] = 10, + [42] = 11, + [44] = 12, + [46] = 13, + [48] = 14, + [50] = 15, + [52] = 16, + [69] = 5, + [70] = 6, }, }, [75] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | - BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_T_MPLS | BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0xC0800000000000, - .field_opt_bitmap = 0x8010301800000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC17800000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, + .flow_pattern_id = 2, .field_list = { [1] = 1, - [7] = 18, - [9] = 19, - [11] = 20, - [52] = 2, - [53] = 21, - [54] = 3, - [55] = 22, - [56] = 4, - [57] = 23, - [58] = 5, - [59] = 24, - [60] = 6, - [61] = 25, - [62] = 7, - [63] = 26, - [64] = 8, - [65] = 27, - [66] = 9, - [67] = 28, - [100] = 10, - [102] = 11, - [104] = 12, - [106] = 13, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + [6] = 2, + [8] = 3, + [10] = 4, + [54] = 7, + [56] = 8, + [58] = 9, + [60] = 10, + [62] = 11, + [64] = 12, + [66] = 13, + [68] = 14, + [69] = 5, + [70] = 6, + [86] = 15, + [88] = 16, + [90] = 17, + [92] = 18, + [94] = 19, + [96] = 20, + [98] = 21, + [100] = 22, + [102] = 23, }, }, [76] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | - BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | - BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_T_MPLS | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C0600000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC05E00000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, + .flow_pattern_id = 2, .field_list = { [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [32] = 2, - [34] = 3, - [36] = 4, - [38] = 5, - [40] = 6, - [42] = 7, - [44] = 8, - [46] = 9, - [48] = 10, - [50] = 11, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 12, - [102] = 13, - [104] = 14, - [106] = 15, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + [6] = 2, + [8] = 3, + [10] = 4, + [34] = 7, + [36] = 8, + [38] = 9, + [40] = 10, + [42] = 11, + [44] = 12, + [46] = 13, + [48] = 14, + [50] = 15, + [52] = 16, + [69] = 5, + [70] = 6, + [86] = 17, + [88] = 18, + [90] = 19, + [92] = 20, + [94] = 21, + [96] = 22, + [98] = 23, + [100] = 24, + [102] = 25, }, }, [77] = { .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_T_MPLS | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC17800000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 2, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [54] = 7, + [56] = 8, + [58] = 9, + [60] = 10, + [62] = 11, + [64] = 12, + [66] = 13, + [68] = 14, + [69] = 5, + [70] = 6, + [104] = 15, + [106] = 16, + [108] = 17, + [110] = 18, + }, + }, + [78] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_T_MPLS | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC05E00000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 2, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [34] = 7, + [36] = 8, + [38] = 9, + [40] = 10, + [42] = 11, + [44] = 12, + [46] = 13, + [48] = 14, + [50] = 15, + [52] = 16, + [69] = 5, + [70] = 6, + [104] = 17, + [106] = 18, + [108] = 19, + [110] = 20, + }, + }, + [79] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F1 | + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x200A000000000000, + .field_opt_bitmap = 0x9000000000000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 3, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, + }, + }, + [80] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F1 | + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x2002800000000000, + .field_opt_bitmap = 0x9000000000000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 3, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, + }, + }, + [81] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xC0800000000000, + .field_opt_bitmap = 0x8010301800000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 18, + [9] = 19, + [11] = 20, + [53] = 2, + [54] = 21, + [55] = 3, + [56] = 22, + [57] = 4, + [58] = 23, + [59] = 5, + [60] = 24, + [61] = 6, + [62] = 25, + [63] = 7, + [64] = 26, + [65] = 8, + [66] = 27, + [67] = 9, + [68] = 28, + [103] = 10, + [105] = 11, + [107] = 12, + [109] = 13, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, + }, + }, + [82] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C0600000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [33] = 2, + [35] = 3, + [37] = 4, + [39] = 5, + [41] = 6, + [43] = 7, + [45] = 8, + [47] = 9, + [49] = 10, + [51] = 11, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 12, + [105] = 13, + [107] = 14, + [109] = 15, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [83] = { + .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_F2 | BNXT_ULP_HDR_BIT_O_IPV6 | @@ -3197,41 +3407,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { .field_opt_bitmap = 0x8010300600000000, .field_exclude_bitmap = 0x0, .class_tid = 1, - .flow_pattern_id = 3, + .flow_pattern_id = 4, .field_list = { [1] = 1, [7] = 18, [9] = 19, [11] = 20, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 2, - [54] = 3, - [56] = 4, - [58] = 5, - [60] = 6, - [62] = 7, - [64] = 8, - [66] = 9, - [100] = 10, - [102] = 11, - [104] = 12, - [106] = 13, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 2, + [55] = 3, + [57] = 4, + [59] = 5, + [61] = 6, + [63] = 7, + [65] = 8, + [67] = 9, + [103] = 10, + [105] = 11, + [107] = 12, + [109] = 13, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, }, }, - [78] = { + [84] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_F2 | @@ -3245,43 +3455,43 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { .field_opt_bitmap = 0x80040C0180000000, .field_exclude_bitmap = 0x0, .class_tid = 1, - .flow_pattern_id = 3, + .flow_pattern_id = 4, .field_list = { [1] = 1, [7] = 20, [9] = 21, [11] = 22, - [32] = 2, - [33] = 23, - [34] = 3, - [35] = 24, - [36] = 4, - [37] = 25, - [38] = 5, - [39] = 26, - [40] = 6, - [41] = 27, - [42] = 7, - [43] = 28, - [44] = 8, - [45] = 29, - [46] = 9, - [47] = 30, - [48] = 10, - [49] = 31, - [50] = 11, - [51] = 32, - [100] = 12, - [102] = 13, - [104] = 14, - [106] = 15, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + [33] = 2, + [34] = 23, + [35] = 3, + [36] = 24, + [37] = 4, + [38] = 25, + [39] = 5, + [40] = 26, + [41] = 6, + [42] = 27, + [43] = 7, + [44] = 28, + [45] = 8, + [46] = 29, + [47] = 9, + [48] = 30, + [49] = 10, + [50] = 31, + [51] = 11, + [52] = 32, + [103] = 12, + [105] = 13, + [107] = 14, + [109] = 15, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, }, }, - [79] = { + [85] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_F2 | @@ -3296,48 +3506,48 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { .field_opt_bitmap = 0x8010301E00000000, .field_exclude_bitmap = 0x0, .class_tid = 1, - .flow_pattern_id = 3, + .flow_pattern_id = 4, .field_list = { [1] = 1, [7] = 18, [9] = 19, [11] = 20, - [52] = 2, - [53] = 21, - [54] = 3, - [55] = 22, - [56] = 4, - [57] = 23, - [58] = 5, - [59] = 24, - [60] = 6, - [61] = 25, - [62] = 7, - [63] = 26, - [64] = 8, - [65] = 27, - [66] = 9, - [67] = 28, - [83] = 29, - [85] = 30, - [87] = 31, - [89] = 32, - [91] = 33, - [93] = 34, - [95] = 35, - [97] = 36, - [99] = 37, - [100] = 10, - [102] = 11, - [104] = 12, - [106] = 13, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + [53] = 2, + [54] = 21, + [55] = 3, + [56] = 22, + [57] = 4, + [58] = 23, + [59] = 5, + [60] = 24, + [61] = 6, + [62] = 25, + [63] = 7, + [64] = 26, + [65] = 8, + [66] = 27, + [67] = 9, + [68] = 28, + [86] = 29, + [88] = 30, + [90] = 31, + [92] = 32, + [94] = 33, + [96] = 34, + [98] = 35, + [100] = 36, + [102] = 37, + [103] = 10, + [105] = 11, + [107] = 12, + [109] = 13, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, }, }, - [80] = { + [86] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_F2 | @@ -3348,528 +3558,1776 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { BNXT_ULP_HDR_BIT_I_IPV6 | BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C0780000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C0780000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [33] = 2, + [35] = 3, + [37] = 4, + [39] = 5, + [41] = 6, + [43] = 7, + [45] = 8, + [47] = 9, + [49] = 10, + [51] = 11, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 12, + [105] = 13, + [107] = 14, + [109] = 15, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [87] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xC0800000000000, + .field_opt_bitmap = 0x8010300780000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 18, + [9] = 19, + [11] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 2, + [55] = 3, + [57] = 4, + [59] = 5, + [61] = 6, + [63] = 7, + [65] = 8, + [67] = 9, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 10, + [105] = 11, + [107] = 12, + [109] = 13, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, + }, + }, + [88] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C01E0000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [33] = 2, + [34] = 23, + [35] = 3, + [36] = 24, + [37] = 4, + [38] = 25, + [39] = 5, + [40] = 26, + [41] = 6, + [42] = 27, + [43] = 7, + [44] = 28, + [45] = 8, + [46] = 29, + [47] = 9, + [48] = 30, + [49] = 10, + [50] = 31, + [51] = 11, + [52] = 32, + [86] = 33, + [88] = 34, + [90] = 35, + [92] = 36, + [94] = 37, + [96] = 38, + [98] = 39, + [100] = 40, + [102] = 41, + [103] = 12, + [105] = 13, + [107] = 14, + [109] = 15, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [89] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xC0800000000000, + .field_opt_bitmap = 0x8010301E00000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 18, + [9] = 19, + [11] = 20, + [53] = 2, + [54] = 21, + [55] = 3, + [56] = 22, + [57] = 4, + [58] = 23, + [59] = 5, + [60] = 24, + [61] = 6, + [62] = 25, + [63] = 7, + [64] = 26, + [65] = 8, + [66] = 27, + [67] = 9, + [68] = 28, + [103] = 10, + [104] = 29, + [105] = 11, + [106] = 30, + [107] = 12, + [108] = 31, + [109] = 13, + [110] = 32, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, + }, + }, + [90] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C0780000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [33] = 2, + [35] = 3, + [37] = 4, + [39] = 5, + [41] = 6, + [43] = 7, + [45] = 8, + [47] = 9, + [49] = 10, + [51] = 11, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 12, + [104] = 31, + [105] = 13, + [106] = 32, + [107] = 14, + [108] = 33, + [109] = 15, + [110] = 34, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [91] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xC0800000000000, + .field_opt_bitmap = 0x8010300780000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 18, + [9] = 19, + [11] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 2, + [55] = 3, + [57] = 4, + [59] = 5, + [61] = 6, + [63] = 7, + [65] = 8, + [67] = 9, + [103] = 10, + [104] = 31, + [105] = 11, + [106] = 32, + [107] = 12, + [108] = 33, + [109] = 13, + [110] = 34, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, + }, + }, + [92] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C01E0000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [33] = 2, + [34] = 23, + [35] = 3, + [36] = 24, + [37] = 4, + [38] = 25, + [39] = 5, + [40] = 26, + [41] = 6, + [42] = 27, + [43] = 7, + [44] = 28, + [45] = 8, + [46] = 29, + [47] = 9, + [48] = 30, + [49] = 10, + [50] = 31, + [51] = 11, + [52] = 32, + [103] = 12, + [104] = 33, + [105] = 13, + [106] = 34, + [107] = 14, + [108] = 35, + [109] = 15, + [110] = 36, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [93] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_ICMP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xC0800000000000, + .field_opt_bitmap = 0x8010300600000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 5, + .field_list = { + [1] = 1, + [7] = 18, + [9] = 19, + [11] = 20, + [24] = 31, + [26] = 32, + [28] = 33, + [30] = 34, + [32] = 35, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 2, + [55] = 3, + [57] = 4, + [59] = 5, + [61] = 6, + [63] = 7, + [65] = 8, + [67] = 9, + [103] = 10, + [105] = 11, + [107] = 12, + [109] = 13, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, + }, + }, + [94] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_ICMP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C0180000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 5, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [24] = 33, + [26] = 34, + [28] = 35, + [30] = 36, + [32] = 37, + [33] = 2, + [34] = 23, + [35] = 3, + [36] = 24, + [37] = 4, + [38] = 25, + [39] = 5, + [40] = 26, + [41] = 6, + [42] = 27, + [43] = 7, + [44] = 28, + [45] = 8, + [46] = 29, + [47] = 9, + [48] = 30, + [49] = 10, + [50] = 31, + [51] = 11, + [52] = 32, + [103] = 12, + [105] = 13, + [107] = 14, + [109] = 15, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [95] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_GENEVE | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xA002800000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 6, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + }, + }, + [96] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_SRV6 | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xD800000000000, + .field_opt_bitmap = 0xB04000B000000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 7, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [53] = 5, + [54] = 20, + [55] = 6, + [56] = 21, + [57] = 7, + [58] = 22, + [59] = 8, + [60] = 23, + [61] = 9, + [62] = 24, + [63] = 10, + [64] = 25, + [65] = 11, + [66] = 26, + [67] = 12, + [68] = 27, + [71] = 13, + [73] = 14, + [75] = 15, + [77] = 16, + [79] = 17, + [81] = 18, + [83] = 19, + }, + }, + [97] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_SRV6 | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xD800000000000, + .field_opt_bitmap = 0xB04000BC00000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 7, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [53] = 5, + [54] = 20, + [55] = 6, + [56] = 21, + [57] = 7, + [58] = 22, + [59] = 8, + [60] = 23, + [61] = 9, + [62] = 24, + [63] = 10, + [64] = 25, + [65] = 11, + [66] = 26, + [67] = 12, + [68] = 27, + [71] = 13, + [73] = 14, + [75] = 15, + [77] = 16, + [79] = 17, + [81] = 18, + [83] = 19, + [86] = 28, + [88] = 29, + [90] = 30, + [92] = 31, + [94] = 32, + [96] = 33, + [98] = 34, + [100] = 35, + [102] = 36, + }, + }, + [98] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_SRV6 | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xD800000000000, + .field_opt_bitmap = 0xB04000BC00000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 7, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [53] = 5, + [54] = 20, + [55] = 6, + [56] = 21, + [57] = 7, + [58] = 22, + [59] = 8, + [60] = 23, + [61] = 9, + [62] = 24, + [63] = 10, + [64] = 25, + [65] = 11, + [66] = 26, + [67] = 12, + [68] = 27, + [71] = 13, + [73] = 14, + [75] = 15, + [77] = 16, + [79] = 17, + [81] = 18, + [83] = 19, + [104] = 28, + [106] = 29, + [108] = 30, + [110] = 31, + }, + }, + [99] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C160000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [53] = 5, + [54] = 15, + [55] = 6, + [56] = 16, + [57] = 7, + [58] = 17, + [59] = 8, + [60] = 18, + [61] = 9, + [62] = 19, + [63] = 10, + [64] = 20, + [65] = 11, + [66] = 21, + [67] = 12, + [68] = 22, + }, + }, + [100] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB007058000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 17, + [56] = 18, + [58] = 19, + [60] = 20, + [62] = 21, + [64] = 22, + [66] = 23, + [68] = 24, + }, + }, + [101] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C058000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [34] = 15, + [36] = 16, + [38] = 17, + [40] = 18, + [42] = 19, + [44] = 20, + [46] = 21, + [48] = 22, + [50] = 23, + [52] = 24, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + }, + }, + [102] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB007016000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [34] = 17, + [35] = 6, + [36] = 18, + [37] = 7, + [38] = 19, + [39] = 8, + [40] = 20, + [41] = 9, + [42] = 21, + [43] = 10, + [44] = 22, + [45] = 11, + [46] = 23, + [47] = 12, + [48] = 24, + [49] = 13, + [50] = 25, + [51] = 14, + [52] = 26, + }, + }, + [103] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D0B0000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [53] = 5, + [54] = 16, + [55] = 6, + [56] = 17, + [57] = 7, + [58] = 18, + [59] = 8, + [60] = 19, + [61] = 9, + [62] = 20, + [63] = 10, + [64] = 21, + [65] = 11, + [66] = 22, + [67] = 12, + [68] = 23, + }, + }, + [104] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00742C000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 18, + [56] = 19, + [58] = 20, + [60] = 21, + [62] = 22, + [64] = 23, + [66] = 24, + [68] = 25, + }, + }, + [105] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D02C000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [34] = 16, + [36] = 17, + [38] = 18, + [40] = 19, + [42] = 20, + [44] = 21, + [46] = 22, + [48] = 23, + [50] = 24, + [52] = 25, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + }, + }, + [106] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00740B000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [34] = 18, + [35] = 6, + [36] = 19, + [37] = 7, + [38] = 20, + [39] = 8, + [40] = 21, + [41] = 9, + [42] = 22, + [43] = 10, + [44] = 23, + [45] = 11, + [46] = 24, + [47] = 12, + [48] = 25, + [49] = 13, + [50] = 26, + [51] = 14, + [52] = 27, + }, + }, + [107] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C178000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [53] = 5, + [54] = 15, + [55] = 6, + [56] = 16, + [57] = 7, + [58] = 17, + [59] = 8, + [60] = 18, + [61] = 9, + [62] = 19, + [63] = 10, + [64] = 20, + [65] = 11, + [66] = 21, + [67] = 12, + [68] = 22, + [86] = 23, + [88] = 24, + [90] = 25, + [92] = 26, + [94] = 27, + [96] = 28, + [98] = 29, + [100] = 30, + [102] = 31, + }, + }, + [108] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00705E000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 17, + [56] = 18, + [58] = 19, + [60] = 20, + [62] = 21, + [64] = 22, + [66] = 23, + [68] = 24, + [86] = 25, + [88] = 26, + [90] = 27, + [92] = 28, + [94] = 29, + [96] = 30, + [98] = 31, + [100] = 32, + [102] = 33, + }, + }, + [109] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C05E000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [34] = 15, + [36] = 16, + [38] = 17, + [40] = 18, + [42] = 19, + [44] = 20, + [46] = 21, + [48] = 22, + [50] = 23, + [52] = 24, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 25, + [88] = 26, + [90] = 27, + [92] = 28, + [94] = 29, + [96] = 30, + [98] = 31, + [100] = 32, + [102] = 33, + }, + }, + [110] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB007017800000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [34] = 17, + [35] = 6, + [36] = 18, + [37] = 7, + [38] = 19, + [39] = 8, + [40] = 20, + [41] = 9, + [42] = 21, + [43] = 10, + [44] = 22, + [45] = 11, + [46] = 23, + [47] = 12, + [48] = 24, + [49] = 13, + [50] = 25, + [51] = 14, + [52] = 26, + [86] = 27, + [88] = 28, + [90] = 29, + [92] = 30, + [94] = 31, + [96] = 32, + [98] = 33, + [100] = 34, + [102] = 35, + }, + }, + [111] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C178000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [53] = 5, + [54] = 15, + [55] = 6, + [56] = 16, + [57] = 7, + [58] = 17, + [59] = 8, + [60] = 18, + [61] = 9, + [62] = 19, + [63] = 10, + [64] = 20, + [65] = 11, + [66] = 21, + [67] = 12, + [68] = 22, + [104] = 23, + [106] = 24, + [108] = 25, + [110] = 26, + }, + }, + [112] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00705E000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [32] = 2, - [34] = 3, - [36] = 4, - [38] = 5, - [40] = 6, - [42] = 7, - [44] = 8, - [46] = 9, - [48] = 10, - [50] = 11, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 12, - [102] = 13, - [104] = 14, - [106] = 15, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 17, + [56] = 18, + [58] = 19, + [60] = 20, + [62] = 21, + [64] = 22, + [66] = 23, + [68] = 24, + [104] = 25, + [106] = 26, + [108] = 27, + [110] = 28, }, }, - [81] = { + [113] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_HDR_BIT_I_UDP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0xC0800000000000, - .field_opt_bitmap = 0x8010300780000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C05E000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 18, - [9] = 19, - [11] = 20, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 2, - [54] = 3, - [56] = 4, - [58] = 5, - [60] = 6, - [62] = 7, - [64] = 8, - [66] = 9, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 10, - [102] = 11, - [104] = 12, - [106] = 13, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [34] = 15, + [36] = 16, + [38] = 17, + [40] = 18, + [42] = 19, + [44] = 20, + [46] = 21, + [48] = 22, + [50] = 23, + [52] = 24, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [104] = 25, + [106] = 26, + [108] = 27, + [110] = 28, }, }, - [82] = { + [114] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_HDR_BIT_I_UDP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C01E0000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB007017800000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [32] = 2, - [33] = 23, - [34] = 3, - [35] = 24, - [36] = 4, - [37] = 25, - [38] = 5, - [39] = 26, - [40] = 6, - [41] = 27, - [42] = 7, - [43] = 28, - [44] = 8, - [45] = 29, - [46] = 9, - [47] = 30, - [48] = 10, - [49] = 31, - [50] = 11, - [51] = 32, - [83] = 33, - [85] = 34, - [87] = 35, - [89] = 36, - [91] = 37, - [93] = 38, - [95] = 39, - [97] = 40, - [99] = 41, - [100] = 12, - [102] = 13, - [104] = 14, - [106] = 15, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [34] = 17, + [35] = 6, + [36] = 18, + [37] = 7, + [38] = 19, + [39] = 8, + [40] = 20, + [41] = 9, + [42] = 21, + [43] = 10, + [44] = 22, + [45] = 11, + [46] = 23, + [47] = 12, + [48] = 24, + [49] = 13, + [50] = 25, + [51] = 14, + [52] = 26, + [104] = 27, + [106] = 28, + [108] = 29, + [110] = 30, }, }, - [83] = { + [115] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | BNXT_ULP_HDR_BIT_I_IPV6 | - BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0xC0800000000000, - .field_opt_bitmap = 0x8010301E00000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D0BC000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 18, - [9] = 19, - [11] = 20, - [52] = 2, - [53] = 21, - [54] = 3, - [55] = 22, - [56] = 4, - [57] = 23, - [58] = 5, - [59] = 24, - [60] = 6, - [61] = 25, - [62] = 7, - [63] = 26, - [64] = 8, - [65] = 27, - [66] = 9, - [67] = 28, - [100] = 10, - [101] = 29, - [102] = 11, - [103] = 30, - [104] = 12, - [105] = 31, - [106] = 13, - [107] = 32, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [53] = 5, + [54] = 16, + [55] = 6, + [56] = 17, + [57] = 7, + [58] = 18, + [59] = 8, + [60] = 19, + [61] = 9, + [62] = 20, + [63] = 10, + [64] = 21, + [65] = 11, + [66] = 22, + [67] = 12, + [68] = 23, + [86] = 24, + [88] = 25, + [90] = 26, + [92] = 27, + [94] = 28, + [96] = 29, + [98] = 30, + [100] = 31, + [102] = 32, }, }, - [84] = { + [116] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | BNXT_ULP_HDR_BIT_I_IPV6 | - BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C0780000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00742F000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [32] = 2, - [34] = 3, - [36] = 4, - [38] = 5, - [40] = 6, - [42] = 7, - [44] = 8, - [46] = 9, - [48] = 10, - [50] = 11, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 12, - [101] = 31, - [102] = 13, - [103] = 32, - [104] = 14, - [105] = 33, - [106] = 15, - [107] = 34, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 18, + [56] = 19, + [58] = 20, + [60] = 21, + [62] = 22, + [64] = 23, + [66] = 24, + [68] = 25, + [86] = 26, + [88] = 27, + [90] = 28, + [92] = 29, + [94] = 30, + [96] = 31, + [98] = 32, + [100] = 33, + [102] = 34, }, }, - [85] = { + [117] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0xC0800000000000, - .field_opt_bitmap = 0x8010300780000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D02F000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 18, - [9] = 19, - [11] = 20, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 2, - [54] = 3, - [56] = 4, - [58] = 5, - [60] = 6, - [62] = 7, - [64] = 8, - [66] = 9, - [100] = 10, - [101] = 31, - [102] = 11, - [103] = 32, - [104] = 12, - [105] = 33, - [106] = 13, - [107] = 34, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [34] = 16, + [36] = 17, + [38] = 18, + [40] = 19, + [42] = 20, + [44] = 21, + [46] = 22, + [48] = 23, + [50] = 24, + [52] = 25, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 26, + [88] = 27, + [90] = 28, + [92] = 29, + [94] = 30, + [96] = 31, + [98] = 32, + [100] = 33, + [102] = 34, }, }, - [86] = { + [118] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C01E0000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00740BC00000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [32] = 2, - [33] = 23, - [34] = 3, - [35] = 24, - [36] = 4, - [37] = 25, - [38] = 5, - [39] = 26, - [40] = 6, - [41] = 27, - [42] = 7, - [43] = 28, - [44] = 8, - [45] = 29, - [46] = 9, - [47] = 30, - [48] = 10, - [49] = 31, - [50] = 11, - [51] = 32, - [100] = 12, - [101] = 33, - [102] = 13, - [103] = 34, - [104] = 14, - [105] = 35, - [106] = 15, - [107] = 36, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [34] = 18, + [35] = 6, + [36] = 19, + [37] = 7, + [38] = 20, + [39] = 8, + [40] = 21, + [41] = 9, + [42] = 22, + [43] = 10, + [44] = 23, + [45] = 11, + [46] = 24, + [47] = 12, + [48] = 25, + [49] = 13, + [50] = 26, + [51] = 14, + [52] = 27, + [86] = 28, + [88] = 29, + [90] = 30, + [92] = 31, + [94] = 32, + [96] = 33, + [98] = 34, + [100] = 35, + [102] = 36, }, }, - [87] = { + [119] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | - BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_ICMP | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0xC0800000000000, - .field_opt_bitmap = 0x8010300600000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D0BC000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 4, + .flow_pattern_id = 8, .field_list = { [1] = 1, - [7] = 18, - [9] = 19, - [11] = 20, - [23] = 31, - [25] = 32, - [27] = 33, - [29] = 34, - [31] = 35, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 2, - [54] = 3, - [56] = 4, - [58] = 5, - [60] = 6, - [62] = 7, - [64] = 8, - [66] = 9, - [100] = 10, - [102] = 11, - [104] = 12, - [106] = 13, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [53] = 5, + [54] = 16, + [55] = 6, + [56] = 17, + [57] = 7, + [58] = 18, + [59] = 8, + [60] = 19, + [61] = 9, + [62] = 20, + [63] = 10, + [64] = 21, + [65] = 11, + [66] = 22, + [67] = 12, + [68] = 23, + [104] = 24, + [106] = 25, + [108] = 26, + [110] = 27, }, }, - [88] = { + [120] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00742F000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 18, + [56] = 19, + [58] = 20, + [60] = 21, + [62] = 22, + [64] = 23, + [66] = 24, + [68] = 25, + [104] = 26, + [106] = 27, + [108] = 28, + [110] = 29, + }, + }, + [121] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_ICMP | + BNXT_ULP_HDR_BIT_I_UDP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C0180000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D02F000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 4, - .field_list = { - [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [23] = 33, - [25] = 34, - [27] = 35, - [29] = 36, - [31] = 37, - [32] = 2, - [33] = 23, - [34] = 3, - [35] = 24, - [36] = 4, - [37] = 25, - [38] = 5, - [39] = 26, - [40] = 6, - [41] = 27, - [42] = 7, - [43] = 28, - [44] = 8, - [45] = 29, - [46] = 9, - [47] = 30, - [48] = 10, - [49] = 31, - [50] = 11, - [51] = 32, - [100] = 12, - [102] = 13, - [104] = 14, - [106] = 15, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [34] = 16, + [36] = 17, + [38] = 18, + [40] = 19, + [42] = 20, + [44] = 21, + [46] = 22, + [48] = 23, + [50] = 24, + [52] = 25, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [104] = 26, + [106] = 27, + [108] = 28, + [110] = 29, }, }, - [89] = { + [122] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_GENEVE | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_UDP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, .field_man_bitmap = 0x0, - .field_opt_bitmap = 0xA002800000000000, + .field_opt_bitmap = 0xB00740BC00000000, .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 5, - .field_list = { - [1] = 1, - [6] = 2, - [8] = 3, - [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [34] = 18, + [35] = 6, + [36] = 19, + [37] = 7, + [38] = 20, + [39] = 8, + [40] = 21, + [41] = 9, + [42] = 22, + [43] = 10, + [44] = 23, + [45] = 11, + [46] = 24, + [47] = 12, + [48] = 25, + [49] = 13, + [50] = 26, + [51] = 14, + [52] = 27, + [104] = 28, + [106] = 29, + [108] = 30, + [110] = 31, }, }, - [90] = { + [123] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3886,7 +5344,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [10] = 4, }, }, - [91] = { + [124] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3902,12 +5360,12 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [108] = 5, - [112] = 6, - [116] = 7, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [92] = { + [125] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3923,12 +5381,12 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [109] = 5, - [113] = 6, - [117] = 7, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [93] = { + [126] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3945,15 +5403,15 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [94] = { + [127] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3969,17 +5427,17 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, }, }, - [95] = { + [128] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3995,19 +5453,19 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, }, }, - [96] = { + [129] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4024,20 +5482,20 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [97] = { + [130] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4054,22 +5512,22 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [98] = { + [131] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4086,20 +5544,20 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [99] = { + [132] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4116,22 +5574,22 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [100] = { + [133] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4149,23 +5607,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [101] = { + [134] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4183,25 +5641,25 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [102] = { + [135] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4217,18 +5675,18 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 5, - [84] = 6, - [86] = 7, - [88] = 8, - [90] = 9, - [92] = 10, - [94] = 11, - [96] = 12, - [98] = 13, + [85] = 5, + [87] = 6, + [89] = 7, + [91] = 8, + [93] = 9, + [95] = 10, + [97] = 11, + [99] = 12, + [101] = 13, }, }, - [103] = { + [136] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4244,13 +5702,13 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 5, - [102] = 6, - [104] = 7, - [106] = 8, + [103] = 5, + [105] = 6, + [107] = 7, + [109] = 8, }, }, - [104] = { + [137] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4267,21 +5725,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 8, - [84] = 9, - [86] = 10, - [88] = 11, - [90] = 12, - [92] = 13, - [94] = 14, - [96] = 15, - [98] = 16, - [108] = 5, - [112] = 6, - [116] = 7, + [85] = 8, + [87] = 9, + [89] = 10, + [91] = 11, + [93] = 12, + [95] = 13, + [97] = 14, + [99] = 15, + [101] = 16, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [105] = { + [138] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4298,16 +5756,16 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 8, - [102] = 9, - [104] = 10, - [106] = 11, - [108] = 5, - [112] = 6, - [116] = 7, + [103] = 8, + [105] = 9, + [107] = 10, + [109] = 11, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [106] = { + [139] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4324,21 +5782,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 8, - [84] = 9, - [86] = 10, - [88] = 11, - [90] = 12, - [92] = 13, - [94] = 14, - [96] = 15, - [98] = 16, - [109] = 5, - [113] = 6, - [117] = 7, + [85] = 8, + [87] = 9, + [89] = 10, + [91] = 11, + [93] = 12, + [95] = 13, + [97] = 14, + [99] = 15, + [101] = 16, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [107] = { + [140] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4355,16 +5813,16 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 8, - [102] = 9, - [104] = 10, - [106] = 11, - [109] = 5, - [113] = 6, - [117] = 7, + [103] = 8, + [105] = 9, + [107] = 10, + [109] = 11, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [108] = { + [141] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4382,24 +5840,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 11, - [84] = 12, - [86] = 13, - [88] = 14, - [90] = 15, - [92] = 16, - [94] = 17, - [96] = 18, - [98] = 19, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [85] = 11, + [87] = 12, + [89] = 13, + [91] = 14, + [93] = 15, + [95] = 16, + [97] = 17, + [99] = 18, + [101] = 19, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [109] = { + [142] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4417,19 +5875,19 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 11, - [102] = 12, - [104] = 13, - [106] = 14, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [103] = 11, + [105] = 12, + [107] = 13, + [109] = 14, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [110] = { + [143] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4446,26 +5904,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [82] = 13, - [84] = 14, - [86] = 15, - [88] = 16, - [90] = 17, - [92] = 18, - [94] = 19, - [96] = 20, - [98] = 21, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [85] = 13, + [87] = 14, + [89] = 15, + [91] = 16, + [93] = 17, + [95] = 18, + [97] = 19, + [99] = 20, + [101] = 21, }, }, - [111] = { + [144] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4482,28 +5940,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [82] = 15, - [84] = 16, - [86] = 17, - [88] = 18, - [90] = 19, - [92] = 20, - [94] = 21, - [96] = 22, - [98] = 23, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [85] = 15, + [87] = 16, + [89] = 17, + [91] = 18, + [93] = 19, + [95] = 20, + [97] = 21, + [99] = 22, + [101] = 23, }, }, - [112] = { + [145] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4520,21 +5978,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, }, }, - [113] = { + [146] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4551,23 +6009,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, }, }, - [114] = { + [147] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4585,29 +6043,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [82] = 16, - [84] = 17, - [86] = 18, - [88] = 19, - [90] = 20, - [92] = 21, - [94] = 22, - [96] = 23, - [98] = 24, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [85] = 16, + [87] = 17, + [89] = 18, + [91] = 19, + [93] = 20, + [95] = 21, + [97] = 22, + [99] = 23, + [101] = 24, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [115] = { + [148] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4625,31 +6083,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [82] = 18, - [84] = 19, - [86] = 20, - [88] = 21, - [90] = 22, - [92] = 23, - [94] = 24, - [96] = 25, - [98] = 26, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [85] = 18, + [87] = 19, + [89] = 20, + [91] = 21, + [93] = 22, + [95] = 23, + [97] = 24, + [99] = 25, + [101] = 26, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [116] = { + [149] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4667,24 +6125,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [100] = 16, - [102] = 17, - [104] = 18, - [106] = 19, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [103] = 16, + [105] = 17, + [107] = 18, + [109] = 19, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [117] = { + [150] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4702,26 +6160,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [100] = 18, - [102] = 19, - [104] = 20, - [106] = 21, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [103] = 18, + [105] = 19, + [107] = 20, + [109] = 21, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [118] = { + [151] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4739,29 +6197,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [82] = 16, - [84] = 17, - [86] = 18, - [88] = 19, - [90] = 20, - [92] = 21, - [94] = 22, - [96] = 23, - [98] = 24, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [85] = 16, + [87] = 17, + [89] = 18, + [91] = 19, + [93] = 20, + [95] = 21, + [97] = 22, + [99] = 23, + [101] = 24, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [119] = { + [152] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4779,31 +6237,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [82] = 18, - [84] = 19, - [86] = 20, - [88] = 21, - [90] = 22, - [92] = 23, - [94] = 24, - [96] = 25, - [98] = 26, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [85] = 18, + [87] = 19, + [89] = 20, + [91] = 21, + [93] = 22, + [95] = 23, + [97] = 24, + [99] = 25, + [101] = 26, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [120] = { + [153] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4821,24 +6279,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [100] = 16, - [102] = 17, - [104] = 18, - [106] = 19, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [103] = 16, + [105] = 17, + [107] = 18, + [109] = 19, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [121] = { + [154] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4856,26 +6314,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [100] = 18, - [102] = 19, - [104] = 20, - [106] = 21, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [103] = 18, + [105] = 19, + [107] = 20, + [109] = 21, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [122] = { + [155] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4894,32 +6352,32 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [82] = 19, - [84] = 20, - [86] = 21, - [88] = 22, - [90] = 23, - [92] = 24, - [94] = 25, - [96] = 26, - [98] = 27, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [85] = 19, + [87] = 20, + [89] = 21, + [91] = 22, + [93] = 23, + [95] = 24, + [97] = 25, + [99] = 26, + [101] = 27, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [123] = { + [156] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4938,34 +6396,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [82] = 21, - [84] = 22, - [86] = 23, - [88] = 24, - [90] = 25, - [92] = 26, - [94] = 27, - [96] = 28, - [98] = 29, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [85] = 21, + [87] = 22, + [89] = 23, + [91] = 24, + [93] = 25, + [95] = 26, + [97] = 27, + [99] = 28, + [101] = 29, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [124] = { + [157] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4984,27 +6442,27 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [100] = 19, - [102] = 20, - [104] = 21, - [106] = 22, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [103] = 19, + [105] = 20, + [107] = 21, + [109] = 22, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [125] = { + [158] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5023,29 +6481,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [100] = 21, - [102] = 22, - [104] = 23, - [106] = 24, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [103] = 21, + [105] = 22, + [107] = 23, + [109] = 24, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [126] = { + [159] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5063,25 +6521,25 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [127] = { + [160] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5099,27 +6557,27 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [128] = { + [161] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5141,25 +6599,25 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [129] = { + [162] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5181,27 +6639,27 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [130] = { + [163] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5220,33 +6678,33 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [131] = { + [164] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5265,35 +6723,35 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [132] = { + [165] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5312,35 +6770,35 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [133] = { + [166] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5359,37 +6817,37 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [134] = { + [167] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5412,33 +6870,33 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [135] = { + [168] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5461,35 +6919,35 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [136] = { + [169] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5512,35 +6970,35 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [137] = { + [170] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5563,37 +7021,37 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [138] = { + [171] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5612,34 +7070,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 21, - [85] = 22, - [87] = 23, - [89] = 24, - [91] = 25, - [93] = 26, - [95] = 27, - [97] = 28, - [99] = 29, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 21, + [88] = 22, + [90] = 23, + [92] = 24, + [94] = 25, + [96] = 26, + [98] = 27, + [100] = 28, + [102] = 29, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [139] = { + [172] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5658,36 +7116,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [83] = 23, - [85] = 24, - [87] = 25, - [89] = 26, - [91] = 27, - [93] = 28, - [95] = 29, - [97] = 30, - [99] = 31, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [86] = 23, + [88] = 24, + [90] = 25, + [92] = 26, + [94] = 27, + [96] = 28, + [98] = 29, + [100] = 30, + [102] = 31, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [140] = { + [173] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5706,29 +7164,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 21, - [102] = 14, - [103] = 22, - [104] = 15, - [105] = 23, - [106] = 16, - [107] = 24, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 21, + [105] = 14, + [106] = 22, + [107] = 15, + [108] = 23, + [109] = 16, + [110] = 24, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [141] = { + [174] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5747,31 +7205,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [101] = 23, - [102] = 16, - [103] = 24, - [104] = 17, - [105] = 25, - [106] = 18, - [107] = 26, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [104] = 23, + [105] = 16, + [106] = 24, + [107] = 17, + [108] = 25, + [109] = 18, + [110] = 26, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [142] = { + [175] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5794,34 +7252,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 24, - [85] = 25, - [87] = 26, - [89] = 27, - [91] = 28, - [93] = 29, - [95] = 30, - [97] = 31, - [99] = 32, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 24, + [88] = 25, + [90] = 26, + [92] = 27, + [94] = 28, + [96] = 29, + [98] = 30, + [100] = 31, + [102] = 32, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [143] = { + [176] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5844,36 +7302,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [83] = 26, - [85] = 27, - [87] = 28, - [89] = 29, - [91] = 30, - [93] = 31, - [95] = 32, - [97] = 33, - [99] = 34, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [86] = 26, + [88] = 27, + [90] = 28, + [92] = 29, + [94] = 30, + [96] = 31, + [98] = 32, + [100] = 33, + [102] = 34, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [144] = { + [177] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5896,29 +7354,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 24, - [102] = 14, - [103] = 25, - [104] = 15, - [105] = 26, - [106] = 16, - [107] = 27, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 24, + [105] = 14, + [106] = 25, + [107] = 15, + [108] = 26, + [109] = 16, + [110] = 27, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [145] = { + [178] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5941,31 +7399,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [101] = 26, - [102] = 16, - [103] = 27, - [104] = 17, - [105] = 28, - [106] = 18, - [107] = 29, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [104] = 26, + [105] = 16, + [106] = 27, + [107] = 17, + [108] = 28, + [109] = 18, + [110] = 29, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [146] = { + [179] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5985,42 +7443,42 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [83] = 29, - [85] = 30, - [87] = 31, - [89] = 32, - [91] = 33, - [93] = 34, - [95] = 35, - [97] = 36, - [99] = 37, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [86] = 29, + [88] = 30, + [90] = 31, + [92] = 32, + [94] = 33, + [96] = 34, + [98] = 35, + [100] = 36, + [102] = 37, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [147] = { + [180] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6040,44 +7498,44 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [148] = { + [181] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6097,44 +7555,44 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [149] = { + [182] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6154,46 +7612,46 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [83] = 33, - [85] = 34, - [87] = 35, - [89] = 36, - [91] = 37, - [93] = 38, - [95] = 39, - [97] = 40, - [99] = 41, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [86] = 33, + [88] = 34, + [90] = 35, + [92] = 36, + [94] = 37, + [96] = 38, + [98] = 39, + [100] = 40, + [102] = 41, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [150] = { + [183] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6213,37 +7671,37 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [100] = 13, - [101] = 29, - [102] = 14, - [103] = 30, - [104] = 15, - [105] = 31, - [106] = 16, - [107] = 32, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [103] = 13, + [104] = 29, + [105] = 14, + [106] = 30, + [107] = 15, + [108] = 31, + [109] = 16, + [110] = 32, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [151] = { + [184] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6263,39 +7721,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 15, - [101] = 31, - [102] = 16, - [103] = 32, - [104] = 17, - [105] = 33, - [106] = 18, - [107] = 34, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 15, + [104] = 31, + [105] = 16, + [106] = 32, + [107] = 17, + [108] = 33, + [109] = 18, + [110] = 34, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [152] = { + [185] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6315,39 +7773,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 31, - [102] = 14, - [103] = 32, - [104] = 15, - [105] = 33, - [106] = 16, - [107] = 34, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 31, + [105] = 14, + [106] = 32, + [107] = 15, + [108] = 33, + [109] = 16, + [110] = 34, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [153] = { + [186] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6367,41 +7825,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [100] = 15, - [101] = 33, - [102] = 16, - [103] = 34, - [104] = 17, - [105] = 35, - [106] = 18, - [107] = 36, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [103] = 15, + [104] = 33, + [105] = 16, + [106] = 34, + [107] = 17, + [108] = 35, + [109] = 18, + [110] = 36, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [154] = { + [187] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6425,42 +7883,42 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [83] = 32, - [85] = 33, - [87] = 34, - [89] = 35, - [91] = 36, - [93] = 37, - [95] = 38, - [97] = 39, - [99] = 40, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [86] = 32, + [88] = 33, + [90] = 34, + [92] = 35, + [94] = 36, + [96] = 37, + [98] = 38, + [100] = 39, + [102] = 40, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [155] = { + [188] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6484,44 +7942,44 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [83] = 34, - [85] = 35, - [87] = 36, - [89] = 37, - [91] = 38, - [93] = 39, - [95] = 40, - [97] = 41, - [99] = 42, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [86] = 34, + [88] = 35, + [90] = 36, + [92] = 37, + [94] = 38, + [96] = 39, + [98] = 40, + [100] = 41, + [102] = 42, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [156] = { + [189] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6545,44 +8003,44 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 34, - [85] = 35, - [87] = 36, - [89] = 37, - [91] = 38, - [93] = 39, - [95] = 40, - [97] = 41, - [99] = 42, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 34, + [88] = 35, + [90] = 36, + [92] = 37, + [94] = 38, + [96] = 39, + [98] = 40, + [100] = 41, + [102] = 42, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [157] = { + [190] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6606,46 +8064,46 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [83] = 36, - [85] = 37, - [87] = 38, - [89] = 39, - [91] = 40, - [93] = 41, - [95] = 42, - [97] = 43, - [99] = 44, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [86] = 36, + [88] = 37, + [90] = 38, + [92] = 39, + [94] = 40, + [96] = 41, + [98] = 42, + [100] = 43, + [102] = 44, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [158] = { + [191] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6669,37 +8127,37 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [100] = 13, - [101] = 32, - [102] = 14, - [103] = 33, - [104] = 15, - [105] = 34, - [106] = 16, - [107] = 35, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [103] = 13, + [104] = 32, + [105] = 14, + [106] = 33, + [107] = 15, + [108] = 34, + [109] = 16, + [110] = 35, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [159] = { + [192] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6723,39 +8181,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [100] = 15, - [101] = 34, - [102] = 16, - [103] = 35, - [104] = 17, - [105] = 36, - [106] = 18, - [107] = 37, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [103] = 15, + [104] = 34, + [105] = 16, + [106] = 35, + [107] = 17, + [108] = 36, + [109] = 18, + [110] = 37, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [160] = { + [193] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6779,39 +8237,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 34, - [102] = 14, - [103] = 35, - [104] = 15, - [105] = 36, - [106] = 16, - [107] = 37, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 34, + [105] = 14, + [106] = 35, + [107] = 15, + [108] = 36, + [109] = 16, + [110] = 37, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [161] = { + [194] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6835,41 +8293,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [100] = 15, - [101] = 36, - [102] = 16, - [103] = 37, - [104] = 17, - [105] = 38, - [106] = 18, - [107] = 39, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [103] = 15, + [104] = 36, + [105] = 16, + [106] = 37, + [107] = 17, + [108] = 38, + [109] = 18, + [110] = 39, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [162] = { + [195] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6887,20 +8345,20 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, }, } }; diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h new file mode 100644 index 0000000000..14974e466a --- /dev/null +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h @@ -0,0 +1,88 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2014-2025 Broadcom + * All rights reserved. + */ + +#ifndef ULP_TEMPLATE_DB_DEFS_H_ +#define ULP_TEMPLATE_DB_DEFS_H_ + +#define BNXT_ULP_REGFILE_MAX_SZ 113 +#define BNXT_ULP_MAX_NUM_DEVICES 5 +#define BNXT_ULP_LOG2_MAX_NUM_DEV 2.32192809488736 +#define BNXT_ULP_GEN_TBL_MAX_SZ 66 +#define BNXT_ULP_ALLOCATOR_TBL_MAX_SZ 2 +#define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 196 +#define BNXT_ULP_ACT_MATCH_LIST_MAX_SZ 21 +#define BNXT_ULP_APP_RESOURCE_RESV_LIST_MAX_SZ 0 +#define BNXT_ULP_GLB_RESOURCE_TBL_MAX_SZ 51 +#define BNXT_ULP_APP_GLB_RESOURCE_TBL_MAX_SZ 0 +#define BNXT_ULP_RESOURCE_RESV_LIST_MAX_SZ 73 +#define BNXT_ULP_APP_CAP_TBL_MAX_SZ 3 +#define BNXT_ULP_COND_GOTO_REJECT 1023 +#define BNXT_ULP_COND_GOTO_RF 0x10000 +#define BNXT_ULP_APP_ID_CONFIG 0 +#define BNXT_ULP_GLB_FIELD_TBL_SIZE 132 +#define BNXT_ULP_GLB_SIG_TBL_SIZE 1 +#define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 9 +#define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 99 +#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 683 +#define ULP_WH_PLUS_CLASS_KEY_EXT_LIST_SIZE 0 +#define ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE 29 +#define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 657 +#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 50 +#define ULP_WH_PLUS_CLASS_COND_OPER_LIST_SIZE 0 +#define ULP_THOR_CLASS_TMPL_LIST_SIZE 9 +#define ULP_THOR_CLASS_TBL_LIST_SIZE 219 +#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 944 +#define ULP_THOR_CLASS_KEY_EXT_LIST_SIZE 794 +#define ULP_THOR_CLASS_IDENT_LIST_SIZE 68 +#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 1322 +#define ULP_THOR_CLASS_COND_LIST_SIZE 4978 +#define ULP_THOR_CLASS_COND_OPER_LIST_SIZE 17 +#define ULP_THOR2_CLASS_TMPL_LIST_SIZE 9 +#define ULP_THOR2_CLASS_TBL_LIST_SIZE 232 +#define ULP_THOR2_CLASS_KEY_INFO_LIST_SIZE 854 +#define ULP_THOR2_CLASS_KEY_EXT_LIST_SIZE 699 +#define ULP_THOR2_CLASS_IDENT_LIST_SIZE 80 +#define ULP_THOR2_CLASS_RESULT_FIELD_LIST_SIZE 2035 +#define ULP_THOR2_CLASS_COND_LIST_SIZE 4355 +#define ULP_THOR2_CLASS_COND_OPER_LIST_SIZE 31 +#define ULP_WH_PLUS_ACT_TMPL_LIST_SIZE 13 +#define ULP_WH_PLUS_ACT_TBL_LIST_SIZE 155 +#define ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE 49 +#define ULP_WH_PLUS_ACT_KEY_EXT_LIST_SIZE 0 +#define ULP_WH_PLUS_ACT_IDENT_LIST_SIZE 20 +#define ULP_WH_PLUS_ACT_RESULT_FIELD_LIST_SIZE 995 +#define ULP_WH_PLUS_ACT_COND_LIST_SIZE 134 +#define ULP_WH_PLUS_ACT_COND_OPER_LIST_SIZE 6 +#define ULP_THOR_ACT_TMPL_LIST_SIZE 13 +#define ULP_THOR_ACT_TBL_LIST_SIZE 104 +#define ULP_THOR_ACT_KEY_INFO_LIST_SIZE 83 +#define ULP_THOR_ACT_KEY_EXT_LIST_SIZE 5 +#define ULP_THOR_ACT_IDENT_LIST_SIZE 19 +#define ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE 416 +#define ULP_THOR_ACT_COND_LIST_SIZE 90 +#define ULP_THOR_ACT_COND_OPER_LIST_SIZE 0 +#define ULP_THOR2_ACT_TMPL_LIST_SIZE 13 +#define ULP_THOR2_ACT_TBL_LIST_SIZE 145 +#define ULP_THOR2_ACT_KEY_INFO_LIST_SIZE 120 +#define ULP_THOR2_ACT_KEY_EXT_LIST_SIZE 5 +#define ULP_THOR2_ACT_IDENT_LIST_SIZE 46 +#define ULP_THOR2_ACT_RESULT_FIELD_LIST_SIZE 541 +#define ULP_THOR2_ACT_COND_LIST_SIZE 103 +#define ULP_THOR2_ACT_COND_OPER_LIST_SIZE 0 + +enum bnxt_ulp_df_tpl { + BNXT_ULP_DF_TPL_DEFAULT_UPLINK_PORT = 3, + BNXT_ULP_DF_TPL_DEFAULT_VFR = 4 +}; + +enum bnxt_ulp_template_id { + BNXT_ULP_TEMPLATE_PROMISCUOUS_ENABLE = 5, + BNXT_ULP_TEMPLATE_PROMISCUOUS_DISABLE = 6, + BNXT_ULP_TEMPLATE_GROUP_MISS_ACTION = 7, + BNXT_ULP_TEMPLATE_HOT_UPGRADE = 8 +}; + +#endif + diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h index 7d92096543..87e24c37c2 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h @@ -1881,9 +1881,9 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_L2_CTXT_PRI_APP = 140, ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL = 1, ULP_THOR2_SYM_PROF_TCAM_PRI_GRPCATCHALL = 1, - ULP_THOR2_SYM_PROF_TCAM_PRI_APP = 10, - ULP_THOR2_SYM_PROF_TCAM_PRI_L4 = 10, - ULP_THOR2_SYM_PROF_TCAM_PRI_L3 = 8, + ULP_THOR2_SYM_PROF_TCAM_PRI_APP = 12, + ULP_THOR2_SYM_PROF_TCAM_PRI_L4 = 12, + ULP_THOR2_SYM_PROF_TCAM_PRI_L3 = 10, ULP_THOR2_SYM_PROF_TCAM_PRI_L2 = 4, ULP_THOR2_SYM_PKT_TYPE_IGNORE = 0, ULP_THOR2_SYM_PKT_TYPE_L2 = 0, diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_field.h b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_field.h index 900217d605..fd561889c5 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_field.h +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_field.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -29,6 +29,7 @@ enum bnxt_ulp_glb_hf { BNXT_ULP_GLB_HF_ID_I_GENEVE_RSVD1, BNXT_ULP_GLB_HF_ID_T_GRE_VER, BNXT_ULP_GLB_HF_ID_T_GRE_PROTO_TYPE, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY, BNXT_ULP_GLB_HF_ID_O_ICMP_TYPE, BNXT_ULP_GLB_HF_ID_I_ICMP_TYPE, BNXT_ULP_GLB_HF_ID_O_ICMP_CODE, @@ -75,6 +76,8 @@ enum bnxt_ulp_glb_hf { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR, BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR, BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR, + BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL, + BNXT_ULP_GLB_HF_ID_T_MPLS_TTL, BNXT_ULP_GLB_HF_ID_O_SRV6_NEXT_HDR, BNXT_ULP_GLB_HF_ID_I_SRV6_NEXT_HDR, BNXT_ULP_GLB_HF_ID_O_SRV6_HDR_LEN, diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c index 268aacedcc..a9be50a9db 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -85,7 +85,7 @@ const struct bnxt_ulp_generic_tbl_params ulp_wh_plus_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_MAC_ADDR_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 512, + .result_num_entries = 2048, .result_num_bytes = 9, .key_num_bytes = 13, .partial_key_num_bytes = 0, @@ -97,7 +97,7 @@ const struct bnxt_ulp_generic_tbl_params ulp_wh_plus_generic_tbl_params[] = { BNXT_ULP_DIRECTION_EGRESS] = { .name = "EGRESS GENERIC_TABLE_MAC_ADDR_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 512, + .result_num_entries = 2048, .result_num_bytes = 9, .key_num_bytes = 13, .partial_key_num_bytes = 0, @@ -752,6 +752,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_wh_plus_generic_tbl_params[] = { .num_buckets = 0, .hash_tbl_entries = 0, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, } }; @@ -832,7 +880,7 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_MAC_ADDR_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 512, + .result_num_entries = 2048, .result_num_bytes = 9, .key_num_bytes = 14, .partial_key_num_bytes = 0, @@ -1499,6 +1547,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor_generic_tbl_params[] = { .num_buckets = 0, .hash_tbl_entries = 0, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, } }; @@ -1579,7 +1675,7 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_MAC_ADDR_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 512, + .result_num_entries = 2048, .result_num_bytes = 12, .key_num_bytes = 17, .partial_key_num_bytes = 0, @@ -1651,13 +1747,13 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_SOURCE_PROPERTY_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 0, - .result_num_bytes = 0, - .key_num_bytes = 0, + .result_num_entries = 4096, + .result_num_bytes = 8, + .key_num_bytes = 11, .partial_key_num_bytes = 0, - .num_buckets = 0, - .hash_tbl_entries = 0, - .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + .num_buckets = 4, + .hash_tbl_entries = 8192, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE }, [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE << 1 | BNXT_ULP_DIRECTION_EGRESS] = { @@ -1867,13 +1963,13 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_L2_ENCAP_REC_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 0, - .result_num_bytes = 0, - .key_num_bytes = 0, + .result_num_entries = 4096, + .result_num_bytes = 6, + .key_num_bytes = 15, .partial_key_num_bytes = 0, - .num_buckets = 0, - .hash_tbl_entries = 0, - .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + .num_buckets = 4, + .hash_tbl_entries = 8192, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE }, [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_ENCAP_REC_CACHE << 1 | BNXT_ULP_DIRECTION_EGRESS] = { @@ -1903,13 +1999,13 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { BNXT_ULP_DIRECTION_EGRESS] = { .name = "EGRESS GENERIC_TABLE_SRV6_ENCAP_REC_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 0, - .result_num_bytes = 0, - .key_num_bytes = 0, + .result_num_entries = 2048, + .result_num_bytes = 6, + .key_num_bytes = 87, .partial_key_num_bytes = 0, - .num_buckets = 0, - .hash_tbl_entries = 0, - .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + .num_buckets = 4, + .hash_tbl_entries = 8192, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE }, [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_RSS_PARAMS << 1 | BNXT_ULP_DIRECTION_INGRESS] = { @@ -2132,8 +2228,8 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { .name = "INGRESS GENERIC_TABLE_TUNNEL_GPARSE_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, .result_num_entries = 64, - .result_num_bytes = 10, - .key_num_bytes = 1, + .result_num_bytes = 13, + .key_num_bytes = 2, .partial_key_num_bytes = 0, .num_buckets = 4, .hash_tbl_entries = 256, @@ -2246,6 +2342,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { .num_buckets = 0, .hash_tbl_entries = 0, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 2048, + .result_num_bytes = 9, + .key_num_bytes = 2, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 8, + .result_num_bytes = 4, + .key_num_bytes = 1, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, } }; @@ -2567,6 +2711,7 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { .max_flow_priority = 0, .vxlan_port = 4789, .vxlan_ip_port = 0, + .feature_bits = BNXT_ULP_FEATURE_BIT_NON_VFR_MODE, .default_class_bits = 0, .default_act_bits = BNXT_ULP_ACT_BIT_NON_GENERIC }, @@ -2584,7 +2729,8 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { .feature_bits = BNXT_ULP_FEATURE_BIT_PORT_DMAC | BNXT_ULP_FEATURE_BIT_PARENT_DMAC | BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW | - BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT, + BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT | + BNXT_ULP_FEATURE_BIT_NON_VFR_MODE, .default_class_bits = 0, .default_act_bits = BNXT_ULP_ACT_BIT_GENERIC }, @@ -2599,9 +2745,9 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { .vxlan_port = 0, .vxlan_ip_port = 0, .max_pools = 1, - .em_multiplier = 4, - .num_rx_flows = 524288, - .num_tx_flows = 524288, + .em_multiplier = 16, + .num_rx_flows = 768000, + .num_tx_flows = 768000, .act_rx_max_sz = 256, .act_tx_max_sz = 256, .em_rx_key_max_sz = 112, @@ -2610,7 +2756,14 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { .num_key_recipes_per_dir = 256, .feature_bits = BNXT_ULP_FEATURE_BIT_PORT_DMAC | BNXT_ULP_FEATURE_BIT_PARENT_DMAC | - BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW, + BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW | + BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE | + BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT | + BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN | + BNXT_ULP_FEATURE_BIT_HOT_UPGRADE | + BNXT_ULP_FEATURE_BIT_NON_VFR_MODE | + BNXT_ULP_FEATURE_BIT_UNICAST_ONLY | + BNXT_ULP_FEATURE_BIT_RX_MISS_SEND_TO_PF, .default_class_bits = 0, .default_act_bits = BNXT_ULP_ACT_BIT_GENERIC } @@ -3082,60 +3235,6 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .resource_type = TF_TBL_TYPE_EM_FKB, .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_1, .direction = TF_DIR_RX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_PROF, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_PROF_0, - .direction = TF_DIR_RX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_LKUP, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0, - .direction = TF_DIR_RX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_ACT, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0, - .direction = TF_DIR_RX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_PROF, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_PROF_0, - .direction = TF_DIR_TX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_LKUP, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0, - .direction = TF_DIR_TX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_ACT, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0, - .direction = TF_DIR_TX } }; diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c index faf63b7fef..b8f5b2d537 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_act_tmpl_list[] = { /* act_tid: 1, ingress */ [1] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 25, + .num_tbls = 35, .start_tbl_idx = 0, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, @@ -24,111 +24,111 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_act_tmpl_list[] = { [2] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 25, + .start_tbl_idx = 35, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 23, + .cond_start_idx = 26, .cond_nums = 0 } }, /* act_tid: 3, ingress */ [3] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 12, - .start_tbl_idx = 26, + .start_tbl_idx = 36, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 23, + .cond_start_idx = 26, .cond_nums = 0 } }, /* act_tid: 4, ingress */ [4] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 38, + .start_tbl_idx = 48, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 } }, /* act_tid: 5, ingress */ [5] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 39, + .start_tbl_idx = 49, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 } }, /* act_tid: 6, ingress */ [6] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 23, - .start_tbl_idx = 40, + .start_tbl_idx = 50, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 } }, /* act_tid: 7, egress */ [7] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 48, - .start_tbl_idx = 63, + .num_tbls = 54, + .start_tbl_idx = 73, .reject_info = { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 42, - .cond_nums = 1 } + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 45, + .cond_nums = 0 } }, /* act_tid: 8, egress */ [8] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 111, + .start_tbl_idx = 127, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 } }, /* act_tid: 9, egress */ [9] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 112, + .start_tbl_idx = 128, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 } }, /* act_tid: 10, egress */ [10] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 113, + .start_tbl_idx = 129, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 } }, /* act_tid: 11, egress */ [11] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 114, + .start_tbl_idx = 130, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 } }, /* act_tid: 12, egress */ [12] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 6, - .start_tbl_idx = 115, + .num_tbls = 14, + .start_tbl_idx = 131, .reject_info = { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 91, - .cond_nums = 4 } + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 99, + .cond_nums = 0 } } }; @@ -491,7 +491,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 3, + .cond_false_goto = 13, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, .cond_start_idx = 12, .cond_nums = 1 }, @@ -542,6 +542,214 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .result_bit_size = 64, .result_num_fields = 1 }, + { /* act_tid: 1, , table: source_property_cache.rd_smac */ + .description = "source_property_cache.rd_smac", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 10, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 13, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 6, + .blob_key_bit_size = 85, + .key_bit_size = 85, + .key_num_fields = 3, + .ident_start_idx = 6, + .ident_nums = 1 + }, + { /* act_tid: 1, , table: control.check_smac */ + .description = "control.check_smac", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 4, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 14, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* act_tid: 1, , table: sp_smac_ipv4.0 */ + .description = "sp_smac_ipv4.0", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, + .resource_type = CFA_RSUBTYPE_CMM_ACT, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 15, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_CMM_SRP_HNDL, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .result_start_idx = 71, + .result_bit_size = 0, + .result_num_fields = 0, + .encap_num_fields = 3 + }, + { /* act_tid: 1, , table: control.srp_v4_handle_to_offset */ + .description = "control.srp_v4_handle_to_offset", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 15, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_HANDLE_TO_OFFSET, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_CMM_SRP_HNDL, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 8, + .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_SP_PTR } + }, + { /* act_tid: 1, , table: source_property_cache.wr_smac */ + .description = "source_property_cache.wr_smac", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 15, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 9, + .blob_key_bit_size = 85, + .key_bit_size = 85, + .key_num_fields = 3, + .result_start_idx = 74, + .result_bit_size = 64, + .result_num_fields = 2 + }, + { /* act_tid: 1, , table: l2_encap_rec_cache.rd */ + .description = "l2_encap_rec_cache.rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_ENCAP_REC_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 15, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 12, + .blob_key_bit_size = 117, + .key_bit_size = 117, + .key_num_fields = 6, + .ident_start_idx = 7, + .ident_nums = 1 + }, + { /* act_tid: 1, , table: control.check_l2_encap */ + .description = "control.check_l2_encap", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 4, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 15, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* act_tid: 1, , table: int_srv6_l2_encap_record.untagged_l2 */ + .description = "int_srv6_l2_encap_record.untagged_l2", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, + .resource_type = CFA_RSUBTYPE_CMM_ACT, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .result_start_idx = 76, + .result_bit_size = 0, + .result_num_fields = 0, + .encap_num_fields = 16 + }, + { /* act_tid: 1, , table: control.enc_handle_to_offset */ + .description = "control.enc_handle_to_offset", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_HANDLE_TO_OFFSET, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 8, + .func_dst_opr = BNXT_ULP_RF_IDX_ENCAP_PTR_0 } + }, + { /* act_tid: 1, , table: l2_encap_rec_cache.wr */ + .description = "l2_encap_rec_cache.wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_ENCAP_REC_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 18, + .blob_key_bit_size = 117, + .key_bit_size = 117, + .key_num_fields = 6, + .result_start_idx = 92, + .result_bit_size = 48, + .result_num_fields = 2 + }, { /* act_tid: 1, , table: control.queue_and_rss_test */ .description = "control.queue_and_rss_test", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -551,7 +759,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 13, + .cond_start_idx = 16, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -566,13 +774,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 15, + .cond_start_idx = 18, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_VNIC_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_RSS_VNIC, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 71, + .result_start_idx = 94, .result_bit_size = 0, .result_num_fields = 0 }, @@ -586,13 +794,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 16, + .cond_start_idx = 19, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_VNIC_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_RSS_VNIC, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 71, + .result_start_idx = 94, .result_bit_size = 0, .result_num_fields = 0 }, @@ -607,14 +815,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 17, + .cond_start_idx = 20, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 71, + .result_start_idx = 94, .result_bit_size = 192, .result_num_fields = 18 }, @@ -626,7 +834,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 23, + .cond_start_idx = 26, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -647,7 +855,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 23, + .cond_start_idx = 26, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -660,7 +868,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 23, + .cond_start_idx = 26, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -676,18 +884,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 24, + .cond_start_idx = 27, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 6, + .key_start_idx = 24, .blob_key_bit_size = 5, .key_bit_size = 5, .key_num_fields = 1, - .ident_start_idx = 6, + .ident_start_idx = 8, .ident_nums = 1 }, { /* act_tid: 3, , table: control.mirror_del_exist_chk */ @@ -698,7 +906,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 24, + .cond_start_idx = 27, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -711,7 +919,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 25, + .cond_start_idx = 28, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE, @@ -732,7 +940,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 26, + .cond_start_idx = 29, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -749,7 +957,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 26, + .cond_start_idx = 29, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0, @@ -758,7 +966,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 89, + .result_start_idx = 112, .result_bit_size = 128, .result_num_fields = 12 }, @@ -773,7 +981,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 26, + .cond_start_idx = 29, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL, @@ -781,7 +989,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 101, + .result_start_idx = 124, .result_bit_size = 128, .result_num_fields = 2 }, @@ -793,7 +1001,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -816,7 +1024,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, @@ -824,7 +1032,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 103, + .result_start_idx = 126, .result_bit_size = 192, .result_num_fields = 18 }, @@ -836,7 +1044,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -859,7 +1067,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0, @@ -867,7 +1075,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 121, + .result_start_idx = 144, .result_bit_size = 128, .result_num_fields = 12 }, @@ -882,7 +1090,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, @@ -890,11 +1098,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_INC, - .key_start_idx = 7, + .key_start_idx = 25, .blob_key_bit_size = 5, .key_bit_size = 5, .key_num_fields = 1, - .result_start_idx = 133, + .result_start_idx = 156, .result_bit_size = 37, .result_num_fields = 2 }, @@ -907,7 +1115,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -921,7 +1129,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -934,7 +1142,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 14, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -949,18 +1157,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 29, + .cond_start_idx = 32, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 8, + .key_start_idx = 26, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 7, + .ident_start_idx = 9, .ident_nums = 0 }, { /* act_tid: 6, , table: control.shared_meter_profile_0 */ @@ -971,7 +1179,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 30, + .cond_start_idx = 33, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -988,18 +1196,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 31, + .cond_start_idx = 34, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 9, + .key_start_idx = 27, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 135, + .result_start_idx = 158, .result_bit_size = 97, .result_num_fields = 12 }, @@ -1013,18 +1221,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 31, + .cond_start_idx = 34, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 10, + .key_start_idx = 28, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 7, + .ident_start_idx = 9, .ident_nums = 0 }, { /* act_tid: 6, , table: control.meter_created_chk */ @@ -1035,7 +1243,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 32, + .cond_start_idx = 35, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1051,18 +1259,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 33, + .cond_start_idx = 36, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 11, + .key_start_idx = 29, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 7, + .ident_start_idx = 9, .ident_nums = 11 }, { /* act_tid: 6, , table: control.shared_meter_profile_chk */ @@ -1073,7 +1281,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 33, + .cond_start_idx = 36, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1089,7 +1297,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_METER_PTR_0, @@ -1097,7 +1305,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 147, + .result_start_idx = 170, .result_bit_size = 128, .result_num_fields = 18 }, @@ -1112,7 +1320,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL_MTR, @@ -1120,7 +1328,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 165, + .result_start_idx = 188, .result_bit_size = 128, .result_num_fields = 2 }, @@ -1132,7 +1340,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1154,18 +1362,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 12, + .key_start_idx = 30, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 167, + .result_start_idx = 190, .result_bit_size = 138, .result_num_fields = 5 }, @@ -1179,18 +1387,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 13, + .key_start_idx = 31, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 18, + .ident_start_idx = 20, .ident_nums = 1 }, { /* act_tid: 6, , table: control.mtr_id_to_stats_handle2 */ @@ -1201,7 +1409,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1221,7 +1429,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1236,18 +1444,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 35, + .cond_start_idx = 38, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 14, + .key_start_idx = 32, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 19, + .ident_start_idx = 21, .ident_nums = 1 }, { /* act_tid: 6, , table: control.mtr_prof_ref_cnt_chk */ @@ -1258,7 +1466,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 36, + .cond_start_idx = 39, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE, @@ -1281,18 +1489,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 37, + .cond_start_idx = 40, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 15, + .key_start_idx = 33, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 20, + .ident_start_idx = 22, .ident_nums = 1 }, { /* act_tid: 6, , table: control.shared_mtr_ref_cnt_chk */ @@ -1303,7 +1511,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 38, + .cond_start_idx = 41, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE, @@ -1324,7 +1532,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 39, + .cond_start_idx = 42, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1339,18 +1547,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 39, + .cond_start_idx = 42, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 16, + .key_start_idx = 34, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 21, + .ident_start_idx = 23, .ident_nums = 1 }, { /* act_tid: 6, , table: meter_tbl.update_rd */ @@ -1364,14 +1572,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 40, + .cond_start_idx = 43, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_RD_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_METER_PTR_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 22, + .ident_start_idx = 24, .ident_nums = 13, .result_bit_size = 128 }, @@ -1386,14 +1594,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 42, + .cond_start_idx = 45, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_METER_PTR_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 172, + .result_start_idx = 195, .result_bit_size = 128, .result_num_fields = 18 }, @@ -1407,17 +1615,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 43, + .cond_start_idx = 45, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 17, + .key_start_idx = 35, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 35, + .ident_start_idx = 37, .ident_nums = 1 }, { /* act_tid: 7, , table: control.flow_chain */ @@ -1428,7 +1636,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 44, + .cond_start_idx = 46, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1444,14 +1652,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 45, + .cond_start_idx = 47, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 190, + .result_start_idx = 213, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1463,7 +1671,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 45, + .cond_start_idx = 47, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1486,17 +1694,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 45, + .cond_start_idx = 47, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 18, + .key_start_idx = 36, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 190, + .result_start_idx = 213, .result_bit_size = 64, .result_num_fields = 2 }, @@ -1511,14 +1719,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 45, + .cond_start_idx = 47, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 192, + .result_start_idx = 215, .result_bit_size = 128, .result_num_fields = 2 }, @@ -1530,7 +1738,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 46, + .cond_start_idx = 48, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1550,13 +1758,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 46, + .cond_start_idx = 48, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_STATS_CACHE_TBL_OPC_ALLOC_WR, .tbl_operand = BNXT_ULP_CF_IDX_FID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 194, + .result_start_idx = 217, .result_bit_size = 64, .result_num_fields = 1 }, @@ -1571,17 +1779,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 46, + .cond_start_idx = 48, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 19, + .key_start_idx = 37, .blob_key_bit_size = 5, .key_bit_size = 5, .key_num_fields = 1, - .ident_start_idx = 36, + .ident_start_idx = 38, .ident_nums = 1 }, { /* act_tid: 7, , table: control.mirror */ @@ -1593,7 +1801,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 47, + .cond_start_idx = 49, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1606,7 +1814,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 48, + .cond_start_idx = 50, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1636,7 +1844,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 49, + .cond_start_idx = 51, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1659,13 +1867,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 50, + .cond_start_idx = 52, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 195, + .result_start_idx = 218, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 36 @@ -1681,13 +1889,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 61, + .cond_start_idx = 63, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 231, + .result_start_idx = 254, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 28 @@ -1700,7 +1908,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 72, + .cond_start_idx = 74, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1718,10 +1926,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 29, + .cond_false_goto = 35, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 72, - .cond_nums = 2 }, + .cond_start_idx = 74, + .cond_nums = 3 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, @@ -1734,7 +1942,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 74, + .cond_start_idx = 77, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1749,17 +1957,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 75, + .cond_start_idx = 78, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 20, + .key_start_idx = 38, .blob_key_bit_size = 85, .key_bit_size = 85, .key_num_fields = 3, - .ident_start_idx = 37, + .ident_start_idx = 39, .ident_nums = 1 }, { /* act_tid: 7, , table: control.sp_rec_v4 */ @@ -1768,9 +1976,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 9, + .cond_false_goto = 15, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 76, + .cond_start_idx = 79, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1787,14 +1995,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 77, + .cond_start_idx = 80, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_SRP_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 259, + .result_start_idx = 282, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 3 @@ -1807,7 +2015,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 77, + .cond_start_idx = 80, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1826,20 +2034,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE, .direction = TF_DIR_TX, .execute_info = { - .cond_true_goto = 6, + .cond_true_goto = 12, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 77, + .cond_start_idx = 80, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 23, + .key_start_idx = 41, .blob_key_bit_size = 85, .key_bit_size = 85, .key_num_fields = 3, - .result_start_idx = 262, + .result_start_idx = 285, .result_bit_size = 64, .result_num_fields = 2 }, @@ -1851,19 +2059,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 5, + .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 77, + .cond_start_idx = 80, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 26, + .key_start_idx = 44, .blob_key_bit_size = 181, .key_bit_size = 181, .key_num_fields = 3, - .ident_start_idx = 38, + .ident_start_idx = 40, .ident_nums = 1 }, { /* act_tid: 7, , table: control.sp_rec_v6 */ @@ -1874,7 +2082,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 78, + .cond_start_idx = 81, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1891,14 +2099,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 79, + .cond_start_idx = 82, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_SRP_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 264, + .result_start_idx = 287, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 3 @@ -1911,7 +2119,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 79, + .cond_start_idx = 82, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1933,20 +2141,137 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 79, + .cond_start_idx = 82, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 29, + .key_start_idx = 47, .blob_key_bit_size = 181, .key_bit_size = 181, .key_num_fields = 3, - .result_start_idx = 267, + .result_start_idx = 290, .result_bit_size = 64, .result_num_fields = 2 }, + { /* act_tid: 7, , table: control.srv6_encap_check */ + .description = "control.srv6_encap_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 6, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 82, + .cond_nums = 2 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* act_tid: 7, , table: srv6_encap_rec_cache.rd */ + .description = "srv6_encap_rec_cache.rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SRV6_ENCAP_REC_CACHE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 84, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 50, + .blob_key_bit_size = 693, + .key_bit_size = 693, + .key_num_fields = 7, + .ident_start_idx = 41, + .ident_nums = 1 + }, + { /* act_tid: 7, , table: control.encap_srv6_check */ + .description = "control.encap_srv6_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 23, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 84, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* act_tid: 7, , table: ext_srv6_l2_encap_record.srv6_encap */ + .description = "ext_srv6_l2_encap_record.srv6_encap", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, + .resource_type = CFA_RSUBTYPE_CMM_ACT, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 85, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .result_start_idx = 292, + .result_bit_size = 0, + .result_num_fields = 0, + .encap_num_fields = 38 + }, + { /* act_tid: 7, , table: control.srv6_enc_hndl2offset */ + .description = "control.srv6_enc_hndl2offset", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 86, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_HANDLE_TO_OFFSET, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 8, + .func_dst_opr = BNXT_ULP_RF_IDX_ENCAP_PTR_0 } + }, + { /* act_tid: 7, , table: srv6_encap_rec_cache.wr */ + .description = "srv6_encap_rec_cache.wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SRV6_ENCAP_REC_CACHE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 20, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 86, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 57, + .blob_key_bit_size = 693, + .key_bit_size = 693, + .key_num_fields = 7, + .result_start_idx = 330, + .result_bit_size = 48, + .result_num_fields = 2 + }, { /* act_tid: 7, , table: control.do_vxlan_check */ .description = "control.do_vxlan_check", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -1955,7 +2280,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 79, + .cond_start_idx = 86, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1970,17 +2295,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 80, + .cond_start_idx = 87, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 32, + .key_start_idx = 64, .blob_key_bit_size = 141, .key_bit_size = 141, .key_num_fields = 6, - .ident_start_idx = 39, + .ident_start_idx = 42, .ident_nums = 1 }, { /* act_tid: 7, , table: control.vxlan_v4_encap */ @@ -1991,7 +2316,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 17, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 81, + .cond_start_idx = 88, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2008,14 +2333,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 82, + .cond_start_idx = 89, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 269, + .result_start_idx = 332, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 25 @@ -2028,7 +2353,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 82, + .cond_start_idx = 89, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2050,17 +2375,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 14, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 82, + .cond_start_idx = 89, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 38, + .key_start_idx = 70, .blob_key_bit_size = 141, .key_bit_size = 141, .key_num_fields = 6, - .result_start_idx = 294, + .result_start_idx = 357, .result_bit_size = 64, .result_num_fields = 2 }, @@ -2074,17 +2399,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 82, + .cond_start_idx = 89, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 44, + .key_start_idx = 76, .blob_key_bit_size = 237, .key_bit_size = 237, .key_num_fields = 6, - .ident_start_idx = 40, + .ident_start_idx = 43, .ident_nums = 1 }, { /* act_tid: 7, , table: control.vxlan_v6_encap */ @@ -2095,7 +2420,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 12, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 83, + .cond_start_idx = 90, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2112,14 +2437,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 84, + .cond_start_idx = 91, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 296, + .result_start_idx = 359, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 23 @@ -2132,7 +2457,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 84, + .cond_start_idx = 91, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2154,17 +2479,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 9, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 84, + .cond_start_idx = 91, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 50, + .key_start_idx = 82, .blob_key_bit_size = 237, .key_bit_size = 237, .key_num_fields = 6, - .result_start_idx = 319, + .result_start_idx = 382, .result_bit_size = 64, .result_num_fields = 2 }, @@ -2178,17 +2503,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 84, + .cond_start_idx = 91, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 56, + .key_start_idx = 88, .blob_key_bit_size = 493, .key_bit_size = 493, .key_num_fields = 15, - .ident_start_idx = 41, + .ident_start_idx = 44, .ident_nums = 1 }, { /* act_tid: 7, , table: control.geneve_encap */ @@ -2199,7 +2524,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 85, + .cond_start_idx = 92, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2216,14 +2541,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 86, + .cond_start_idx = 93, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 321, + .result_start_idx = 384, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 31 @@ -2239,14 +2564,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 87, + .cond_start_idx = 94, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 352, + .result_start_idx = 415, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 29 @@ -2259,7 +2584,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 88, + .cond_start_idx = 95, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2281,17 +2606,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 3, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 88, + .cond_start_idx = 95, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 71, + .key_start_idx = 103, .blob_key_bit_size = 493, .key_bit_size = 493, .key_num_fields = 15, - .result_start_idx = 381, + .result_start_idx = 444, .result_bit_size = 64, .result_num_fields = 2 }, @@ -2306,13 +2631,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 88, + .cond_start_idx = 95, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 383, + .result_start_idx = 446, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 11 @@ -2325,7 +2650,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 89, + .cond_start_idx = 96, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2348,14 +2673,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 89, + .cond_start_idx = 96, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 394, + .result_start_idx = 457, .result_bit_size = 192, .result_num_fields = 18 }, @@ -2367,7 +2692,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2388,7 +2713,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2402,7 +2727,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2416,7 +2741,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2430,28 +2755,139 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, - { /* act_tid: 12, , table: mod_record.meta */ - .description = "mod_record.meta", - .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, - .resource_type = CFA_RSUBTYPE_CMM_ACT, + { /* act_tid: 12, , table: control.delete_chk */ + .description = "control.delete_chk", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 4, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 99, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* act_tid: 12, , table: shared_mirror_record.del_chk */ + .description = "shared_mirror_record.del_chk", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR, .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT, + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR, .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 100, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, + .key_start_idx = 118, + .blob_key_bit_size = 5, + .key_bit_size = 5, + .key_num_fields = 1, + .ident_start_idx = 45, + .ident_nums = 1 + }, + { /* act_tid: 12, , table: control.mirror_del_exist_chk */ + .description = "control.mirror_del_exist_chk", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 100, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* act_tid: 12, , table: control.mirror_ref_cnt_chk */ + .description = "control.mirror_ref_cnt_chk", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1023, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 101, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_REF_CNT, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_CC } + }, + { /* act_tid: 12, , table: control.create */ + .description = "control.create", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 102, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* act_tid: 12, , table: mirror_tbl.alloc */ + .description = "mirror_tbl.alloc", + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 102, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, + .track_type = CFA_TRACK_TYPE_SID, + .result_start_idx = 475, + .result_bit_size = 128, + .result_num_fields = 12 + }, + { /* act_tid: 12, , table: mod_record.meta */ + .description = "mod_record.meta", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, + .resource_type = CFA_RSUBTYPE_CMM_ACT, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 102, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, .func_info = { .func_opc = BNXT_ULP_FUNC_OPC_BIT_OR, .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD, @@ -2459,7 +2895,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = ULP_THOR2_SYM_VF_2_VF_META_VAL, .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 }, - .result_start_idx = 412, + .result_start_idx = 487, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 20 @@ -2472,7 +2908,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 102, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2495,14 +2931,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 95, + .cond_start_idx = 102, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 432, + .result_start_idx = 507, .result_bit_size = 128, .result_num_fields = 2 }, @@ -2514,7 +2951,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 96, + .cond_start_idx = 103, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2537,14 +2974,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 96, + .cond_start_idx = 103, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 434, + .result_start_idx = 509, .result_bit_size = 192, .result_num_fields = 18 }, @@ -2553,10 +2991,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_TX, .execute_info = { - .cond_true_goto = 0, - .cond_false_goto = 0, + .cond_true_goto = 1, + .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 96, + .cond_start_idx = 103, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2567,6 +3005,56 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = 32, .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR } + }, + { /* act_tid: 12, , table: mirror_tbl.wr */ + .description = "mirror_tbl.wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 103, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, + .track_type = CFA_TRACK_TYPE_SID, + .result_start_idx = 527, + .result_bit_size = 128, + .result_num_fields = 12 + }, + { /* act_tid: 12, , table: shared_mirror_record.wr */ + .description = "shared_mirror_record.wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 103, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_INC, + .key_start_idx = 119, + .blob_key_bit_size = 5, + .key_bit_size = 5, + .key_num_fields = 1, + .result_start_idx = 539, + .result_bit_size = 37, + .result_num_fields = 2 } }; @@ -2638,7 +3126,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_COUNT }, - /* cond_execute: act_tid: 1, control.queue_and_rss_test:13*/ + /* cond_execute: act_tid: 1, source_property_cache.rd_smac:13*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, + .cond_operand = BNXT_ULP_ACT_BIT_L2_ENCAP + }, + /* cond_execute: act_tid: 1, control.check_smac:14*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: act_tid: 1, control.check_l2_encap:15*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: act_tid: 1, control.queue_and_rss_test:16*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_QUEUE @@ -2647,22 +3150,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_RSS }, - /* cond_execute: act_tid: 1, vnic_interface_rss_config.0:15*/ + /* cond_execute: act_tid: 1, vnic_interface_rss_config.0:18*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_RSS }, - /* cond_execute: act_tid: 1, vnic_interface_queue_config.0:16*/ + /* cond_execute: act_tid: 1, vnic_interface_queue_config.0:19*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_QUEUE }, - /* field_cond: act_tid: 1, cmm_full_act_record.0:17*/ + /* field_cond: act_tid: 1, cmm_full_act_record.0:20*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_DROP }, - /* field_cond: act_tid: 1, cmm_full_act_record.0:18*/ + /* field_cond: act_tid: 1, cmm_full_act_record.0:21*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_RSS @@ -2671,12 +3174,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_QUEUE }, - /* field_cond: act_tid: 1, cmm_full_act_record.0:20*/ + /* field_cond: act_tid: 1, cmm_full_act_record.0:23*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 1, cmm_full_act_record.0:21*/ + /* field_cond: act_tid: 1, cmm_full_act_record.0:24*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_DECAP @@ -2685,27 +3188,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_GENEVE_DECAP }, - /* cond_execute: act_tid: 3, control.delete_chk:23*/ + /* cond_execute: act_tid: 3, control.delete_chk:26*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_DELETE }, - /* cond_execute: act_tid: 3, control.mirror_del_exist_chk:24*/ + /* cond_execute: act_tid: 3, control.mirror_del_exist_chk:27*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 3, control.mirror_ref_cnt_chk:25*/ + /* cond_execute: act_tid: 3, control.mirror_ref_cnt_chk:28*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: act_tid: 3, cmm_stat_record.0:26*/ + /* cond_execute: act_tid: 3, cmm_stat_record.0:29*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_COUNT }, - /* cond_execute: act_tid: 6, control.create_check:27*/ + /* cond_execute: act_tid: 6, control.create_check:30*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET, .cond_operand = BNXT_ULP_ACT_BIT_UPDATE @@ -2714,62 +3217,62 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET, .cond_operand = BNXT_ULP_ACT_BIT_DELETE }, - /* cond_execute: act_tid: 6, meter_profile_tbl_cache.rd:29*/ + /* cond_execute: act_tid: 6, meter_profile_tbl_cache.rd:32*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_METER_PROFILE }, - /* cond_execute: act_tid: 6, control.shared_meter_profile_0:30*/ + /* cond_execute: act_tid: 6, control.shared_meter_profile_0:33*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd:31*/ + /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd:34*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER }, - /* cond_execute: act_tid: 6, control.meter_created_chk:32*/ + /* cond_execute: act_tid: 6, control.meter_created_chk:35*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 6, control.shared_meter_profile_chk:33*/ + /* cond_execute: act_tid: 6, control.shared_meter_profile_chk:36*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 6, control.delete_check:34*/ + /* cond_execute: act_tid: 6, control.delete_check:37*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_DELETE }, - /* cond_execute: act_tid: 6, meter_profile_tbl_cache.del_chk:35*/ + /* cond_execute: act_tid: 6, meter_profile_tbl_cache.del_chk:38*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_METER_PROFILE }, - /* cond_execute: act_tid: 6, control.mtr_prof_ref_cnt_chk:36*/ + /* cond_execute: act_tid: 6, control.mtr_prof_ref_cnt_chk:39*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: act_tid: 6, shared_meter_tbl_cache.del_chk:37*/ + /* cond_execute: act_tid: 6, shared_meter_tbl_cache.del_chk:40*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER }, - /* cond_execute: act_tid: 6, control.shared_mtr_ref_cnt_chk:38*/ + /* cond_execute: act_tid: 6, control.shared_mtr_ref_cnt_chk:41*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd_update:39*/ + /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd_update:42*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER }, - /* cond_execute: act_tid: 6, meter_tbl.update_rd:40*/ + /* cond_execute: act_tid: 6, meter_tbl.update_rd:43*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS @@ -2778,52 +3281,47 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_PROP_NOT_SET, .cond_operand = BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID_UPDATE }, - /* cond_reject: thor2, act_tid: 7 */ - { - .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE - }, - /* cond_execute: act_tid: 7, flow_chain_cache.rd:43*/ + /* cond_execute: act_tid: 7, flow_chain_cache.rd:45*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* cond_execute: act_tid: 7, control.flow_chain:44*/ + /* cond_execute: act_tid: 7, control.flow_chain:46*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, cmm_stat_record.0:45*/ + /* cond_execute: act_tid: 7, cmm_stat_record.0:47*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_COUNT }, - /* cond_execute: act_tid: 7, shared_mirror_record.rd:46*/ + /* cond_execute: act_tid: 7, shared_mirror_record.rd:48*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE }, - /* cond_execute: act_tid: 7, control.mirror:47*/ + /* cond_execute: act_tid: 7, control.mirror:49*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, control.do_mod:48*/ + /* cond_execute: act_tid: 7, control.do_mod:50*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_RF_0 }, - /* cond_execute: act_tid: 7, control.vf_to_vf_calc:49*/ + /* cond_execute: act_tid: 7, control.vf_to_vf_calc:51*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF }, - /* cond_execute: act_tid: 7, mod_record.ttl_0:50*/ + /* cond_execute: act_tid: 7, mod_record.ttl_0:52*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL }, - /* field_cond: act_tid: 7, mod_record.ttl_0:51*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:53*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2832,7 +3330,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.ttl_0:53*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:55*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2841,7 +3339,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.ttl_0:55*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:57*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2850,7 +3348,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.ttl_0:57*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:59*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2859,22 +3357,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.ttl_0:59*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:61*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF }, - /* field_cond: act_tid: 7, mod_record.ttl_0:60*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:62*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* cond_execute: act_tid: 7, mod_record.non_ttl_0:61*/ + /* cond_execute: act_tid: 7, mod_record.non_ttl_0:63*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET, .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:62*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:64*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2883,7 +3381,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:64*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:66*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2892,7 +3390,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:66*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:68*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2901,7 +3399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:68*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:70*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2910,17 +3408,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:70*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:72*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:71*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:73*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* cond_execute: act_tid: 7, control.do_tunnel_check:72*/ + /* cond_execute: act_tid: 7, control.do_tunnel_check:74*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_ENCAP @@ -2929,109 +3427,135 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_GENEVE_ENCAP }, - /* cond_execute: act_tid: 7, control.do_tunnel_vlan_exclusion:74*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, + .cond_operand = BNXT_ULP_ACT_BIT_IP_ENCAP + }, + /* cond_execute: act_tid: 7, control.do_tunnel_vlan_exclusion:77*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN }, - /* cond_execute: act_tid: 7, source_property_cache.rd:75*/ + /* cond_execute: act_tid: 7, source_property_cache.rd:78*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG }, - /* cond_execute: act_tid: 7, control.sp_rec_v4:76*/ + /* cond_execute: act_tid: 7, control.sp_rec_v4:79*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, source_property_ipv6_cache.rd:77*/ + /* cond_execute: act_tid: 7, source_property_ipv6_cache.rd:80*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG }, - /* cond_execute: act_tid: 7, control.sp_rec_v6:78*/ + /* cond_execute: act_tid: 7, control.sp_rec_v6:81*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: act_tid: 7, control.srv6_encap_check:82*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, + .cond_operand = BNXT_ULP_ACT_BIT_IP_ENCAP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* cond_execute: act_tid: 7, control.encap_srv6_check:84*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, control.do_vxlan_check:79*/ + /* cond_execute: act_tid: 7, ext_srv6_l2_encap_record.srv6_encap:85*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* cond_execute: act_tid: 7, control.do_vxlan_check:86*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_ENCAP }, - /* cond_execute: act_tid: 7, vxlan_encap_rec_cache.rd:80*/ + /* cond_execute: act_tid: 7, vxlan_encap_rec_cache.rd:87*/ { .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* cond_execute: act_tid: 7, control.vxlan_v4_encap:81*/ + /* cond_execute: act_tid: 7, control.vxlan_v4_encap:88*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, vxlan_encap_ipv6_rec_cache.rd:82*/ + /* cond_execute: act_tid: 7, vxlan_encap_ipv6_rec_cache.rd:89*/ { .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* cond_execute: act_tid: 7, control.vxlan_v6_encap:83*/ + /* cond_execute: act_tid: 7, control.vxlan_v6_encap:90*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, geneve_encap_rec_cache.rd:84*/ + /* cond_execute: act_tid: 7, geneve_encap_rec_cache.rd:91*/ { .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* cond_execute: act_tid: 7, control.geneve_encap:85*/ + /* cond_execute: act_tid: 7, control.geneve_encap:92*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv4_vxlan:86*/ + /* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv4_vxlan:93*/ { .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv6_geneve:87*/ + /* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv6_geneve:94*/ { .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* cond_execute: act_tid: 7, ext_vtag_encap_record.0:88*/ + /* cond_execute: act_tid: 7, ext_vtag_encap_record.0:95*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN }, - /* field_cond: act_tid: 7, cmm_full_act_record.0:89*/ + /* field_cond: act_tid: 7, cmm_full_act_record.0:96*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, cmm_full_act_record.0:90*/ + /* field_cond: act_tid: 7, cmm_full_act_record.0:97*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF }, - /* cond_reject: thor2, act_tid: 12 */ + /* field_cond: act_tid: 7, cmm_full_act_record.0:98*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_SHARED + .cond_operand = BNXT_ULP_ACT_BIT_L2_DECAP }, + /* cond_execute: act_tid: 12, control.delete_chk:99*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_SAMPLE + .cond_operand = BNXT_ULP_ACT_BIT_DELETE }, + /* cond_execute: act_tid: 12, control.mirror_del_exist_chk:100*/ { - .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_DELETE + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, + /* cond_execute: act_tid: 12, control.mirror_ref_cnt_chk:101*/ { - .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: act_tid: 12, cmm_stat_record.0:95*/ + /* cond_execute: act_tid: 12, cmm_stat_record.0:102*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_COUNT @@ -3168,96 +3692,99 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff} } }, - /* act_tid: 3, , table: shared_mirror_record.del_chk */ + /* act_tid: 1, , table: source_property_cache.rd_smac */ { .field_info_mask = { - .description = "shared_index", - .field_bit_size = 5, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "shared_index", - .field_bit_size = 5, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, - /* act_tid: 3, , table: shared_mirror_record.wr */ { .field_info_mask = { - .description = "shared_index", - .field_bit_size = 5, + .description = "ipv4_src_addr", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "shared_index", - .field_bit_size = 5, + .description = "ipv4_src_addr", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 6, , table: meter_profile_tbl_cache.rd */ { .field_info_mask = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 6, , table: meter_profile_tbl_cache.wr */ + /* act_tid: 1, , table: source_property_cache.wr_smac */ { .field_info_mask = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, - /* act_tid: 6, , table: shared_meter_tbl_cache.rd */ { .field_info_mask = { - .description = "sw_meter_id", + .description = "ipv4_src_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -3268,264 +3795,214 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "sw_meter_id", + .description = "ipv4_src_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */ { .field_info_mask = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 6, , table: shared_meter_tbl_cache.wr */ + /* act_tid: 1, , table: l2_encap_rec_cache.rd */ { .field_info_mask = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, - /* act_tid: 6, , table: shared_meter_tbl_cache.rd1 */ { .field_info_mask = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_o_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_o_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */ { .field_info_mask = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "enc_o_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "enc_o_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */ { .field_info_mask = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_i_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_i_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */ { .field_info_mask = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_i_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_i_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 7, , table: flow_chain_cache.rd */ { .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 7, , table: flow_chain_cache.write */ + /* act_tid: 1, , table: l2_encap_rec_cache.wr */ { .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, - /* act_tid: 7, , table: shared_mirror_record.rd */ { .field_info_mask = { - .description = "shared_index", - .field_bit_size = 5, + .description = "enc_o_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "shared_index", - .field_bit_size = 5, + .description = "enc_o_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 7, , table: source_property_cache.rd */ { .field_info_mask = { - .description = "smac", - .field_bit_size = 48, + .description = "enc_o_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "smac", - .field_bit_size = 48, + .description = "enc_o_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "ipv4_src_addr", - .field_bit_size = 32, + .description = "enc_i_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "ipv4_src_addr", - .field_bit_size = 32, + .description = "enc_i_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "enc_i_vlan_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "enc_i_vlan_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -3549,262 +4026,234 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 7, , table: source_property_cache.wr */ + /* act_tid: 3, , table: shared_mirror_record.del_chk */ { .field_info_mask = { - .description = "smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .description = "shared_index", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "smac", - .field_bit_size = 48, + .description = "shared_index", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff} } }, + /* act_tid: 3, , table: shared_mirror_record.wr */ { .field_info_mask = { - .description = "ipv4_src_addr", - .field_bit_size = 32, + .description = "shared_index", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "ipv4_src_addr", - .field_bit_size = 32, + .description = "shared_index", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} + (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff} } }, + /* act_tid: 6, , table: meter_profile_tbl_cache.rd */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} } }, - /* act_tid: 7, , table: source_property_ipv6_cache.rd */ + /* act_tid: 6, , table: meter_profile_tbl_cache.wr */ { .field_info_mask = { - .description = "smac", - .field_bit_size = 48, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "smac", - .field_bit_size = 48, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} } }, + /* act_tid: 6, , table: shared_meter_tbl_cache.rd */ { .field_info_mask = { - .description = "ipv6_src_addr", - .field_bit_size = 128, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "ipv6_src_addr", - .field_bit_size = 128, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} } }, + /* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} } }, - /* act_tid: 7, , table: source_property_ipv6_cache.wr */ + /* act_tid: 6, , table: shared_meter_tbl_cache.wr */ { .field_info_mask = { - .description = "smac", - .field_bit_size = 48, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "smac", - .field_bit_size = 48, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} } }, + /* act_tid: 6, , table: shared_meter_tbl_cache.rd1 */ { .field_info_mask = { - .description = "ipv6_src_addr", - .field_bit_size = 128, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "ipv6_src_addr", - .field_bit_size = 128, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} } }, + /* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} } }, - /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */ + /* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */ { .field_info_mask = { - .description = "dmac", - .field_bit_size = 48, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "dmac", - .field_bit_size = 48, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} } }, + /* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */ { .field_info_mask = { - .description = "ipv4_dst_addr", + .description = "sw_meter_id", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -3815,101 +4264,85 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "ipv4_dst_addr", + .description = "sw_meter_id", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} } }, + /* act_tid: 7, , table: flow_chain_cache.rd */ { .field_info_mask = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff} } }, + /* act_tid: 7, , table: flow_chain_cache.write */ { .field_info_mask = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff} } }, + /* act_tid: 7, , table: shared_mirror_record.rd */ { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "shared_index", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr1 = { - (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} - } - }, - { - .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tbl_scope", + .description = "shared_index", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff} } }, - /* act_tid: 7, , table: vxlan_encap_rec_cache.wr */ + /* act_tid: 7, , table: source_property_cache.rd */ { .field_info_mask = { - .description = "dmac", + .description = "smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -3922,18 +4355,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "dmac", + .description = "smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, { .field_info_mask = { - .description = "ipv4_dst_addr", + .description = "ipv4_src_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -3944,74 +4377,81 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "ipv4_dst_addr", + .description = "ipv4_src_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff} + (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} } }, { .field_info_mask = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, + /* act_tid: 7, , table: source_property_cache.wr */ { .field_info_mask = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "ipv4_src_addr", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, + .description = "ipv4_src_addr", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} + (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} } }, { @@ -4035,10 +4475,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */ + /* act_tid: 7, , table: source_property_ipv6_cache.rd */ { .field_info_mask = { - .description = "dmac", + .description = "smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4051,18 +4491,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "dmac", + .description = "smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, { .field_info_mask = { - .description = "ipv6_dst_addr", + .description = "ipv6_src_addr", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4085,74 +4525,93 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "ipv6_dst_addr", + .description = "ipv6_src_addr", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff} + (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} } }, { .field_info_mask = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, + /* act_tid: 7, , table: source_property_ipv6_cache.wr */ { .field_info_mask = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "ipv6_src_addr", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, + .description = "ipv6_src_addr", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} + (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} } }, { @@ -4160,16 +4619,23 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { .description = "tbl_scope", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "tbl_scope", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.wr */ + /* act_tid: 7, , table: srv6_encap_rec_cache.rd */ { .field_info_mask = { .description = "dmac", @@ -4230,80 +4696,162 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { }, { .field_info_mask = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "seg_list0", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "seg_list0", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 & 0xff} } }, { .field_info_mask = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "seg_list1", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "seg_list1", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 & 0xff} } }, { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "seg_list2", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, + .description = "seg_list2", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 & 0xff} } }, { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "seg_list3", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "seg_list3", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 & 0xff} } }, - /* act_tid: 7, , table: geneve_encap_rec_cache.rd */ + { + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, + /* act_tid: 7, , table: srv6_encap_rec_cache.wr */ { .field_info_mask = { .description = "dmac", @@ -4330,40 +4878,41 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { }, { .field_info_mask = { - .description = "ipv4_dst_addr", - .field_bit_size = 32, + .description = "ipv6_dst_addr", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "ipv4_dst_addr", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .description = "ipv6_dst_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr2 = { - (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff} } }, { .field_info_mask = { - .description = "ipv6_dst_addr", + .description = "seg_list0", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4386,130 +4935,166 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "ipv6_dst_addr", + .description = "seg_list0", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr2 = { - (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 & 0xff} } }, { .field_info_mask = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "seg_list1", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "seg_list1", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 & 0xff} } }, { .field_info_mask = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "seg_list2", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "seg_list2", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 & 0xff} } }, { .field_info_mask = { - .description = "ver_opt_len_o_c_rsvd0", - .field_bit_size = 16, + .description = "seg_list3", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "ver_opt_len_o_c_rsvd0", - .field_bit_size = 16, + .description = "seg_list3", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 & 0xff} } }, { .field_info_mask = { - .description = "proto_type", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "proto_type", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, + /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */ { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, { .field_info_mask = { - .description = "opt_w0", + .description = "ipv4_dst_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4520,106 +5105,125 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "opt_w0", + .description = "ipv4_dst_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff} + (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff} } }, { .field_info_mask = { - .description = "opt_w1", - .field_bit_size = 32, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w1", - .field_bit_size = 32, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff} + (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} } }, { .field_info_mask = { - .description = "opt_w2", - .field_bit_size = 32, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w2", - .field_bit_size = 32, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff} + (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} } }, { .field_info_mask = { - .description = "opt_w3", - .field_bit_size = 32, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w3", - .field_bit_size = 32, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff} + (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} } }, { .field_info_mask = { - .description = "opt_w4", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, + /* act_tid: 7, , table: vxlan_encap_rec_cache.wr */ + { + .field_info_mask = { + .description = "dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w4", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, { .field_info_mask = { - .description = "opt_w5", + .description = "ipv4_dst_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4630,85 +5234,120 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "opt_w5", + .description = "ipv4_dst_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff} + (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff} } }, { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} } }, - /* act_tid: 7, , table: geneve_encap_rec_cache.wr */ { .field_info_mask = { - .description = "dmac", - .field_bit_size = 48, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, - 0xff, - 0xff, + 0xff} + }, + .field_info_spec = { + .description = "udp_dport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + } + }, + { + .field_info_mask = { + .description = "vni", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "dmac", - .field_bit_size = 48, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} } }, { .field_info_mask = { - .description = "ipv4_dst_addr", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, + /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */ + { + .field_info_mask = { + .description = "dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "ipv4_dst_addr", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .description = "dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr2 = { - (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, { @@ -4738,22 +5377,11 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { .field_info_spec = { .description = "ipv6_dst_addr", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr2 = { (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff} } }, { @@ -4798,166 +5426,201 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { }, { .field_info_mask = { - .description = "ver_opt_len_o_c_rsvd0", - .field_bit_size = 16, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "ver_opt_len_o_c_rsvd0", - .field_bit_size = 16, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} } }, { .field_info_mask = { - .description = "proto_type", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "proto_type", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.wr */ { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, { .field_info_mask = { - .description = "opt_w0", - .field_bit_size = 32, + .description = "ipv6_dst_addr", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w0", - .field_bit_size = 32, + .description = "ipv6_dst_addr", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff} + (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff} } }, { .field_info_mask = { - .description = "opt_w1", - .field_bit_size = 32, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w1", - .field_bit_size = 32, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff} + (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} } }, { .field_info_mask = { - .description = "opt_w2", - .field_bit_size = 32, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w2", - .field_bit_size = 32, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff} + (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} } }, { .field_info_mask = { - .description = "opt_w3", - .field_bit_size = 32, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w3", - .field_bit_size = 32, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff} + (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} } }, { .field_info_mask = { - .description = "opt_w4", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* act_tid: 7, , table: geneve_encap_rec_cache.rd */ + { + .field_info_mask = { + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w4", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, { .field_info_mask = { - .description = "opt_w5", + .description = "ipv4_dst_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4968,97 +5631,764 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "opt_w5", + .description = "ipv4_dst_addr", .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr2 = { + (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "ipv6_dst_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "ipv6_dst_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr2 = { + (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "udp_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff} + (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} } }, { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} } - } -}; - -struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = { + }, { - .description = "vnic_or_vport", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (18 >> 8) & 0xff, - 18 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RSS_VNIC >> 8) & 0xff, - BNXT_ULP_RF_IDX_RSS_VNIC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (1 >> 8) & 0xff, - 1 & 0xff} + .field_info_mask = { + .description = "ver_opt_len_o_c_rsvd0", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, + .field_info_spec = { + .description = "ver_opt_len_o_c_rsvd0", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 & 0xff} + } + }, { - .description = "vnic_or_vport", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (20 >> 8) & 0xff, - 20 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - (ULP_THOR2_SYM_RECYCLE_DST >> 8) & 0xff, - ULP_THOR2_SYM_RECYCLE_DST & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr3 = { - (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff} + .field_info_mask = { + .description = "proto_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, + .field_info_spec = { + .description = "proto_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE & 0xff} + } + }, { - .description = "metadata_data", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (60 >> 8) & 0xff, - 60 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_info_mask = { + .description = "vni", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff} }, + .field_info_spec = { + .description = "vni", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff} + } + }, { - .description = "metadata_data", + .field_info_mask = { + .description = "opt_w0", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (71 >> 8) & 0xff, - 71 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w0", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w2", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w2", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w3", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w3", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w5", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w5", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* act_tid: 7, , table: geneve_encap_rec_cache.wr */ + { + .field_info_mask = { + .description = "dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + } + }, + { + .field_info_mask = { + .description = "ipv4_dst_addr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "ipv4_dst_addr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr2 = { + (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "ipv6_dst_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "ipv6_dst_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr2 = { + (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "udp_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "udp_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + } + }, + { + .field_info_mask = { + .description = "udp_dport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "udp_dport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + } + }, + { + .field_info_mask = { + .description = "ver_opt_len_o_c_rsvd0", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "ver_opt_len_o_c_rsvd0", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "proto_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "proto_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "vni", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "vni", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w0", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w0", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w2", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w2", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w3", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w3", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w5", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w5", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* act_tid: 12, , table: shared_mirror_record.del_chk */ + { + .field_info_mask = { + .description = "shared_index", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "shared_index", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr1 = { + (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff} + } + }, + /* act_tid: 12, , table: shared_mirror_record.wr */ + { + .field_info_mask = { + .description = "shared_index", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "shared_index", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff} + } + } +}; + +struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = { + { + .description = "vnic_or_vport", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (21 >> 8) & 0xff, + 21 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RSS_VNIC >> 8) & 0xff, + BNXT_ULP_RF_IDX_RSS_VNIC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (1 >> 8) & 0xff, + 1 & 0xff} + }, + { + .description = "vnic_or_vport", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (23 >> 8) & 0xff, + 23 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + (ULP_THOR2_SYM_RECYCLE_DST >> 8) & 0xff, + ULP_THOR2_SYM_RECYCLE_DST & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr3 = { + (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff} + }, + { + .description = "metadata_data", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (62 >> 8) & 0xff, + 62 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "metadata_data", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (73 >> 8) & 0xff, + 73 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, BNXT_ULP_RF_IDX_JUMP_META & 0xff}, @@ -5070,8 +6400,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (90 >> 8) & 0xff, - 90 & 0xff, + (97 >> 8) & 0xff, + 97 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -5372,9 +6702,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_JUMP & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { - ULP_THOR2_SYM_META_PROFILE_0}, + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -5875,9 +7206,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_JUMP & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { - ULP_THOR2_SYM_META_PROFILE_0}, + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -6088,13 +7420,179 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { }, /* act_tid: 1, , table: stats_cache_table.0 */ { - .description = "action_handle", - .field_bit_size = 64, + .description = "action_handle", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_CMM_STAT_HNDL >> 8) & 0xff, + BNXT_ULP_RF_IDX_CMM_STAT_HNDL & 0xff} + }, + /* act_tid: 1, , table: sp_smac_ipv4.0 */ + { + .description = "smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + }, + { + .description = "ipv4_src_addr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "reserved", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* act_tid: 1, , table: source_property_cache.wr_smac */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "sp_rec_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} + }, + /* act_tid: 1, , table: int_srv6_l2_encap_record.untagged_l2 */ + { + .description = "ecv_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_VALID_YES} + }, + { + .description = "ecv_custom_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_CUSTOM_EN_YES} + }, + { + .description = "ecv_vtag_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecv_l2_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_L2_EN_YES} + }, + { + .description = "ecv_l3_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecv_l4_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecv_tun_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_ipv4_ctrl", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_smac_ovr", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_vlan_ovr", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_dmac_ovr", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_gre_set_k", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_tun_qos", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_ip_tos_ih", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_ip_ttl_ih", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "enc_eth_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + }, + /* act_tid: 1, , table: l2_encap_rec_cache.wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "enc_rec_ptr", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_CMM_STAT_HNDL >> 8) & 0xff, - BNXT_ULP_RF_IDX_CMM_STAT_HNDL & 0xff} + (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff} }, /* act_tid: 1, , table: vnic_interface_rss_config.0 */ /* act_tid: 1, , table: vnic_interface_queue_config.0 */ @@ -6147,8 +7645,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (17 >> 8) & 0xff, - 17 & 0xff, + (20 >> 8) & 0xff, + 20 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -6166,8 +7664,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (21 >> 8) & 0xff, - 21 & 0xff, + (24 >> 8) & 0xff, + 24 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -6275,13 +7773,19 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .description = "encap_ptr", .field_bit_size = 28, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff} }, { .description = "src_ptr", .field_bit_size = 28, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} }, { .description = "rsvd0", @@ -7153,8 +8657,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (51 >> 8) & 0xff, - 51 & 0xff, + (53 >> 8) & 0xff, + 53 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -7364,8 +8868,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (53 >> 8) & 0xff, - 53 & 0xff, + (55 >> 8) & 0xff, + 55 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -7377,8 +8881,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (55 >> 8) & 0xff, - 55 & 0xff, + (57 >> 8) & 0xff, + 57 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -7390,11 +8894,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (57 >> 8) & 0xff, - 57 & 0xff, + (59 >> 8) & 0xff, + 59 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -7403,8 +8910,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (59 >> 8) & 0xff, - 59 & 0xff, + (61 >> 8) & 0xff, + 61 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -7637,8 +9144,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (62 >> 8) & 0xff, - 62 & 0xff, + (64 >> 8) & 0xff, + 64 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -7759,14 +9266,231 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip_ipv4_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip_ipv4_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_sport_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dport_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "metadata_rsvd", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (66 >> 8) & 0xff, + 66 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "metadata_op", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (68 >> 8) & 0xff, + 68 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "metadata_prof", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (70 >> 8) & 0xff, + 70 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "metadata_data", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (72 >> 8) & 0xff, + 72 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RF_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_RF_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (3 >> 8) & 0xff, + 3 & 0xff} + }, + { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { + (BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { + (BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3_sip_ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { + (BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3_dip_ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_sip_ipv4_en", - .field_bit_size = 1, + .description = "l3_sip_ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { @@ -7778,14 +9502,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip_ipv4_en", - .field_bit_size = 1, + .description = "l3_dip_ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { @@ -7797,14 +9522,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_sport_en", - .field_bit_size = 1, + .description = "l4_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { @@ -7816,14 +9542,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_dport_en", - .field_bit_size = 1, + .description = "l4_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { @@ -7835,299 +9562,451 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, + /* act_tid: 7, , table: sp_smac_ipv4.0 */ { - .description = "metadata_rsvd", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (64 >> 8) & 0xff, - 64 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} }, { - .description = "metadata_op", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "ipv4_src_addr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (66 >> 8) & 0xff, - 66 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} }, { - .description = "metadata_prof", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "reserved", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* act_tid: 7, , table: source_property_cache.wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (68 >> 8) & 0xff, - 68 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} }, { - .description = "metadata_data", + .description = "sp_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (70 >> 8) & 0xff, - 70 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RF_1 >> 8) & 0xff, - BNXT_ULP_RF_IDX_RF_1 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (3 >> 8) & 0xff, - 3 & 0xff} + (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} + }, + /* act_tid: 7, , table: sp_smac_ipv6.0 */ + { + .description = "smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + }, + { + .description = "ipv6_src_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} + }, + { + .description = "reserved", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* act_tid: 7, , table: source_property_ipv6_cache.wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "sp_rec_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} + }, + /* act_tid: 7, , table: ext_srv6_l2_encap_record.srv6_encap */ + { + .description = "ecv_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_VALID_YES} + }, + { + .description = "ecv_custom_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_CUSTOM_EN_YES} + }, + { + .description = "ecv_vtag_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr1 = { + (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff} + }, + { + .description = "ecv_l2_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_L2_EN_YES} + }, + { + .description = "ecv_l3_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr1 = { + (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff} + }, + { + .description = "ecv_l4_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecv_tun_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_TUN_TYPE_GENERIC} + }, + { + .description = "ecust_ipv4_ctrl", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_smac_ovr", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_vlan_ovr", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_dmac_ovr", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_gre_set_k", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_tun_qos", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dmac", + .description = "ecust_ip_tos_ih", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_ip_ttl_ih", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "enc_eth_dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} }, { - .description = "l2_smac", - .field_bit_size = 48, + .description = "enc_o_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC & 0xff}, + (BNXT_ULP_ENC_FIELD_O_VLAN_TCI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_O_VLAN_TCI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_sip_ipv6", - .field_bit_size = 128, + .description = "enc_o_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC & 0xff}, + (BNXT_ULP_ENC_FIELD_O_VLAN_TYPE >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_O_VLAN_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip_ipv6", - .field_bit_size = 128, + .description = "enc_i_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST & 0xff}, + (BNXT_ULP_ENC_FIELD_I_VLAN_TCI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_I_VLAN_TCI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_sip_ipv4", - .field_bit_size = 32, + .description = "enc_i_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff}, + (BNXT_ULP_ENC_FIELD_I_VLAN_TYPE >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_I_VLAN_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip_ipv4", + .description = "enc_ipv6_vtc", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW & 0xff} }, { - .description = "l4_sport", + .description = "enc_ipv6_zero", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "enc_ipv6_proto", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_IPV6_PROTO >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_PROTO & 0xff} }, { - .description = "l4_dport", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .description = "enc_ipv6_ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_TTL & 0xff} }, - /* act_tid: 7, , table: sp_smac_ipv4.0 */ { - .description = "smac", - .field_bit_size = 48, + .description = "enc_ipv6_daddr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff} + }, + { + .description = "enc_generic_size", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GENERIC_SIZE >> 8) & 0xff, + BNXT_ULP_CF_IDX_GENERIC_SIZE & 0xff} + }, + { + .description = "enc_generic_rsvd", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "enc_srv6_next_hdr", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_NEXT_HDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_NEXT_HDR & 0xff} + }, + { + .description = "enc_srv6_hdr_len", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_HDR_LEN >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_HDR_LEN & 0xff} + }, + { + .description = "enc_srv6_routing_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_ROUTING_TYPE >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_ROUTING_TYPE & 0xff} + }, + { + .description = "enc_srv6_seg_left", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LEFT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LEFT & 0xff} }, { - .description = "ipv4_src_addr", - .field_bit_size = 32, + .description = "enc_srv6_last_entry", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_LAST_ENTRY >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_LAST_ENTRY & 0xff} }, { - .description = "reserved", - .field_bit_size = 48, + .description = "enc_srv6_flags", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_FLAGS >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_FLAGS & 0xff} }, - /* act_tid: 7, , table: source_property_cache.wr */ { - .description = "rid", - .field_bit_size = 32, + .description = "enc_srv6_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_TAG >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_TAG & 0xff} }, { - .description = "sp_rec_ptr", - .field_bit_size = 32, + .description = "enc_srv6_seg_list0", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, - BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 & 0xff} }, - /* act_tid: 7, , table: sp_smac_ipv6.0 */ { - .description = "smac", - .field_bit_size = 48, + .description = "enc_srv6_seg_list1", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 & 0xff} }, { - .description = "ipv6_src_addr", + .description = "enc_srv6_seg_list2", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 & 0xff} }, { - .description = "reserved", - .field_bit_size = 16, + .description = "enc_srv6_seg_list3", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 & 0xff} }, - /* act_tid: 7, , table: source_property_ipv6_cache.wr */ + /* act_tid: 7, , table: srv6_encap_rec_cache.wr */ { .description = "rid", .field_bit_size = 32, @@ -8138,13 +10017,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { BNXT_ULP_RF_IDX_RID & 0xff} }, { - .description = "sp_rec_ptr", - .field_bit_size = 32, + .description = "enc_rec_ptr", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, - BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} + (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff} }, /* act_tid: 7, , table: ext_tun_vxlan_encap_record.ipv4_vxlan */ { @@ -9437,8 +11316,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (89 >> 8) & 0xff, - 89 & 0xff, + (96 >> 8) & 0xff, + 96 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -9459,8 +11338,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (98 >> 8) & 0xff, + 98 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_DECAP_FUNC_THRU_L2}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", @@ -9549,6 +11437,79 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* act_tid: 12, , table: mirror_tbl.alloc */ + { + .description = "reserved1", + .field_bit_size = 21, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "arp_relative", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "action_hint", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "sample_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "trunc_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ignore_drop", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "copy_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "mirr_cond", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "act_rec_ptr", + .field_bit_size = 26, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "reserved2", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "samp_cfg", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "padding1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, /* act_tid: 12, , table: mod_record.meta */ { .description = "metadata_en", @@ -9821,6 +11782,108 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* act_tid: 12, , table: mirror_tbl.wr */ + { + .description = "reserved1", + .field_bit_size = 21, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "arp_relative", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "action_hint", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "sample_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "trunc_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ignore_drop", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "copy_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 3} + }, + { + .description = "mirr_cond", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "act_rec_ptr", + .field_bit_size = 26, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} + }, + { + .description = "reserved2", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "samp_cfg", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + { + .description = "padding1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* act_tid: 12, , table: shared_mirror_record.wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "mirror_id", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff} } }; @@ -9865,6 +11928,20 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = { .ident_bit_size = 64, .ident_bit_pos = 54 }, + /* act_tid: 1, , table: source_property_cache.rd_smac */ + { + .description = "sp_rec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_MAIN_SP_PTR, + .ident_bit_size = 32, + .ident_bit_pos = 32 + }, + /* act_tid: 1, , table: l2_encap_rec_cache.rd */ + { + .description = "enc_rec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, /* act_tid: 3, , table: shared_mirror_record.del_chk */ { .description = "rid", @@ -10074,6 +12151,13 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = { .ident_bit_size = 32, .ident_bit_pos = 32 }, + /* act_tid: 7, , table: srv6_encap_rec_cache.rd */ + { + .description = "enc_rec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */ { .description = "enc_rec_ptr", @@ -10094,5 +12178,12 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = { .regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0, .ident_bit_size = 32, .ident_bit_pos = 32 + }, + /* act_tid: 12, , table: shared_mirror_record.del_chk */ + { + .description = "rid", + .regfile_idx = BNXT_ULP_RF_IDX_RID, + .ident_bit_size = 32, + .ident_bit_pos = 0 } }; diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c index 84f836c7a9..83935350b7 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = { /* class_tid: 1, ingress */ [1] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 76, + .num_tbls = 103, .start_tbl_idx = 0, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, @@ -24,60 +24,70 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = { [2] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 49, - .start_tbl_idx = 76, + .start_tbl_idx = 103, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 2125, + .cond_start_idx = 2246, .cond_nums = 0 } }, /* class_tid: 3, ingress */ [3] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 35, - .start_tbl_idx = 125, + .num_tbls = 43, + .start_tbl_idx = 152, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4208, + .cond_start_idx = 4329, .cond_nums = 0 } }, /* class_tid: 4, egress */ [4] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 19, - .start_tbl_idx = 160, + .start_tbl_idx = 195, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 } }, /* class_tid: 5, ingress */ [5] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 1, - .start_tbl_idx = 179, + .num_tbls = 7, + .start_tbl_idx = 214, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 } }, /* class_tid: 6, ingress */ [6] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 1, - .start_tbl_idx = 180, + .num_tbls = 3, + .start_tbl_idx = 221, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4214, + .cond_start_idx = 4350, .cond_nums = 0 } }, /* class_tid: 7, ingress */ [7] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 181, + .start_tbl_idx = 224, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 4352, + .cond_nums = 0 } + }, + /* class_tid: 8, ingress */ + [8] = { + .device_name = BNXT_ULP_DEVICE_ID_THOR2, + .num_tbls = 7, + .start_tbl_idx = 225, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4214, + .cond_start_idx = 4352, .cond_nums = 0 } } }; @@ -106,6 +116,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .ident_start_idx = 0, .ident_nums = 2 }, + { /* class_tid: 1, , table: control.srv6_check */ + .description = "control.srv6_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, + .cond_start_idx = 0, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 1, , table: control.srv6_valid_check */ + .description = "control.srv6_valid_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .false_message = "invalid SRv6 header combination", + .execute_info = { + .cond_true_goto = 2, + .cond_false_goto = 1023, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, + .cond_start_idx = 1, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, { /* class_tid: 1, , table: control.vxlan_ip_check */ .description = "control.vxlan_ip_check", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -115,11 +152,193 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 0, - .cond_nums = 3 }, + .cond_start_idx = 2, + .cond_nums = 4 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, + { /* class_tid: 1, , table: tunnel_gparse_cache.dynupar_tunnel_rd */ + .description = "tunnel_gparse_cache.dynupar_tunnel_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_GPARSE_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 9, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 14, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 1, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 2, + .ident_start_idx = 2, + .ident_nums = 5 + }, + { /* class_tid: 1, , table: control.dynupar_tunnel */ + .description = "control.dynupar_tunnel", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 15, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 15, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 1, , table: control.set_upar_ptr_srv6_tun */ + .description = "control.set_upar_ptr_srv6_tun", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_src1 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr1 = ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6, + .func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0 } + }, + { /* class_tid: 1, , table: dyn_upar_tbl.srv6_alloc */ + .description = "dyn_upar_tbl.srv6_alloc", + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_DYN_UPAR, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .result_start_idx = 0, + .result_bit_size = 768, + .result_num_fields = 192 + }, + { /* class_tid: 1, , table: dyn_upar_tbl.srv6_wr */ + .description = "dyn_upar_tbl.srv6_wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_DYN_UPAR, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .track_type = CFA_TRACK_TYPE_SID, + .result_start_idx = 192, + .result_bit_size = 768, + .result_num_fields = 192 + }, + { /* class_tid: 1, , table: control.set_dyn_upar_tun */ + .description = "control.set_dyn_upar_tun", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_src1 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr1 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_TUN } + }, + { /* class_tid: 1, , table: control.calc_dyn_upar_id_1 */ + .description = "control.calc_dyn_upar_id_1", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_SUB, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = ULP_THOR2_SYM_TUN_TYPE_DYN_UPAR, + .func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_ID } + }, + { /* class_tid: 1, , table: control.calc_dyn_upar_id_2 */ + .description = "control.calc_dyn_upar_id_2", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_ADD, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_DYN_UPAR_ID, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1, + .func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_ID } + }, + { /* class_tid: 1, , table: tunnel_gparse_cache.dyn_upar_wr */ + .description = "tunnel_gparse_cache.dyn_upar_wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_GPARSE_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 8, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 3, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 2, + .result_start_idx = 384, + .result_bit_size = 104, + .result_num_fields = 6 + }, { /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */ .description = "tunnel_gparse_cache.custom_tunnel_rd", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -130,17 +349,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 8, + .cond_start_idx = 16, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 1, - .blob_key_bit_size = 8, - .key_bit_size = 8, - .key_num_fields = 1, - .ident_start_idx = 2, + .key_start_idx = 5, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 2, + .ident_start_idx = 7, .ident_nums = 2 }, { /* class_tid: 1, , table: control.custom_tunnel */ @@ -151,7 +370,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 15, + .cond_start_idx = 23, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -166,7 +385,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 5, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 16, + .cond_start_idx = 24, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -188,12 +407,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 3, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, - .cond_start_idx = 3, + .cond_start_idx = 6, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 0, + .result_start_idx = 390, .result_bit_size = 16, .result_num_fields = 1 }, @@ -207,12 +426,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, - .cond_start_idx = 4, + .cond_start_idx = 7, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 1, + .result_start_idx = 391, .result_bit_size = 16, .result_num_fields = 1 }, @@ -226,12 +445,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 21, + .cond_start_idx = 29, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 2, + .result_start_idx = 392, .result_bit_size = 16, .result_num_fields = 1 }, @@ -245,19 +464,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 22, + .cond_start_idx = 30, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 2, - .blob_key_bit_size = 8, - .key_bit_size = 8, - .key_num_fields = 1, - .result_start_idx = 3, - .result_bit_size = 80, - .result_num_fields = 3 + .key_start_idx = 7, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 2, + .result_start_idx = 393, + .result_bit_size = 104, + .result_num_fields = 6 }, { /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */ .description = "l2_cntxt_tcam_cache.def_rd", @@ -270,19 +489,55 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 35, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 3, + .key_start_idx = 9, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 4, + .ident_start_idx = 9, .ident_nums = 3 }, + { /* class_tid: 1, , table: control.l2_cntxt_tcam_miss */ + .description = "control.l2_cntxt_tcam_miss", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 35, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 1, , table: table_scope_cache.tsid_ing_rd */ + .description = "table_scope_cache.tsid_ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TABLE_SCOPE_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 36, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 10, + .blob_key_bit_size = 6, + .key_bit_size = 6, + .key_num_fields = 2, + .ident_start_idx = 12, + .ident_nums = 2 + }, { /* class_tid: 1, , table: control.check_f1_f2_flow */ .description = "control.check_f1_f2_flow", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -291,7 +546,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 27, + .cond_start_idx = 36, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -306,17 +561,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 29, + .cond_start_idx = 38, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 4, + .key_start_idx = 12, .blob_key_bit_size = 19, .key_bit_size = 19, .key_num_fields = 2, - .ident_start_idx = 7, + .ident_start_idx = 14, .ident_nums = 3 }, { /* class_tid: 1, , table: control.tunnel_cache_check */ @@ -327,7 +582,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 29, + .cond_start_idx = 38, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -342,7 +597,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 30, + .cond_start_idx = 39, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -352,7 +607,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 10, + .ident_start_idx = 17, .ident_nums = 1 }, { /* class_tid: 1, , table: cmm_stat_record.add_stat_tunnel_cache */ @@ -366,7 +621,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 30, + .cond_start_idx = 39, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_NOP_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL_F1, @@ -374,7 +629,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 6, + .result_start_idx = 399, .result_bit_size = 128, .result_num_fields = 2 }, @@ -388,17 +643,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 30, + .cond_start_idx = 39, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 6, + .key_start_idx = 14, .blob_key_bit_size = 19, .key_bit_size = 19, .key_num_fields = 2, - .result_start_idx = 8, + .result_start_idx = 401, .result_bit_size = 182, .result_num_fields = 5 }, @@ -407,10 +662,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = 28, + .cond_true_goto = 33, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 30, + .cond_start_idx = 39, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -423,7 +678,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 31, + .cond_start_idx = 40, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -442,7 +697,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, - .cond_start_idx = 5, + .cond_start_idx = 8, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -456,7 +711,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 38, + .cond_start_idx = 47, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -471,17 +726,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 49, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 8, + .key_start_idx = 16, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .ident_start_idx = 11, + .ident_start_idx = 18, .ident_nums = 1 }, { /* class_tid: 1, , table: control.multi_flow_cache_check */ @@ -492,7 +747,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 64, + .cond_start_idx = 73, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -508,14 +763,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 74, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 13, + .result_start_idx = 406, .result_bit_size = 0, .result_num_fields = 0 }, @@ -527,7 +782,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 74, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -548,7 +803,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 74, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -569,17 +824,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 74, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 17, + .key_start_idx = 25, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .result_start_idx = 13, + .result_start_idx = 406, .result_bit_size = 64, .result_num_fields = 2 }, @@ -591,7 +846,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 7, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 93, + .cond_start_idx = 102, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -608,9 +863,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 10, + .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 93, + .cond_start_idx = 102, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -625,17 +880,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 94, + .cond_start_idx = 103, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 26, + .key_start_idx = 34, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 12, + .ident_start_idx = 19, .ident_nums = 1 }, { /* class_tid: 1, , table: control.flow_chain_group_id */ @@ -646,7 +901,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 94, + .cond_start_idx = 103, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -662,14 +917,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 104, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 15, + .result_start_idx = 408, .result_bit_size = 0, .result_num_fields = 0 }, @@ -681,7 +936,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 104, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -704,17 +959,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 104, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 27, + .key_start_idx = 35, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 15, + .result_start_idx = 408, .result_bit_size = 64, .result_num_fields = 2 }, @@ -726,19 +981,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 95, + .cond_start_idx = 104, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 28, + .key_start_idx = 36, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 13, + .ident_start_idx = 20, .ident_nums = 1 }, { /* class_tid: 1, , table: control.flow_chain_group_l2_cntxt_check */ @@ -747,9 +1002,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 3, + .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 97, + .cond_start_idx = 108, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -764,7 +1019,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 98, + .cond_start_idx = 109, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -774,16 +1029,45 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 29, + .key_start_idx = 37, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 24, - .result_start_idx = 17, + .result_start_idx = 410, .result_bit_size = 127, .result_num_fields = 17, - .ident_start_idx = 14, + .ident_start_idx = 21, .ident_nums = 1 }, + { /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ + .description = "l2_cntxt_tcam.chain_entry_dup", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = CFA_RSUBTYPE_TCAM_L2CTX, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 111, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = 140, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 61, + .blob_key_bit_size = 256, + .key_bit_size = 256, + .key_num_fields = 24, + .result_start_idx = 427, + .result_bit_size = 127, + .result_num_fields = 17, + .ident_start_idx = 22, + .ident_nums = 0 + }, { /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ .description = "flow_chain_l2_cntxt.write", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -794,17 +1078,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 100, + .cond_start_idx = 114, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 53, + .key_start_idx = 85, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .result_start_idx = 34, + .result_start_idx = 444, .result_bit_size = 43, .result_num_fields = 2 }, @@ -816,19 +1100,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 5, + .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 100, + .cond_start_idx = 116, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 54, + .key_start_idx = 86, .blob_key_bit_size = 131, .key_bit_size = 131, .key_num_fields = 9, - .ident_start_idx = 15, + .ident_start_idx = 22, .ident_nums = 1 }, { /* class_tid: 1, , table: control.mac_addr_cache_check */ @@ -837,9 +1121,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 105, + .cond_start_idx = 123, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -853,9 +1137,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 106, - .cond_nums = 2 }, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 9, + .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, @@ -864,7 +1148,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 140, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 16, + .ident_start_idx = 23, + .ident_nums = 1 + }, + { /* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */ + .description = "global_identifier_app_table.allocate_l2_context", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER, + .resource_type = CFA_RSUBTYPE_IDENT_L2CTX, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 10, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 95, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 446, + .result_bit_size = 0, + .result_num_fields = 0, + .ident_start_idx = 24, .ident_nums = 1 }, { /* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */ @@ -876,7 +1186,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 108, + .cond_start_idx = 130, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -886,14 +1196,43 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 140, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 63, + .key_start_idx = 100, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 24, - .result_start_idx = 36, + .result_start_idx = 446, .result_bit_size = 127, .result_num_fields = 17, - .ident_start_idx = 17, + .ident_start_idx = 25, + .ident_nums = 0 + }, + { /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ + .description = "l2_cntxt_tcam.ingress_entry_dup", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = CFA_RSUBTYPE_TCAM_L2CTX, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 132, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = 140, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 124, + .blob_key_bit_size = 256, + .key_bit_size = 256, + .key_num_fields = 24, + .result_start_idx = 463, + .result_bit_size = 127, + .result_num_fields = 17, + .ident_start_idx = 25, .ident_nums = 0 }, { /* class_tid: 1, , table: mac_addr_cache.l2_table_wr */ @@ -906,20 +1245,51 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 110, + .cond_start_idx = 135, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 87, + .key_start_idx = 148, .blob_key_bit_size = 131, .key_bit_size = 131, .key_num_fields = 9, - .result_start_idx = 53, + .result_start_idx = 480, .result_bit_size = 94, .result_num_fields = 5 }, + { /* class_tid: 1, , table: control.update_default_l2_context */ + .description = "control.update_default_l2_context", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 140, + .cond_nums = 2 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 1, , table: control.update_default_l2_context_done */ + .description = "control.update_default_l2_context_done", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 142, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, + .func_dst_opr = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 } + }, { /* class_tid: 1, , table: control.check_f1_flow */ .description = "control.check_f1_flow", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -928,7 +1298,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 113, + .cond_start_idx = 142, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -944,14 +1314,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 114, + .cond_start_idx = 143, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_NOP_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL_F1, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID_SW_ONLY, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 58, + .result_start_idx = 485, .result_bit_size = 128, .result_num_fields = 2 }, @@ -964,7 +1334,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 6, + .cond_start_idx = 11, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -978,7 +1348,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 8, + .cond_start_idx = 13, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -991,7 +1361,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 129, + .cond_start_idx = 158, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1012,17 +1382,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 140, + .cond_start_idx = 169, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 96, + .key_start_idx = 157, .blob_key_bit_size = 76, .key_bit_size = 76, .key_num_fields = 3, - .ident_start_idx = 17, + .ident_start_idx = 25, .ident_nums = 7 }, { /* class_tid: 1, , table: control.proto_header_cache_miss */ @@ -1031,9 +1401,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 12, + .cond_false_goto = 16, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 142, + .cond_start_idx = 171, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1049,20 +1419,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 143, + .cond_start_idx = 172, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 99, + .key_start_idx = 160, .blob_key_bit_size = 12, .key_bit_size = 12, .key_num_fields = 2, - .partial_key_start_idx = 101, + .partial_key_start_idx = 162, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .ident_start_idx = 24, + .ident_start_idx = 32, .ident_nums = 2 }, { /* class_tid: 1, , table: control.overlap_miss */ @@ -1071,9 +1441,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 145, + .cond_start_idx = 174, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1087,9 +1457,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 146, - .cond_nums = 0 }, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 14, + .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, @@ -1098,7 +1468,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 26, + .ident_start_idx = 34, + .ident_nums = 1 + }, + { /* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */ + .description = "global_identifier_app_table.allocate_wc_profile", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER, + .resource_type = CFA_RSUBTYPE_IDENT_WC_PROF, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 15, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID_1, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 163, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 6, + .result_start_idx = 487, + .result_bit_size = 0, + .result_num_fields = 0, + .ident_start_idx = 35, .ident_nums = 1 }, { /* class_tid: 1, , table: fkb_select.wc_gen_template */ @@ -1110,7 +1506,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 146, + .cond_start_idx = 179, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, @@ -1118,7 +1514,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 60, + .result_start_idx = 487, .result_bit_size = 256, .result_num_fields = 172 }, @@ -1132,21 +1528,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 498, + .cond_start_idx = 535, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 102, + .key_start_idx = 169, .blob_key_bit_size = 12, .key_bit_size = 12, .key_num_fields = 2, - .partial_key_start_idx = 104, + .partial_key_start_idx = 171, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .result_start_idx = 232, + .result_start_idx = 659, .result_bit_size = 48, .result_num_fields = 3 }, @@ -1159,7 +1555,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 500, + .cond_start_idx = 537, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -1167,7 +1563,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 235, + .result_start_idx = 662, .result_bit_size = 256, .result_num_fields = 172 }, @@ -1181,14 +1577,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 501, + .cond_start_idx = 538, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 407, + .result_start_idx = 834, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1200,7 +1596,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 501, + .cond_start_idx = 538, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1208,9 +1604,57 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 58, + .func_opr1 = 59, .func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY } }, + { /* class_tid: 1, , table: profile_tcam.allocate_em_profile */ + .description = "profile_tcam.allocate_em_profile", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = CFA_RSUBTYPE_TCAM_PROF_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 16, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, + .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_APP, + .track_type = CFA_TRACK_TYPE_SID, + .ident_start_idx = 36, + .ident_nums = 1 + }, + { /* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */ + .description = "global_identifier_app_table.allocate_em_profile", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER, + .resource_type = CFA_RSUBTYPE_IDENT_EM_PROF, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 17, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 172, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 6, + .result_start_idx = 834, + .result_bit_size = 0, + .result_num_fields = 0, + .ident_start_idx = 37, + .ident_nums = 1 + }, { /* class_tid: 1, , table: profile_tcam.gen_template */ .description = "profile_tcam.gen_template", .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, @@ -1220,7 +1664,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 517, + .cond_start_idx = 558, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -1231,15 +1675,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_operand = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 105, + .key_start_idx = 178, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 66, - .result_start_idx = 407, + .result_start_idx = 834, .result_bit_size = 64, .result_num_fields = 10, - .ident_start_idx = 27, - .ident_nums = 1 + .ident_start_idx = 38, + .ident_nums = 0 }, { /* class_tid: 1, , table: wm_key_recipe.0 */ .description = "wm_key_recipe.0", @@ -1251,21 +1695,40 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 774, + .cond_start_idx = 865, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 171, + .key_start_idx = 244, .blob_key_bit_size = 0, .key_bit_size = 0, - .key_num_fields = 33, - .result_start_idx = 417, + .key_num_fields = 34, + .result_start_idx = 844, .result_bit_size = 0, .result_num_fields = 0 }, + { /* class_tid: 1, , table: control.outer_present_mode_2 */ + .description = "control.outer_present_mode_2", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 1391, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_oper_size = 8, + .func_src1 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr1 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_OUTER_ADD } + }, { /* class_tid: 1, , table: proto_header_cache.wr */ .description = "proto_header_cache.wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -1276,17 +1739,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1292, + .cond_start_idx = 1392, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 204, + .key_start_idx = 278, .blob_key_bit_size = 76, .key_bit_size = 76, .key_num_fields = 3, - .result_start_idx = 417, + .result_start_idx = 844, .result_bit_size = 106, .result_num_fields = 8 }, @@ -1299,18 +1762,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .execute_info = { .cond_true_goto = 1, .cond_false_goto = 11, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1294, - .cond_nums = 4 }, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 18, + .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 207, + .key_start_idx = 281, .blob_key_bit_size = 78, .key_bit_size = 78, .key_num_fields = 4, - .ident_start_idx = 28, + .ident_start_idx = 38, .ident_nums = 1 }, { /* class_tid: 1, , table: control.em_flow_conflict_cache_miss */ @@ -1321,7 +1784,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1300, + .cond_start_idx = 1402, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1336,14 +1799,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1301, + .cond_start_idx = 1403, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 425, + .result_start_idx = 852, .result_bit_size = 256, .result_num_fields = 172 }, @@ -1357,17 +1820,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1616, + .cond_start_idx = 1722, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 211, + .key_start_idx = 285, .blob_key_bit_size = 0, .key_bit_size = 0, - .key_num_fields = 33, - .result_start_idx = 597, + .key_num_fields = 34, + .result_start_idx = 1024, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1381,17 +1844,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 4, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2110, + .cond_start_idx = 2224, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 244, + .key_start_idx = 319, .blob_key_bit_size = 78, .key_bit_size = 78, .key_num_fields = 4, - .result_start_idx = 597, + .result_start_idx = 1024, .result_bit_size = 96, .result_num_fields = 2 }, @@ -1403,7 +1866,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 6, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2112, + .cond_start_idx = 2226, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1420,10 +1883,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = 8, + .cond_true_goto = 13, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2114, + .cond_start_idx = 2228, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1435,9 +1898,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .execute_info = { .cond_true_goto = 1, .cond_false_goto = 4, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2116, - .cond_nums = 3 }, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 20, + .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, @@ -1450,7 +1913,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2119, + .cond_start_idx = 2235, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -1458,7 +1921,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, - .result_start_idx = 599, + .result_start_idx = 1026, .result_bit_size = 0, .result_num_fields = 17 }, @@ -1471,15 +1934,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2120, - .cond_nums = 1 }, + .cond_start_idx = 2236, + .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_DYN_KEY, .key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, - .result_start_idx = 616, + .result_start_idx = 1043, .result_bit_size = 0, .result_num_fields = 13 }, @@ -1489,13 +1952,66 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 3, + .cond_false_goto = 8, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2121, + .cond_start_idx = 2238, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, + { /* class_tid: 1, , table: control.get_wc_flow_priority */ + .description = "control.get_wc_flow_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 2239, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_APP_PRIORITY, + .func_dst_opr = BNXT_ULP_RF_IDX_APP_PRIO } + }, + { /* class_tid: 1, , table: control.get_ha_priority_secondary */ + .description = "control.get_ha_priority_secondary", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2239, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_GET_HA_PRIORITY, + .func_dst_opr = BNXT_ULP_RF_IDX_HA_PRIO } + }, + { /* class_tid: 1, , table: control.increment_wc_priority */ + .description = "control.increment_wc_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 2240, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_ADD, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_APP_PRIO, + .func_src2 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr2 = BNXT_ULP_RF_IDX_HA_PRIO, + .func_dst_opr = BNXT_ULP_RF_IDX_APP_PRIO }, + .track_type = CFA_TRACK_TYPE_SID + }, { /* class_tid: 1, , table: wm_normal.ingress_generic_template */ .description = "wm_normal.ingress_generic_template", .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, @@ -1505,18 +2021,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2122, + .cond_start_idx = 2240, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_DYN_KEY, .key_recipe_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI, + .pri_opcode = BNXT_ULP_PRI_OPC_REGFILE, + .pri_operand = BNXT_ULP_RF_IDX_APP_PRIO, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 629, + .result_start_idx = 1056, .result_bit_size = 128, .result_num_fields = 15 }, @@ -1529,21 +2046,59 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2123, - .cond_nums = 1 }, + .cond_start_idx = 2241, + .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_DYN_KEY, .key_recipe_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI, + .pri_opcode = BNXT_ULP_PRI_OPC_REGFILE, + .pri_operand = BNXT_ULP_RF_IDX_APP_PRIO, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 644, + .result_start_idx = 1071, .result_bit_size = 128, .result_num_fields = 14 }, + { /* class_tid: 1, , table: control.process_wc_priority */ + .description = "control.process_wc_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 22, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 1, , table: hot_upgrade_tcam_cache.wr */ + .description = "hot_upgrade_tcam_cache.wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 2245, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 323, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 1, + .result_start_idx = 1085, + .result_bit_size = 68, + .result_num_fields = 4 + }, { /* class_tid: 1, , table: control.outer_loop_check */ .description = "control.outer_loop_check", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -1552,7 +2107,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2124, + .cond_start_idx = 2245, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1565,7 +2120,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2125, + .cond_start_idx = 2246, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1581,10 +2136,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = -29, + .cond_true_goto = -38, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2125, + .cond_start_idx = 2246, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1605,17 +2160,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2125, + .cond_start_idx = 2246, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 248, + .key_start_idx = 324, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .ident_start_idx = 29, + .ident_start_idx = 39, .ident_nums = 1 }, { /* class_tid: 2, , table: l2_cntxt_tcam_cache.def_rd */ @@ -1629,17 +2184,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2125, + .cond_start_idx = 2246, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 249, + .key_start_idx = 325, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 30, + .ident_start_idx = 40, .ident_nums = 2 }, { /* class_tid: 2, , table: control.l2_only_check */ @@ -1651,7 +2206,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 9, + .cond_start_idx = 23, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1665,7 +2220,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 11, + .cond_start_idx = 25, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1678,7 +2233,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, - .cond_start_idx = 13, + .cond_start_idx = 27, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1692,7 +2247,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2147, + .cond_start_idx = 2268, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1707,17 +2262,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2149, + .cond_start_idx = 2270, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 250, + .key_start_idx = 326, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .ident_start_idx = 32, + .ident_start_idx = 42, .ident_nums = 1 }, { /* class_tid: 2, , table: control.multi_flow_cache_check */ @@ -1728,7 +2283,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2177, + .cond_start_idx = 2298, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1744,14 +2299,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2178, + .cond_start_idx = 2299, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 658, + .result_start_idx = 1089, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1763,7 +2318,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2178, + .cond_start_idx = 2299, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1784,7 +2339,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2178, + .cond_start_idx = 2299, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1805,17 +2360,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2178, + .cond_start_idx = 2299, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 259, + .key_start_idx = 335, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .result_start_idx = 658, + .result_start_idx = 1089, .result_bit_size = 64, .result_num_fields = 2 }, @@ -1827,7 +2382,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2206, + .cond_start_idx = 2327, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1846,7 +2401,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2206, + .cond_start_idx = 2327, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1854,7 +2409,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 336, + .func_opr1 = 367, .func_dst_opr = BNXT_ULP_RF_IDX_TERM_FLOW } }, { /* class_tid: 2, , table: control.group_id_check */ @@ -1865,7 +2420,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2214, + .cond_start_idx = 2335, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1880,17 +2435,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2215, + .cond_start_idx = 2336, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 268, + .key_start_idx = 344, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 33, + .ident_start_idx = 43, .ident_nums = 1 }, { /* class_tid: 2, , table: control.flow_chain_group_id */ @@ -1901,7 +2456,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2215, + .cond_start_idx = 2336, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1917,14 +2472,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2216, + .cond_start_idx = 2337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 660, + .result_start_idx = 1091, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1936,7 +2491,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2216, + .cond_start_idx = 2337, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1959,17 +2514,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2216, + .cond_start_idx = 2337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 269, + .key_start_idx = 345, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 660, + .result_start_idx = 1091, .result_bit_size = 64, .result_num_fields = 2 }, @@ -1983,17 +2538,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2216, + .cond_start_idx = 2337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 270, + .key_start_idx = 346, .blob_key_bit_size = 76, .key_bit_size = 76, .key_num_fields = 3, - .ident_start_idx = 34, + .ident_start_idx = 44, .ident_nums = 7 }, { /* class_tid: 2, , table: control.proto_header_cache_miss */ @@ -2004,7 +2559,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 12, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2218, + .cond_start_idx = 2339, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2020,20 +2575,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2219, + .cond_start_idx = 2340, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 273, + .key_start_idx = 349, .blob_key_bit_size = 12, .key_bit_size = 12, .key_num_fields = 2, - .partial_key_start_idx = 275, + .partial_key_start_idx = 351, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .ident_start_idx = 41, + .ident_start_idx = 51, .ident_nums = 2 }, { /* class_tid: 2, , table: control.overlap_miss */ @@ -2044,7 +2599,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2221, + .cond_start_idx = 2342, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2059,7 +2614,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2222, + .cond_start_idx = 2343, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2069,7 +2624,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 43, + .ident_start_idx = 53, .ident_nums = 1 }, { /* class_tid: 2, , table: fkb_select.wc_gen_template */ @@ -2081,7 +2636,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2222, + .cond_start_idx = 2343, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, @@ -2089,7 +2644,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 662, + .result_start_idx = 1093, .result_bit_size = 256, .result_num_fields = 172 }, @@ -2103,21 +2658,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2577, + .cond_start_idx = 2698, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 276, + .key_start_idx = 352, .blob_key_bit_size = 12, .key_bit_size = 12, .key_num_fields = 2, - .partial_key_start_idx = 278, + .partial_key_start_idx = 354, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .result_start_idx = 834, + .result_start_idx = 1265, .result_bit_size = 48, .result_num_fields = 3 }, @@ -2130,7 +2685,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2579, + .cond_start_idx = 2700, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -2138,7 +2693,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 837, + .result_start_idx = 1268, .result_bit_size = 256, .result_num_fields = 172 }, @@ -2152,14 +2707,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2580, + .cond_start_idx = 2701, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 1009, + .result_start_idx = 1440, .result_bit_size = 0, .result_num_fields = 0 }, @@ -2171,7 +2726,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2580, + .cond_start_idx = 2701, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2179,7 +2734,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 389, + .func_opr1 = 420, .func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY } }, { /* class_tid: 2, , table: profile_tcam.gen_template */ @@ -2191,7 +2746,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2596, + .cond_start_idx = 2717, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2203,14 +2758,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 279, + .key_start_idx = 355, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 66, - .result_start_idx = 1009, + .result_start_idx = 1440, .result_bit_size = 64, .result_num_fields = 10, - .ident_start_idx = 44, + .ident_start_idx = 54, .ident_nums = 1 }, { /* class_tid: 2, , table: wm_key_recipe.0 */ @@ -2223,18 +2778,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2851, + .cond_start_idx = 2972, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 345, + .key_start_idx = 421, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, - .result_start_idx = 1019, + .result_start_idx = 1450, .result_bit_size = 0, .result_num_fields = 0 }, @@ -2248,17 +2803,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3375, + .cond_start_idx = 3496, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 378, + .key_start_idx = 454, .blob_key_bit_size = 76, .key_bit_size = 76, .key_num_fields = 3, - .result_start_idx = 1019, + .result_start_idx = 1450, .result_bit_size = 106, .result_num_fields = 8 }, @@ -2272,17 +2827,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3377, + .cond_start_idx = 3498, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 381, + .key_start_idx = 457, .blob_key_bit_size = 78, .key_bit_size = 78, .key_num_fields = 4, - .ident_start_idx = 45, + .ident_start_idx = 55, .ident_nums = 1 }, { /* class_tid: 2, , table: control.em_flow_conflict_cache_miss */ @@ -2293,7 +2848,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3383, + .cond_start_idx = 3504, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2308,14 +2863,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3384, + .cond_start_idx = 3505, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1027, + .result_start_idx = 1458, .result_bit_size = 256, .result_num_fields = 172 }, @@ -2329,17 +2884,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3699, + .cond_start_idx = 3820, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 385, + .key_start_idx = 461, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, - .result_start_idx = 1199, + .result_start_idx = 1630, .result_bit_size = 0, .result_num_fields = 0 }, @@ -2353,17 +2908,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 4, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4193, + .cond_start_idx = 4314, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 418, + .key_start_idx = 494, .blob_key_bit_size = 78, .key_bit_size = 78, .key_num_fields = 4, - .result_start_idx = 1199, + .result_start_idx = 1630, .result_bit_size = 96, .result_num_fields = 2 }, @@ -2375,7 +2930,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 6, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4195, + .cond_start_idx = 4316, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2395,7 +2950,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 8, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4197, + .cond_start_idx = 4318, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2408,7 +2963,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4199, + .cond_start_idx = 4320, .cond_nums = 3 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2422,7 +2977,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4202, + .cond_start_idx = 4323, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -2430,7 +2985,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, - .result_start_idx = 1201, + .result_start_idx = 1632, .result_bit_size = 0, .result_num_fields = 17 }, @@ -2443,7 +2998,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4203, + .cond_start_idx = 4324, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -2451,7 +3006,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, - .result_start_idx = 1218, + .result_start_idx = 1649, .result_bit_size = 0, .result_num_fields = 13 }, @@ -2463,7 +3018,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4204, + .cond_start_idx = 4325, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2477,7 +3032,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4205, + .cond_start_idx = 4326, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -2488,7 +3043,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1231, + .result_start_idx = 1662, .result_bit_size = 128, .result_num_fields = 15 }, @@ -2501,7 +3056,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4206, + .cond_start_idx = 4327, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -2512,7 +3067,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1246, + .result_start_idx = 1677, .result_bit_size = 128, .result_num_fields = 14 }, @@ -2524,7 +3079,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4207, + .cond_start_idx = 4328, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2537,7 +3092,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4329, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2556,7 +3111,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = -28, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4329, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2567,6 +3122,81 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opr1 = 1, .func_dst_opr = BNXT_ULP_RF_IDX_INNER_LOOP } }, + { /* class_tid: 3, , table: control.redirect_only_check */ + .description = "control.redirect_only_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 16, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4329, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 3, , table: global_regfiles_cache.metadata_record_rd */ + .description = "global_regfiles_cache.metadata_record_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4330, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 498, + .blob_key_bit_size = 8, + .key_bit_size = 8, + .key_num_fields = 1, + .ident_start_idx = 56, + .ident_nums = 0 + }, + { /* class_tid: 3, , table: control.metadata_record_miss */ + .description = "control.metadata_record_miss", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 14, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4330, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_rx */ + .description = "global_idx_app_table.alloc_metadata_rec_act_rx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_ACT, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 499, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1691, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.act_rx_wr */ .description = "metadata_record.act_rx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2578,7 +3208,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0, @@ -2586,10 +3216,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1260, + .result_start_idx = 1691, .result_bit_size = 32, .result_num_fields = 1 }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_rx */ + .description = "global_idx_app_table.alloc_metadata_rec_prof_rx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_PROF, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_PROF_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 504, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1692, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.prof_rx_wr */ .description = "metadata_record.prof_rx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2601,7 +3256,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_PROF_0, @@ -2609,10 +3264,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1261, + .result_start_idx = 1692, .result_bit_size = 32, .result_num_fields = 1 }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_rx */ + .description = "global_idx_app_table.alloc_metadata_rec_lkup_rx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_LKUP, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 509, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1693, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.lkup_rx_wr */ .description = "metadata_record.lkup_rx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2624,7 +3304,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0, @@ -2632,10 +3312,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1262, + .result_start_idx = 1693, .result_bit_size = 32, .result_num_fields = 1 }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_tx */ + .description = "global_idx_app_table.alloc_metadata_rec_act_tx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_ACT, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 514, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1694, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.act_tx_wr */ .description = "metadata_record.act_tx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2647,7 +3352,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0, @@ -2655,10 +3360,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1263, + .result_start_idx = 1694, .result_bit_size = 32, .result_num_fields = 1 }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_tx */ + .description = "global_idx_app_table.alloc_metadata_rec_prof_tx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_PROF, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_PROF_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 519, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1695, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.prof_tx_wr */ .description = "metadata_record.prof_tx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2670,7 +3400,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_PROF_0, @@ -2678,10 +3408,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1264, + .result_start_idx = 1695, .result_bit_size = 32, .result_num_fields = 1 }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_tx */ + .description = "global_idx_app_table.alloc_metadata_rec_lkup_tx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_LKUP, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 524, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1696, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.lkup_tx_wr */ .description = "metadata_record.lkup_tx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2693,7 +3448,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0, @@ -2701,7 +3456,31 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1265, + .result_start_idx = 1696, + .result_bit_size = 32, + .result_num_fields = 1 + }, + { /* class_tid: 3, , table: global_regfiles_cache.metadata_record_wr */ + .description = "global_regfiles_cache.metadata_record_wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 529, + .blob_key_bit_size = 8, + .key_bit_size = 8, + .key_num_fields = 1, + .result_start_idx = 1697, .result_bit_size = 32, .result_num_fields = 1 }, @@ -2715,17 +3494,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 422, + .key_start_idx = 530, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .ident_start_idx = 46, + .ident_start_idx = 56, .ident_nums = 2 }, { /* class_tid: 3, , table: control.ts_ing_rd_check */ @@ -2734,9 +3513,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 6, + .cond_false_goto = 8, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2753,7 +3532,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4332, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, @@ -2761,7 +3540,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1266, + .result_start_idx = 1698, .result_bit_size = 192, .result_num_fields = 18 }, @@ -2776,7 +3555,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4332, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, @@ -2784,7 +3563,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1284, + .result_start_idx = 1716, .result_bit_size = 192, .result_num_fields = 18 }, @@ -2796,7 +3575,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4333, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2808,6 +3587,54 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opr2 = 32, .func_dst_opr = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR } }, + { /* class_tid: 3, , table: profile_tcam_bypass.allocate_prof_func */ + .description = "profile_tcam_bypass.allocate_prof_func", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = CFA_RSUBTYPE_TCAM_PROF_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 28, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, + .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL, + .track_type = CFA_TRACK_TYPE_SID, + .ident_start_idx = 58, + .ident_nums = 1 + }, + { /* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */ + .description = "global_identifier_app_table.allocate_prof_func", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER, + .resource_type = CFA_RSUBTYPE_IDENT_PROF_FUNC, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 29, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 532, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 4, + .result_start_idx = 1734, + .result_bit_size = 0, + .result_num_fields = 0, + .ident_start_idx = 59, + .ident_nums = 1 + }, { /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */ .description = "profile_tcam_bypass.ing_catch_all", .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, @@ -2817,7 +3644,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2828,15 +3655,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 424, + .key_start_idx = 536, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 66, - .result_start_idx = 1302, + .result_start_idx = 1734, .result_bit_size = 65, .result_num_fields = 7, - .ident_start_idx = 48, - .ident_nums = 1 + .ident_start_idx = 60, + .ident_nums = 0 }, { /* class_tid: 3, , table: table_scope_cache.tsid_ing_wr */ .description = "table_scope_cache.tsid_ing_wr", @@ -2848,17 +3675,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 490, + .key_start_idx = 602, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .result_start_idx = 1309, + .result_start_idx = 1741, .result_bit_size = 88, .result_num_fields = 5 }, @@ -2872,110 +3699,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 492, + .key_start_idx = 604, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .result_start_idx = 1314, + .result_start_idx = 1746, .result_bit_size = 169, .result_num_fields = 6 }, - { /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */ - .description = "l2_cntxt_tcam_cache.ing_rd", - .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, - .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, - .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, - .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 493, - .blob_key_bit_size = 11, - .key_bit_size = 11, - .key_num_fields = 1, - .ident_start_idx = 49, - .ident_nums = 1 - }, - { /* class_tid: 3, , table: control.ing_rd_check */ - .description = "control.ing_rd_check", - .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 4, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4209, - .cond_nums = 1 }, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID - }, - { /* class_tid: 3, , table: l2_cntxt_tcam.svif_ing */ - .description = "l2_cntxt_tcam.svif_ing", - .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, - .resource_type = CFA_RSUBTYPE_TCAM_L2CTX, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, - .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, - .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, - .pri_opcode = BNXT_ULP_PRI_OPC_CONST, - .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL, - .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 494, - .blob_key_bit_size = 256, - .key_bit_size = 256, - .key_num_fields = 24, - .result_start_idx = 1320, - .result_bit_size = 127, - .result_num_fields = 17, - .ident_start_idx = 50, - .ident_nums = 1 - }, - { /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */ - .description = "l2_cntxt_tcam_cache.ing_wr", - .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, - .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, - .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, - .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 518, - .blob_key_bit_size = 11, - .key_bit_size = 11, - .key_num_fields = 1, - .result_start_idx = 1337, - .result_bit_size = 94, - .result_num_fields = 5 - }, { /* class_tid: 3, , table: cmm_full_act_record.throw_away_egr */ .description = "cmm_full_act_record.throw_away_egr", .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, @@ -2987,14 +3724,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1342, + .result_start_idx = 1752, .result_bit_size = 192, .result_num_fields = 18, .encap_num_fields = 0 @@ -3010,14 +3747,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1360, + .result_start_idx = 1770, .result_bit_size = 192, .result_num_fields = 18, .encap_num_fields = 0 @@ -3032,7 +3769,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, @@ -3045,11 +3782,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = 32, .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }, - .key_start_idx = 519, + .key_start_idx = 605, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .result_start_idx = 1378, + .result_start_idx = 1788, .result_bit_size = 169, .result_num_fields = 6 }, @@ -3062,13 +3799,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 1384, + .result_start_idx = 1794, .result_bit_size = 128, .result_num_fields = 14 }, @@ -3082,17 +3819,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 520, + .key_start_idx = 606, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 51, + .ident_start_idx = 60, .ident_nums = 0 }, { /* class_tid: 3, , table: control.non_vfr_egr_rd_check */ @@ -3103,7 +3840,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3118,7 +3855,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4211, + .cond_start_idx = 4336, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3128,14 +3865,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 521, + .key_start_idx = 607, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 24, - .result_start_idx = 1398, + .result_start_idx = 1808, .result_bit_size = 127, .result_num_fields = 17, - .ident_start_idx = 51, + .ident_start_idx = 60, .ident_nums = 2 }, { /* class_tid: 3, , table: profile_tcam_bypass.non_vfr_egr_catch_all */ @@ -3147,7 +3884,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4211, + .cond_start_idx = 4336, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3158,14 +3895,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 545, + .key_start_idx = 631, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 66, - .result_start_idx = 1415, + .result_start_idx = 1825, .result_bit_size = 65, .result_num_fields = 7, - .ident_start_idx = 53, + .ident_start_idx = 62, .ident_nums = 0 }, { /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ @@ -3178,17 +3915,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4211, + .cond_start_idx = 4336, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 611, + .key_start_idx = 697, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .result_start_idx = 1422, + .result_start_idx = 1832, .result_bit_size = 94, .result_num_fields = 5 }, @@ -3202,17 +3939,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4211, + .cond_start_idx = 4336, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 612, + .key_start_idx = 698, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .ident_start_idx = 53, + .ident_start_idx = 62, .ident_nums = 1 }, { /* class_tid: 3, , table: control.tsid_vfr_rd_check */ @@ -3223,7 +3960,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4211, + .cond_start_idx = 4336, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3240,14 +3977,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 1427, + .result_start_idx = 1837, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 20 @@ -3260,7 +3997,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3283,7 +4020,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, @@ -3291,7 +4028,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1447, + .result_start_idx = 1857, .result_bit_size = 192, .result_num_fields = 18 }, @@ -3303,7 +4040,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3324,7 +4061,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3334,14 +4071,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 614, + .key_start_idx = 700, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 24, - .result_start_idx = 1465, + .result_start_idx = 1875, .result_bit_size = 127, .result_num_fields = 17, - .ident_start_idx = 54, + .ident_start_idx = 63, .ident_nums = 1 }, { /* class_tid: 3, , table: table_scope_cache.tsid_vfr_wr */ @@ -3354,17 +4091,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 638, + .key_start_idx = 724, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .result_start_idx = 1482, + .result_start_idx = 1892, .result_bit_size = 88, .result_num_fields = 5 }, @@ -3378,17 +4115,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 640, + .key_start_idx = 726, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .ident_start_idx = 55, + .ident_start_idx = 64, .ident_nums = 3 }, { /* class_tid: 4, , table: control.tsid_vfr_egr_check */ @@ -3399,7 +4136,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3416,7 +4153,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, @@ -3430,7 +4167,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = ULP_THOR2_SYM_VF_2_VF_META_VAL, .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 }, - .result_start_idx = 1487, + .result_start_idx = 1897, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 20 @@ -3443,7 +4180,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3466,7 +4203,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, @@ -3474,7 +4211,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1507, + .result_start_idx = 1917, .result_bit_size = 192, .result_num_fields = 18 }, @@ -3486,7 +4223,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3507,7 +4244,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3518,14 +4255,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 642, + .key_start_idx = 728, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 66, - .result_start_idx = 1525, + .result_start_idx = 1935, .result_bit_size = 65, .result_num_fields = 7, - .ident_start_idx = 58, + .ident_start_idx = 67, .ident_nums = 1 }, { /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_wr */ @@ -3538,17 +4275,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 708, + .key_start_idx = 794, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .result_start_idx = 1532, + .result_start_idx = 1942, .result_bit_size = 88, .result_num_fields = 5 }, @@ -3563,17 +4300,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 710, + .key_start_idx = 796, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 59, + .ident_start_idx = 68, .ident_nums = 1 }, { /* class_tid: 4, , table: control.endpoint_def_egr_rd_check */ @@ -3584,7 +4321,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3599,7 +4336,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3609,14 +4346,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 711, + .key_start_idx = 797, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 24, - .result_start_idx = 1537, + .result_start_idx = 1947, .result_bit_size = 127, .result_num_fields = 17, - .ident_start_idx = 60, + .ident_start_idx = 69, .ident_nums = 1 }, { /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_wr */ @@ -3630,17 +4367,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 735, + .key_start_idx = 821, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .result_start_idx = 1554, + .result_start_idx = 1964, .result_bit_size = 94, .result_num_fields = 5 }, @@ -3654,17 +4391,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 736, + .key_start_idx = 822, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .result_start_idx = 1559, + .result_start_idx = 1969, .result_bit_size = 169, .result_num_fields = 6 }, @@ -3679,7 +4416,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, @@ -3692,7 +4429,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = ULP_THOR2_SYM_VF_2_VF_META_VAL, .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 }, - .result_start_idx = 1565, + .result_start_idx = 1975, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 20 @@ -3705,7 +4442,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3728,14 +4465,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1585, + .result_start_idx = 1995, .result_bit_size = 192, .result_num_fields = 18 }, @@ -3747,7 +4484,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3767,7 +4504,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3787,7 +4524,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3800,33 +4537,222 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_dst_opr = BNXT_ULP_RF_IDX_CC }, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG }, - { /* class_tid: 5, , table: control.reject */ - .description = "control.reject", + { /* class_tid: 5, , table: table_scope_cache.tsid_ing_rd */ + .description = "table_scope_cache.tsid_ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TABLE_SCOPE_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4339, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 823, + .blob_key_bit_size = 6, + .key_bit_size = 6, + .key_num_fields = 2, + .ident_start_idx = 70, + .ident_nums = 2 + }, + { /* class_tid: 5, , table: control.tsid_rd_check */ + .description = "control.tsid_rd_check", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, - .true_message = "Reject: Thor2 not supporting promiscuous template", + .true_message = "Reject: table scope init not done", .execute_info = { .cond_true_goto = 1023, - .cond_false_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4339, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ + .description = "l2_cntxt_tcam_cache.ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4340, .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 825, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 72, + .ident_nums = 1 }, - { /* class_tid: 6, , table: control.reject */ - .description = "control.reject", + { /* class_tid: 5, , table: control.ing_rd_check */ + .description = "control.ing_rd_check", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, - .true_message = "Reject: Thor2 not supporting promiscuous template", .execute_info = { - .cond_true_goto = 1023, + .cond_true_goto = 1, .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4340, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */ + .description = "l2_cntxt_tcam_cache.ing_rd_sock", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4341, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD, + .func_opr1 = BNXT_ULP_CF_IDX_PHY_PORT_SVIF, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_CC }, + .key_start_idx = 826, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 73, + .ident_nums = 2 + }, + { /* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */ + .description = "l2_cntxt_tcam.svif_ing", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = CFA_RSUBTYPE_TCAM_L2CTX, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4342, .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 827, + .blob_key_bit_size = 256, + .key_bit_size = 256, + .key_num_fields = 24, + .result_start_idx = 2013, + .result_bit_size = 127, + .result_num_fields = 17, + .ident_start_idx = 75, + .ident_nums = 1 + }, + { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ + .description = "l2_cntxt_tcam_cache.ing_wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4346, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 851, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .result_start_idx = 2030, + .result_bit_size = 94, + .result_num_fields = 5 + }, + { /* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */ + .description = "l2_cntxt_tcam_cache.ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4350, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, + .key_start_idx = 852, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 76, + .ident_nums = 1 + }, + { /* class_tid: 6, , table: control.ing_rd_check */ + .description = "control.ing_rd_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4350, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 6, , table: control.l2_cache_cnt_check */ + .description = "control.l2_cache_cnt_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .false_message = "Promisc mode cannot be disabled as there are flows that is using the promisc rule.", + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1023, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4351, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_REF_CNT, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_CC } }, { /* class_tid: 7, , table: control.reject */ .description = "control.reject", @@ -3837,115 +4763,372 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4352, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 8, , table: control.check_hot_upgrade */ + .description = "control.check_hot_upgrade", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 30, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 8, , table: control.get_ha_priority */ + .description = "control.get_ha_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4354, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_GET_HA_PRIORITY, + .func_dst_opr = BNXT_ULP_RF_IDX_HA_PRIO } + }, + { /* class_tid: 8, , table: hot_upgrade_tcam_cache.iterate_read */ + .description = "hot_upgrade_tcam_cache.iterate_read", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4354, .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_ITERATE, + .tbl_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_SEQ, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .key_start_idx = 853, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 1, + .ident_start_idx = 77, + .ident_nums = 3 + }, + { /* class_tid: 8, , table: control.hot_upgrade_cache_check */ + .description = "control.hot_upgrade_cache_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4354, + .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 8, , table: control.decrement_priority */ + .description = "control.decrement_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4355, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_SUB, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_APP_PRIO, + .func_src2 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr2 = BNXT_ULP_RF_IDX_HA_PRIO, + .func_dst_opr = BNXT_ULP_RF_IDX_APP_PRIO }, + .track_type = CFA_TRACK_TYPE_SID + }, + { /* class_tid: 8, , table: control.update_wc_tcam_priority */ + .description = "control.update_wc_tcam_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4355, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_TCAM_SET_PRIORITY, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, + .func_src2 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr2 = BNXT_ULP_RF_IDX_APP_PRIO, + .func_dst_opr = BNXT_ULP_RF_IDX_CC } + }, + { /* class_tid: 8, , table: control.inc_table_index */ + .description = "control.inc_table_index", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = -4, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4355, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_ADD, + .func_oper_size = 16, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX } } }; struct bnxt_ulp_mapper_cond_list_info ulp_thor2_class_cond_oper_list[] = { - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + /* cond_execute: class_tid: 1, control.srv6_check:0*/ { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, .cond_start_idx = 0, + .cond_nums = 1 + }, + /* cond_execute: class_tid: 1, control.srv6_valid_check:1*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 1, + .cond_nums = 3 + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 4, .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 7, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3, + .cond_start_idx = 9, .cond_nums = 2 }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 5, + .cond_start_idx = 11, .cond_nums = 3 }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:17*/ + /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:25*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 17, + .cond_start_idx = 25, .cond_nums = 2 }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:19*/ + /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:27*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 19, + .cond_start_idx = 27, .cond_nums = 2 }, - /* cond_execute: class_tid: 1, control.check_tunnel_recycle:35*/ + /* cond_execute: class_tid: 1, control.check_tunnel_recycle:44*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 35, + .cond_start_idx = 44, .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ + /* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:124*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 114, - .cond_nums = 5 + .cond_start_idx = 124, + .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_l2_context:127*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 119, - .cond_nums = 5 + .cond_start_idx = 127, + .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:124*/ + /* cond_execute: class_tid: 1, control.l2_only_check:143*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 124, + .cond_start_idx = 143, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.l2_only_check:2125*/ + /* cond_execute: class_tid: 1, control.l2_only_check:143*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2125, + .cond_start_idx = 148, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.l2_only_check:2125*/ + /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:153*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2130, + .cond_start_idx = 153, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/ + /* cond_execute: class_tid: 1, profile_tcam.allocate_wc_profile:175*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2135, - .cond_nums = 5 + .cond_start_idx = 175, + .cond_nums = 1 }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/ + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_wc_profile:176*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2140, - .cond_nums = 5 + .cond_start_idx = 176, + .cond_nums = 1 }, - /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2145*/ + /* cond_execute: class_tid: 1, profile_tcam.allocate_em_profile:554*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2145, - .cond_nums = 2 - } -}; - -struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_start_idx = 554, + .cond_nums = 1 }, + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_em_profile:555*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_F1 + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 555, + .cond_nums = 1 + }, + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 1394, + .cond_nums = 4 + }, + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 1398, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, control.em_wc_check:2230*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2230, + .cond_nums = 3 + }, + /* cond_execute: class_tid: 1, control.em_wc_check:2230*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 2233, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, control.process_wc_priority:2243*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2243, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 2, control.l2_only_check:2246*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2246, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.l2_only_check:2246*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2251, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2256, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2261, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2266*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2266, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 3, profile_tcam_bypass.allocate_prof_func:4333*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4333, + .cond_nums = 1 + }, + /* cond_execute: class_tid: 3, global_identifier_app_table.allocate_prof_func:4334*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4334, + .cond_nums = 1 + }, + /* cond_execute: class_tid: 8, control.check_hot_upgrade:4352*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 4352, + .cond_nums = 2 + } +}; + +struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { + /* cond_execute: class_tid: 1, control.srv6_check:0*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* cond_execute: class_tid: 1, control.srv6_valid_check:1*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_F1 }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -3954,7 +5137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -3967,7 +5150,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* cond_execute: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:8*/ + /* cond_execute: class_tid: 1, tunnel_gparse_cache.dynupar_tunnel_rd:14*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* cond_execute: class_tid: 1, control.dynupar_tunnel:15*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:16*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -3976,7 +5169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:10*/ + /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:18*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -3985,7 +5178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:12*/ + /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:20*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -3998,17 +5191,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* cond_execute: class_tid: 1, control.custom_tunnel:15*/ + /* cond_execute: class_tid: 1, control.custom_tunnel:23*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, control.custom_tunnel_port_check_value:16*/ + /* cond_execute: class_tid: 1, control.custom_tunnel_port_check_value:24*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:17*/ + /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:25*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DYNAMIC_VXLAN_PORT @@ -4017,7 +5210,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:19*/ + /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:27*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DYNAMIC_VXLAN_PORT @@ -4026,12 +5219,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_geneve_port:21*/ + /* cond_execute: class_tid: 1, cust_tunnel.configure_geneve_port:29*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DYNAMIC_GENEVE_PORT }, - /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:22*/ + /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:30*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -4040,7 +5233,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:24*/ + /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:32*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -4053,7 +5246,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* cond_execute: class_tid: 1, control.check_f1_f2_flow:27*/ + /* cond_execute: class_tid: 1, control.l2_cntxt_tcam_miss:35*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 1, control.check_f1_f2_flow:36*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 @@ -4062,17 +5260,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* cond_execute: class_tid: 1, control.tunnel_cache_check:29*/ + /* cond_execute: class_tid: 1, control.tunnel_cache_check:38*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, control.check_f2_flow:30*/ + /* cond_execute: class_tid: 1, control.check_f2_flow:39*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, control.dmac_calculation:31*/ + /* field_cond: class_tid: 1, control.dmac_calculation:40*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4081,17 +5279,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, control.dmac_calculation:33*/ + /* field_cond: class_tid: 1, control.dmac_calculation:42*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_PORT_DMAC }, - /* field_cond: class_tid: 1, control.dmac_calculation:34*/ + /* field_cond: class_tid: 1, control.dmac_calculation:43*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_PARENT_DMAC }, - /* cond_execute: class_tid: 1, control.check_tunnel_recycle:35*/ + /* cond_execute: class_tid: 1, control.check_tunnel_recycle:44*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -4104,7 +5302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 }, - /* cond_execute: class_tid: 1, control.multi_tunnel_check:38*/ + /* cond_execute: class_tid: 1, control.multi_tunnel_check:47*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY @@ -4113,7 +5311,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:40*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:49*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4122,7 +5320,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:42*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:51*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4131,7 +5329,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:44*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:53*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4140,7 +5338,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:46*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:55*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4149,7 +5347,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:48*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:57*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4158,7 +5356,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:50*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:59*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4167,7 +5365,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:52*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:61*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4176,7 +5374,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:54*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:63*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4185,7 +5383,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:56*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:65*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4194,7 +5392,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:58*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:67*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4203,7 +5401,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:60*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:69*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4212,7 +5410,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:62*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:71*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4221,12 +5419,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* cond_execute: class_tid: 1, control.multi_flow_cache_check:64*/ + /* cond_execute: class_tid: 1, control.multi_flow_cache_check:73*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:65*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:74*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4235,7 +5433,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:67*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:76*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4244,7 +5442,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:69*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:78*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4253,7 +5451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:71*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:80*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4262,7 +5460,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:73*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:82*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4271,7 +5469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:75*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:84*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4280,7 +5478,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:77*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:86*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4289,7 +5487,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:79*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:88*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4298,7 +5496,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:81*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:90*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4307,7 +5505,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:83*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:92*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4316,7 +5514,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:85*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:94*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4325,7 +5523,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:87*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:96*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4334,7 +5532,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:89*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:98*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4343,7 +5541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:91*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:100*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4352,17 +5550,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* cond_execute: class_tid: 1, control.group_id_check:93*/ + /* cond_execute: class_tid: 1, control.group_id_check:102*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* cond_execute: class_tid: 1, control.flow_chain_group_id:94*/ + /* cond_execute: class_tid: 1, control.flow_chain_group_id:103*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, flow_chain_l2_cntxt.chaining_check:95*/ + /* cond_execute: class_tid: 1, flow_chain_l2_cntxt.chaining_check:104*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4371,22 +5569,57 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, control.flow_chain_group_l2_cntxt_check:97*/ + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.chaining_check:106*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.chaining_check:107*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* cond_execute: class_tid: 1, control.flow_chain_group_l2_cntxt_check:108*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:98*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:99*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:110*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* cond_execute: class_tid: 1, mac_addr_cache.l2_table_rd:100*/ + /* cond_execute: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:111*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:112*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:113*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.write:114*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.write:115*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* cond_execute: class_tid: 1, mac_addr_cache.l2_table_rd:116*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_O_DMAC @@ -4395,12 +5628,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:102*/ + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:118*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:119*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:120*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:103*/ + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:121*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_METADATA @@ -4409,12 +5652,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.mac_addr_cache_check:105*/ + /* cond_execute: class_tid: 1, control.mac_addr_cache_check:123*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:106*/ + /* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:124*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 @@ -4423,22 +5670,60 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.l2_table_create:108*/ + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_l2_context:127*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_F1 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_F2 + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.l2_table_create:130*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.l2_table_create:109*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.l2_table_create:131*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:110*/ + /* cond_execute: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:132*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:133*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:111*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:134*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:135*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:136*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:137*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:138*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_METADATA @@ -4447,12 +5732,21 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.check_f1_flow:113*/ + /* cond_execute: class_tid: 1, control.update_default_l2_context:140*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_O_DMAC + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + /* cond_execute: class_tid: 1, control.check_f1_flow:142*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ + /* cond_execute: class_tid: 1, control.l2_only_check:143*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4473,7 +5767,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ + /* cond_execute: class_tid: 1, control.l2_only_check:143*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4494,7 +5788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:124*/ + /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:153*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -4515,7 +5809,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, control.terminating_flow:129*/ + /* field_cond: class_tid: 1, control.terminating_flow:158*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4528,7 +5822,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, control.terminating_flow:132*/ + /* field_cond: class_tid: 1, control.terminating_flow:161*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4541,7 +5835,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, control.terminating_flow:135*/ + /* field_cond: class_tid: 1, control.terminating_flow:164*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4550,7 +5844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, control.terminating_flow:137*/ + /* field_cond: class_tid: 1, control.terminating_flow:166*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4559,12 +5853,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, control.terminating_flow:139*/ + /* field_cond: class_tid: 1, control.terminating_flow:168*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, proto_header_cache.rd:140*/ + /* field_cond: class_tid: 1, proto_header_cache.rd:169*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4573,12 +5867,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.proto_header_cache_miss:142*/ + /* cond_execute: class_tid: 1, control.proto_header_cache_miss:171*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:143*/ + /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:172*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4587,12 +5881,31 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.overlap_miss:145*/ + /* cond_execute: class_tid: 1, control.overlap_miss:174*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:146*/ + /* cond_execute: class_tid: 1, profile_tcam.allocate_wc_profile:175*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_wc_profile:176*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* field_cond: class_tid: 1, global_identifier_app_table.allocate_wc_profile:177*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:179*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4601,7 +5914,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:148*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:181*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4610,7 +5923,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:150*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:183*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4619,12 +5932,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:152*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:185*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:153*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:186*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4641,7 +5954,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:157*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:190*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4658,7 +5971,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:161*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:194*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4679,7 +5992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:166*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:199*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4700,7 +6013,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:171*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:204*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4721,7 +6034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:176*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:209*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -4742,7 +6055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:181*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:214*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4763,7 +6076,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:186*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:219*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4784,7 +6097,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:191*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:224*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4805,7 +6118,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:196*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:229*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4822,12 +6135,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:200*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:233*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:201*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:234*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4844,7 +6157,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:205*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:238*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4861,7 +6174,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:209*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4878,7 +6191,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:213*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:246*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4895,7 +6208,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:217*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:250*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4912,7 +6225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:221*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:254*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4929,7 +6242,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:225*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:258*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4946,7 +6259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:229*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:262*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4963,7 +6276,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:233*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:266*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4980,7 +6293,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:237*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:270*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4997,7 +6310,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:241*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:274*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5014,7 +6327,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:245*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:278*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5031,7 +6344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:249*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:282*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5048,7 +6361,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:253*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:286*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5065,7 +6378,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:257*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:290*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5086,7 +6399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:262*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:295*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5103,7 +6416,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:266*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:299*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5116,7 +6429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:269*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:302*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5129,7 +6442,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:272*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:305*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:306*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:309*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5146,7 +6477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:276*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:313*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5159,7 +6490,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:279*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:316*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5176,7 +6507,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:283*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:320*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5189,7 +6520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:286*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:323*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5210,7 +6541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:291*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:328*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5227,7 +6558,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:295*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:332*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5248,7 +6579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:300*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:337*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5269,7 +6600,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:305*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:342*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5286,7 +6617,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:309*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:346*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5303,7 +6634,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:313*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:350*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5324,7 +6655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:318*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:355*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5341,7 +6672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:322*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:359*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5362,7 +6693,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:327*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:364*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5379,7 +6710,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:331*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:368*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5400,7 +6731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:336*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:373*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5417,7 +6748,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:340*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:377*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5438,7 +6769,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:345*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:382*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5455,7 +6786,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:349*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:386*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5476,7 +6807,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:354*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:391*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5497,7 +6828,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:359*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:396*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5514,7 +6845,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:363*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:400*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5531,7 +6862,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:367*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:404*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5552,7 +6883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:372*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:409*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5569,7 +6900,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:376*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:413*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5590,7 +6921,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:381*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:418*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5607,7 +6938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:385*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:422*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5628,7 +6959,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:390*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:427*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5645,7 +6976,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:394*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:431*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5666,7 +6997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:399*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:436*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5687,7 +7018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:404*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:441*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5704,7 +7035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:408*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:445*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5721,7 +7052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:412*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:449*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5742,7 +7073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:417*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:454*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5763,7 +7094,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:422*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:459*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5780,7 +7111,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:426*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:463*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5797,7 +7128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:430*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:467*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5814,7 +7145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:434*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:471*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5831,7 +7162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:438*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:475*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5844,7 +7175,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:441*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:478*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5857,7 +7188,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:444*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:481*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5878,7 +7209,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:449*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:486*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5899,7 +7230,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:454*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:491*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5916,7 +7247,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:458*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:495*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5933,7 +7264,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:462*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:499*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5954,7 +7285,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:467*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:504*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5975,7 +7306,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:472*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:509*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5992,7 +7323,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:476*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:513*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6009,7 +7340,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:480*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:517*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -6018,7 +7349,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:482*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:519*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -6031,12 +7362,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:485*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:522*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:486*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:523*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -6049,7 +7380,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:489*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:526*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -6058,7 +7389,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:491*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:528*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -6071,12 +7402,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:494*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:531*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:495*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:532*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -6089,7 +7420,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:498*/ + /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:535*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -6098,12 +7429,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:500*/ + /* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:537*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:501*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:538*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6112,7 +7443,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:503*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:540*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6121,7 +7452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:505*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:542*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6130,7 +7461,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:507*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:544*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6139,7 +7470,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:509*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:546*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6148,7 +7479,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:511*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:548*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6157,7 +7488,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:513*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:550*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6166,7 +7497,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:515*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:552*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6175,43 +7506,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:517*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, + /* cond_execute: class_tid: 1, profile_tcam.allocate_em_profile:554*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP - }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:519*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE }, + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_em_profile:555*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:521*/ + /* field_cond: class_tid: 1, global_identifier_app_table.allocate_em_profile:556*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP - }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:523*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:525*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:558*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6220,7 +7534,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:527*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:560*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6229,7 +7543,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:529*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:562*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6238,7 +7552,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:531*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:564*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6247,7 +7561,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:533*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:566*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6256,7 +7570,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:535*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:568*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6265,7 +7579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:537*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:570*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6274,7 +7588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:539*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:572*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6283,7 +7597,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:541*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:574*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6292,7 +7606,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:543*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:576*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:578*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6301,7 +7624,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:545*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:580*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6310,7 +7633,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:547*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:582*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:584*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6319,7 +7651,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:549*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:586*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6328,7 +7660,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:551*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:588*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:590*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6337,7 +7678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:553*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:592*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6346,7 +7687,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:555*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:594*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:596*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6355,7 +7705,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:557*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:598*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6364,7 +7714,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:559*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:600*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6373,7 +7723,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:561*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:602*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6382,7 +7732,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:563*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:604*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6391,7 +7741,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:565*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:606*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6400,7 +7750,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:567*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:608*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6409,7 +7759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:569*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:610*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6418,7 +7768,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:571*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:612*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6427,7 +7777,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:573*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:614*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6436,7 +7786,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:575*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:616*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:618*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6445,7 +7804,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:577*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:620*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6454,7 +7813,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:579*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:622*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:624*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6463,7 +7831,61 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:581*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:626*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:628*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:630*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:632*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:634*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:636*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:638*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6472,7 +7894,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:583*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:640*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6481,7 +7903,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:585*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:642*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6490,7 +7912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:587*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:644*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6499,7 +7921,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:589*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:646*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:648*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6508,7 +7939,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:591*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:650*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6517,7 +7948,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:593*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:652*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6526,7 +7957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:595*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:654*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6535,7 +7966,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:597*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:656*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:658*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6544,7 +7984,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:599*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:660*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:662*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6553,7 +8002,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:601*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:664*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6562,7 +8011,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:603*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:666*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:668*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6571,7 +8029,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:605*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:670*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6580,7 +8038,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:607*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:672*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:674*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6589,7 +8056,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:609*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:676*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6598,7 +8065,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:611*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:678*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:680*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6607,7 +8083,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:613*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:682*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6616,7 +8092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:615*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:684*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6625,7 +8101,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:617*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:686*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6634,7 +8110,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:619*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:688*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6643,7 +8119,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:621*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:690*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6652,7 +8128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:623*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:692*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6661,7 +8137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:625*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:694*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6670,7 +8146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:627*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:696*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6679,7 +8155,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:629*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6688,7 +8164,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:631*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:700*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:702*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6697,7 +8182,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:633*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:704*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:706*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6706,7 +8200,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:635*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:708*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6715,7 +8209,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:637*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:710*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6724,7 +8218,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:639*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:712*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:714*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6733,7 +8236,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:641*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:716*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:718*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6742,7 +8254,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:643*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:720*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6751,7 +8263,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:645*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:722*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6764,7 +8276,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:648*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:725*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6777,7 +8289,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:651*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:728*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6790,7 +8302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:654*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:731*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6803,17 +8315,35 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:657*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:734*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:658*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:735*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:659*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:736*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:738*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:740*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6822,7 +8352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:661*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:742*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6831,7 +8361,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:663*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:744*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6840,7 +8370,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:665*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:746*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:748*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6849,7 +8388,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:667*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:750*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:752*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6858,7 +8406,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:669*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:754*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:756*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6867,7 +8424,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:671*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:758*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:760*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6880,7 +8446,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:674*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:763*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6893,7 +8459,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:677*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:766*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6902,7 +8468,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:679*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:768*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6911,7 +8477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:681*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:770*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6920,7 +8486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:683*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:772*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6929,7 +8495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:685*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:774*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6938,7 +8504,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:687*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:776*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_DYN_UPAR_TUN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:777*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6951,7 +8522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:690*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:780*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6964,7 +8535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:693*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:783*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6973,7 +8544,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:695*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:785*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6982,7 +8553,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:697*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:787*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6991,7 +8562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:699*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:789*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7000,7 +8571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:701*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:791*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7009,22 +8580,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:703*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:793*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_DYN_UPAR_TUN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:794*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:704*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:795*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:705*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:796*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:706*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:797*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7033,7 +8609,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:708*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:799*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7042,7 +8618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:710*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:801*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7051,7 +8627,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:712*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:803*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7060,7 +8636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:714*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:805*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7069,7 +8645,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:716*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:807*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7078,7 +8654,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:718*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:809*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7087,7 +8663,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:720*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:811*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7096,7 +8672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:722*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:813*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7105,7 +8681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:724*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:815*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7114,7 +8690,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:726*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:817*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7123,7 +8699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:728*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:819*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7132,7 +8708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:730*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:821*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7141,7 +8717,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:732*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:823*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7150,12 +8726,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:734*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:825*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:735*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:826*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7164,7 +8740,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:737*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:828*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7173,12 +8749,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:739*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:830*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:740*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:831*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7187,7 +8763,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:742*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:833*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7196,7 +8772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:744*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:835*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7205,7 +8781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:746*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:837*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7214,7 +8790,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:748*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:839*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7223,7 +8799,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:750*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:841*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7232,7 +8808,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:752*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:843*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7241,7 +8817,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:754*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:845*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7250,7 +8826,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:756*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:847*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7259,7 +8835,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:758*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:849*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7268,7 +8844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:760*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:851*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7281,7 +8857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:763*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:854*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7294,17 +8870,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:766*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:857*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:767*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:858*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:768*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:859*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7313,7 +8889,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:770*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:861*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7322,7 +8898,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:772*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:863*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -7331,7 +8907,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:774*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:865*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7340,7 +8916,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:776*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:867*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7349,7 +8925,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:778*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:869*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -7358,7 +8934,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:780*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:871*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -7367,17 +8943,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:782*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:873*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:783*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:874*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:784*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:875*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7394,7 +8970,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:788*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:879*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7411,7 +8987,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:792*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:883*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7428,7 +9004,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:796*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:887*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7445,7 +9021,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:800*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:891*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7466,7 +9042,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:805*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:896*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7487,7 +9063,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:810*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:901*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7508,7 +9084,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:815*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:906*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7529,7 +9105,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:820*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:911*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7550,7 +9126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:825*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:916*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7571,7 +9147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:830*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:921*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7592,7 +9168,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:835*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:926*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7613,7 +9189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:840*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:931*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7630,7 +9206,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:844*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:935*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7647,7 +9223,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:848*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:939*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7664,12 +9240,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:852*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:943*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm_key_recipe.0:853*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:944*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7686,12 +9262,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:857*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:948*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm_key_recipe.0:858*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:949*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7708,7 +9284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:862*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:953*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7725,7 +9301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:866*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:957*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7742,7 +9318,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:870*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:961*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7759,7 +9335,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:874*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:965*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7776,7 +9352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:878*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:969*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7793,7 +9369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:882*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:973*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7810,7 +9386,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:886*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:977*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7827,7 +9403,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:890*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:981*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7844,7 +9420,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:894*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:985*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7861,7 +9437,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:898*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:989*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7878,7 +9454,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:902*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:993*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7895,7 +9471,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:906*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:997*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7912,7 +9488,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:910*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1001*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7929,7 +9505,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:914*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1005*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7946,7 +9522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:918*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1009*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7963,7 +9539,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:922*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1013*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7980,7 +9556,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:926*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1017*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7997,7 +9573,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:930*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1021*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8014,7 +9590,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:934*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1025*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8031,7 +9607,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:938*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1029*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8052,7 +9628,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:943*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1034*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8069,7 +9645,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:947*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1038*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8090,7 +9666,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:952*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1043*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8107,7 +9683,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:956*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1047*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8120,7 +9696,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:959*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1050*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8133,7 +9709,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:962*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1053*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8146,7 +9722,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:965*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1056*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8159,7 +9735,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:968*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1059*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1060*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1063*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1064*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1067*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8176,7 +9788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:972*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1071*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8189,7 +9801,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:975*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1074*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8206,7 +9818,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:979*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1078*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8219,7 +9831,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:982*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1081*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8236,7 +9848,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:986*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1085*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8249,7 +9861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:989*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1088*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8266,7 +9878,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:993*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1092*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8279,7 +9891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:996*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1095*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8300,7 +9912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1001*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1100*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8317,7 +9929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1005*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1104*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8338,7 +9950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1010*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8355,7 +9967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1014*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1113*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8376,7 +9988,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1019*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1118*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8397,7 +10009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1024*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1123*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8414,7 +10026,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1028*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1127*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8431,7 +10043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1032*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1131*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8452,7 +10064,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1037*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1136*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8473,7 +10085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1042*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1141*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8490,7 +10102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1046*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1145*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8507,7 +10119,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1050*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1149*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -8528,7 +10140,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1055*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1154*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -8545,7 +10157,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1059*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1158*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -8566,7 +10178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1064*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1163*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -8583,7 +10195,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1068*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1167*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8600,7 +10212,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1072*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1171*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8613,7 +10225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1075*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1174*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8630,7 +10242,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1079*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1178*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8643,7 +10255,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1082*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1181*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8660,7 +10272,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1086*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1185*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8673,7 +10285,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1089*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1188*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8690,7 +10302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1093*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1192*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8703,7 +10315,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1096*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1195*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8720,7 +10332,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1100*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1199*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8733,7 +10345,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1103*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1202*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8750,7 +10362,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1107*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1206*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8763,7 +10375,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1110*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1209*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8780,7 +10392,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1114*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1213*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8793,7 +10405,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1117*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1216*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8810,7 +10422,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1121*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1220*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8823,7 +10435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1124*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1223*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8840,7 +10452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1128*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1227*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8857,7 +10469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1132*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1231*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8870,7 +10482,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1135*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1234*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8883,7 +10495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1138*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1237*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8900,7 +10512,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1142*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1241*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8917,7 +10529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1146*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1245*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8930,7 +10542,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1149*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1248*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8943,7 +10555,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1152*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1251*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8956,7 +10568,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1155*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1254*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8969,7 +10581,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1158*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1257*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8978,7 +10590,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1160*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1259*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8987,7 +10599,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1162*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1261*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9004,7 +10616,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1166*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1265*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9021,7 +10633,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1170*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1269*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9034,7 +10646,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1173*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1272*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9047,7 +10659,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1176*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1275*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9060,7 +10672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1179*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1278*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9073,7 +10685,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1182*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1281*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9082,7 +10694,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1184*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1283*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9091,7 +10703,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1186*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1285*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9108,7 +10720,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1190*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1289*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9125,7 +10737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1194*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1293*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9138,7 +10750,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1197*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1296*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9151,7 +10763,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1200*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1299*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9168,7 +10780,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1204*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1303*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9185,7 +10797,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1208*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1307*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9198,7 +10810,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1211*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1310*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9211,7 +10823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1214*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1313*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9228,7 +10840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1218*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1317*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9245,7 +10857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1222*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1321*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9258,7 +10870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1225*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1324*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9271,7 +10883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1228*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1327*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9288,7 +10900,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1232*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1331*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9305,7 +10917,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1236*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1335*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9318,7 +10930,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1239*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1338*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9331,7 +10943,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1242*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1341*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9340,7 +10952,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1244*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1343*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9357,7 +10969,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1248*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1347*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9374,7 +10986,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1252*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1351*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9387,7 +10999,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1255*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1354*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9400,7 +11012,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1258*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1357*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9409,7 +11021,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1260*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1359*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9426,7 +11038,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1264*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1363*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9443,7 +11055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1268*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1367*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9456,7 +11068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1271*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1370*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9469,7 +11081,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1274*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1373*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9478,7 +11090,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1276*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1375*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9495,7 +11107,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1280*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1379*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9512,7 +11124,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1284*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1383*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9525,7 +11137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1287*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1386*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9538,7 +11150,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1290*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1389*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9547,7 +11159,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, proto_header_cache.wr:1292*/ + /* cond_execute: class_tid: 1, control.outer_present_mode_2:1391*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + /* field_cond: class_tid: 1, proto_header_cache.wr:1392*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -9556,7 +11173,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1294*/ + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -9573,7 +11190,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1298*/ + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1400*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -9582,12 +11208,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1300*/ + /* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1402*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1301*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1403*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9596,7 +11222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1303*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1405*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -9605,7 +11231,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1305*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1407*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -9614,12 +11240,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1307*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1409*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1308*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1410*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9640,7 +11266,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1313*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1415*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9657,7 +11283,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1317*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1419*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9678,7 +11304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1322*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1424*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9699,7 +11325,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1327*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1429*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9720,7 +11346,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1332*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1434*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -9741,7 +11367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1337*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1439*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9758,7 +11384,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1341*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1443*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9775,7 +11401,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1345*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1447*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9792,7 +11418,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1349*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1451*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9809,7 +11435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1353*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1455*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9826,7 +11452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1357*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1459*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9843,7 +11469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1361*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1463*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9860,7 +11486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1365*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1467*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9877,7 +11503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1369*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1471*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9894,7 +11520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1373*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1475*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9911,7 +11537,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1377*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1479*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9928,7 +11554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1381*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1483*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9945,7 +11571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1385*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1487*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9962,7 +11588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1389*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1491*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9979,7 +11605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1393*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1495*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9996,7 +11622,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1397*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1499*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10013,7 +11639,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1401*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1503*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10030,7 +11656,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1405*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1507*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10047,7 +11673,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1409*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1511*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10068,7 +11694,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1414*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1516*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10085,7 +11711,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1418*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1520*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10098,7 +11724,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1421*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1523*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10111,7 +11737,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1424*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1526*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1527*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1530*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10132,7 +11776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1429*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1535*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10149,7 +11793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1433*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1539*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10166,7 +11810,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1437*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1543*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10179,7 +11823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1440*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1546*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10200,7 +11844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1445*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1551*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10217,7 +11861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1449*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1555*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10238,7 +11882,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1454*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1560*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10259,7 +11903,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1459*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1565*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10276,7 +11920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1463*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1569*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10293,7 +11937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1467*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1573*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -10314,7 +11958,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1472*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1578*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -10331,7 +11975,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1476*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1582*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10348,7 +11992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1480*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1586*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10361,7 +12005,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1483*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1589*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10378,7 +12022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1487*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1593*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10391,7 +12035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1490*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1596*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10408,7 +12052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1494*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1600*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10421,7 +12065,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1497*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1603*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10438,7 +12082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1501*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1607*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10455,7 +12099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1505*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1611*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10468,7 +12112,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1508*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1614*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10481,7 +12125,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1511*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1617*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10498,7 +12142,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1515*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1621*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10511,7 +12155,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1518*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1624*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10528,7 +12172,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1522*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1628*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10541,7 +12185,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1525*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1631*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10558,7 +12202,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1529*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1635*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10571,7 +12215,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1532*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1638*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10588,7 +12232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1536*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1642*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10605,7 +12249,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1540*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1646*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10618,7 +12262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1543*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1649*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10631,7 +12275,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1546*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1652*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10648,7 +12292,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1550*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1656*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10665,7 +12309,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1554*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1660*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10678,7 +12322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1557*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1663*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10691,7 +12335,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1560*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1666*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10708,7 +12352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1564*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1670*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10725,7 +12369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1568*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1674*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10738,7 +12382,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1571*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1677*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10751,7 +12395,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1574*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1680*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10768,7 +12412,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1578*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1684*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10785,7 +12429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1582*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1688*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10798,7 +12442,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1585*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1691*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10811,7 +12455,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1588*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1694*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10828,7 +12472,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1592*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1698*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10845,7 +12489,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1596*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1702*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10858,7 +12502,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1599*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1705*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10871,7 +12515,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1602*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1708*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10888,7 +12532,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1606*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1712*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10905,7 +12549,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1610*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1716*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10918,7 +12562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1613*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1719*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10931,7 +12575,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1616*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1722*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10940,7 +12584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1618*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1724*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10949,7 +12593,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1620*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1726*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -10958,7 +12602,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1622*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1728*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -10967,17 +12611,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1624*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1730*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1625*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1731*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1626*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1732*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10998,7 +12642,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1631*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1737*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11019,7 +12663,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1636*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1742*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11036,7 +12680,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1640*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1746*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11053,7 +12697,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1644*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1750*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11074,7 +12718,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1649*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1755*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11095,7 +12739,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1654*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1760*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11116,7 +12760,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1659*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1765*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11137,7 +12781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1664*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1770*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11158,7 +12802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1669*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1775*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11179,7 +12823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1674*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1780*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11200,7 +12844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1679*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1785*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11221,7 +12865,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1684*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1790*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11238,7 +12882,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1688*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1794*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11255,7 +12899,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1692*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1798*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11272,7 +12916,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1696*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1802*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11289,7 +12933,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1700*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1806*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11306,7 +12950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1704*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1810*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11323,7 +12967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1708*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1814*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11340,7 +12984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1712*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1818*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11357,7 +13001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1716*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1822*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11374,7 +13018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1720*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1826*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11391,7 +13035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1724*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1830*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11408,7 +13052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1728*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1834*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11425,7 +13069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1732*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1838*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11442,7 +13086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1736*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1842*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11459,7 +13103,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1740*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1846*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11476,7 +13120,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1744*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1850*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11493,7 +13137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1748*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1854*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11510,7 +13154,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1752*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1858*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11527,7 +13171,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1756*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1862*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11544,7 +13188,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1760*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1866*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11561,7 +13205,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1764*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1870*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11578,7 +13222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1768*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1874*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11595,7 +13239,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1772*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1878*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11612,7 +13256,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1776*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1882*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11629,7 +13273,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1780*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1886*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11650,7 +13294,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1785*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1891*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11667,7 +13311,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1789*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1895*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11688,7 +13332,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1794*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1900*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11705,7 +13349,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1798*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1904*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11718,7 +13362,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1801*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1907*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11731,7 +13375,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1804*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1910*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11744,7 +13388,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1807*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1913*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11757,7 +13401,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1810*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1916*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, em_key_recipe.0:1917*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, em_key_recipe.0:1920*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, em_key_recipe.0:1921*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, em_key_recipe.0:1924*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11778,7 +13458,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1815*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1929*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11795,7 +13475,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1819*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1933*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11816,7 +13496,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1824*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1938*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11833,7 +13513,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1828*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1942*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11850,7 +13530,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1832*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1946*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11863,7 +13543,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1835*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1949*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11880,7 +13560,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1839*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1953*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11893,7 +13573,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1842*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1956*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11914,7 +13594,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1847*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1961*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11931,7 +13611,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1851*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1965*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11952,7 +13632,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1856*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1970*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11969,7 +13649,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1860*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1974*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11990,7 +13670,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1865*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1979*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12011,7 +13691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1870*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1984*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12028,7 +13708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1874*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1988*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12045,7 +13725,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1878*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1992*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12066,7 +13746,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1883*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1997*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12087,7 +13767,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1888*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2002*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12104,7 +13784,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1892*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2006*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12121,7 +13801,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1896*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2010*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12142,7 +13822,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1901*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2015*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12159,7 +13839,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1905*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2019*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12180,7 +13860,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1910*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2024*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12197,7 +13877,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1914*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2028*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12214,7 +13894,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1918*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2032*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12227,7 +13907,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1921*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2035*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12244,7 +13924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1925*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2039*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12257,7 +13937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1928*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2042*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12274,7 +13954,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1932*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2046*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12287,7 +13967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1935*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2049*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12304,7 +13984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1939*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2053*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12317,7 +13997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1942*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2056*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12334,7 +14014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1946*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2060*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12347,7 +14027,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1949*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2063*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12364,7 +14044,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1953*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2067*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12377,7 +14057,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1956*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2070*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12394,7 +14074,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1960*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2074*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12407,7 +14087,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1963*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2077*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12424,7 +14104,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1967*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2081*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12437,7 +14117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1970*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2084*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12454,7 +14134,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1974*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2088*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12471,7 +14151,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1978*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2092*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12484,7 +14164,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1981*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2095*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12497,7 +14177,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1984*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2098*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12514,7 +14194,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1988*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2102*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12531,7 +14211,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1992*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2106*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12544,7 +14224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1995*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12557,7 +14237,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1998*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2112*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12574,7 +14254,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2002*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2116*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12591,7 +14271,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2006*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2120*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12604,7 +14284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2009*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2123*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12617,7 +14297,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2012*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2126*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12634,7 +14314,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2016*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2130*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12651,7 +14331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2020*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2134*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12664,7 +14344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2023*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2137*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12677,7 +14357,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2026*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2140*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12694,7 +14374,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2030*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2144*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12711,7 +14391,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2034*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2148*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12724,7 +14404,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2037*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2151*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12737,7 +14417,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2040*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2154*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12754,7 +14434,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2044*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2158*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12771,7 +14451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2048*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2162*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12784,7 +14464,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2051*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2165*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12797,7 +14477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2054*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2168*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12814,7 +14494,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2058*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2172*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12831,7 +14511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2062*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2176*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12844,7 +14524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2065*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2179*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12857,7 +14537,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2068*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2182*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12874,7 +14554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2072*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2186*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12891,7 +14571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2076*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2190*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12904,7 +14584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2079*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2193*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12917,7 +14597,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2082*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2196*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12934,7 +14614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2086*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2200*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12951,7 +14631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2090*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2204*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12964,7 +14644,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2093*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2207*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12977,7 +14657,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2096*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2210*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12994,7 +14674,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2100*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2214*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13011,7 +14691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2104*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2218*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13024,7 +14704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2107*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2221*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13037,7 +14717,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2110*/ + /* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2224*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13046,7 +14726,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.field_sig_validation:2112*/ + /* cond_execute: class_tid: 1, control.field_sig_validation:2226*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_CC @@ -13055,7 +14735,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID }, - /* cond_execute: class_tid: 1, control.outer_loop_add_check:2114*/ + /* cond_execute: class_tid: 1, control.outer_loop_add_check:2228*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13064,7 +14744,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD }, - /* cond_execute: class_tid: 1, control.em_wc_check:2116*/ + /* cond_execute: class_tid: 1, control.em_wc_check:2230*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -13077,37 +14757,68 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO }, - /* cond_execute: class_tid: 1, em_normal.ingress_generic_template:2119*/ + /* cond_execute: class_tid: 1, control.em_wc_check:2230*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* cond_execute: class_tid: 1, em_normal.ingress_generic_template:2235*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, em_recycle.ingress_generic_template_recycle:2120*/ + /* cond_execute: class_tid: 1, em_recycle.ingress_generic_template_recycle:2236*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, control.em_add_check:2121*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD + }, + /* cond_execute: class_tid: 1, control.em_add_check:2238*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL }, - /* cond_execute: class_tid: 1, wm_normal.ingress_generic_template:2122*/ + /* cond_execute: class_tid: 1, control.get_ha_priority_secondary:2239*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_HOT_UP_SECONDARY + }, + /* cond_execute: class_tid: 1, wm_normal.ingress_generic_template:2240*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, wm_recycle.ingress_generic_template_recycle:2123*/ + /* cond_execute: class_tid: 1, wm_recycle.ingress_generic_template_recycle:2241*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, control.outer_loop_check:2124*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD + }, + /* cond_execute: class_tid: 1, control.process_wc_priority:2243*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE + }, + /* cond_execute: class_tid: 1, control.outer_loop_check:2245*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.l2_only_check:2125*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13128,7 +14839,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* cond_execute: class_tid: 2, control.l2_only_check:2125*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13149,7 +14860,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -13170,7 +14881,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -13191,7 +14902,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2145*/ + /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2266*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -13200,7 +14911,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* cond_execute: class_tid: 2, control.multi_tunnel_check:2147*/ + /* cond_execute: class_tid: 2, control.multi_tunnel_check:2268*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY @@ -13209,7 +14920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2149*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2270*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13218,7 +14929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2151*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2272*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13227,7 +14938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2153*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2274*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13236,7 +14947,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2155*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2276*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13245,7 +14956,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2157*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2278*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13254,7 +14965,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2159*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2280*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13263,7 +14974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2161*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2282*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13272,7 +14983,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2163*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2284*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13281,7 +14992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2165*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2286*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13290,7 +15001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2167*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2288*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13299,7 +15010,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2169*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2290*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13308,7 +15019,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2171*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2292*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13317,7 +15028,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2173*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2294*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -13326,7 +15037,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2175*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2296*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -13335,12 +15046,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* cond_execute: class_tid: 2, control.multi_flow_cache_check:2177*/ + /* cond_execute: class_tid: 2, control.multi_flow_cache_check:2298*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2178*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2299*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13349,7 +15060,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2180*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2301*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13358,7 +15069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2182*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2303*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13367,7 +15078,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2184*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2305*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13376,7 +15087,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2186*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2307*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13385,7 +15096,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2188*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2309*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13394,7 +15105,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2190*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2311*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13403,7 +15114,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2192*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2313*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13412,7 +15123,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2194*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2315*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13421,7 +15132,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2196*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2317*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13430,7 +15141,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2198*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2319*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13439,7 +15150,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2200*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2321*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13448,7 +15159,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2202*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2323*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -13457,7 +15168,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2204*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2325*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -13466,7 +15177,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, control.terminating_flow:2206*/ + /* field_cond: class_tid: 2, control.terminating_flow:2327*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13475,7 +15186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, control.terminating_flow:2208*/ + /* field_cond: class_tid: 2, control.terminating_flow:2329*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13484,7 +15195,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, control.terminating_flow:2210*/ + /* field_cond: class_tid: 2, control.terminating_flow:2331*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13493,7 +15204,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, control.terminating_flow:2212*/ + /* field_cond: class_tid: 2, control.terminating_flow:2333*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13502,17 +15213,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* cond_execute: class_tid: 2, control.group_id_check:2214*/ + /* cond_execute: class_tid: 2, control.group_id_check:2335*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* cond_execute: class_tid: 2, control.flow_chain_group_id:2215*/ + /* cond_execute: class_tid: 2, control.flow_chain_group_id:2336*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, proto_header_cache.rd:2216*/ + /* field_cond: class_tid: 2, proto_header_cache.rd:2337*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13521,12 +15232,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.proto_header_cache_miss:2218*/ + /* cond_execute: class_tid: 2, control.proto_header_cache_miss:2339*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2219*/ + /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2340*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13535,12 +15246,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.overlap_miss:2221*/ + /* cond_execute: class_tid: 2, control.overlap_miss:2342*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2222*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2343*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13549,7 +15260,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2224*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2345*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13558,7 +15269,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2226*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2347*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13567,12 +15278,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2228*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2349*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2229*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2350*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13589,7 +15300,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2233*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2354*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13606,7 +15317,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2237*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2358*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -13619,7 +15330,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2240*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2361*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13640,7 +15351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2245*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2366*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13661,7 +15372,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2250*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2371*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13682,7 +15393,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2255*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2376*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -13703,7 +15414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2260*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2381*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13724,7 +15435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2265*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2386*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13745,7 +15456,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2270*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2391*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13766,7 +15477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2275*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2396*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13783,12 +15494,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2279*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2400*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2280*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2401*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13805,7 +15516,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2284*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2405*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13822,7 +15533,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2288*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2409*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13839,7 +15550,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2292*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2413*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13856,7 +15567,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2296*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2417*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13873,7 +15584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2300*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2421*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13890,7 +15601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2304*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2425*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13907,7 +15618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2308*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2429*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13924,7 +15635,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2312*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2433*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13941,7 +15652,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2316*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2437*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13958,7 +15669,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2320*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2441*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13975,7 +15686,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2324*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2445*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13992,7 +15703,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2328*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2449*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14009,7 +15720,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2332*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2453*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14026,7 +15737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2336*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2457*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14047,7 +15758,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2341*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2462*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14064,7 +15775,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2345*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2466*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14077,7 +15788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2348*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2469*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14090,7 +15801,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2351*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2472*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14107,7 +15818,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2355*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2476*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14120,7 +15831,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2358*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2479*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14137,7 +15848,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2362*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2483*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14150,7 +15861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2365*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2486*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14171,7 +15882,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2370*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2491*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14188,7 +15899,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2374*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2495*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14209,7 +15920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2379*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2500*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14230,7 +15941,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2384*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2505*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14247,7 +15958,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2388*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2509*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14264,7 +15975,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2392*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2513*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14285,7 +15996,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2397*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2518*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14302,7 +16013,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2401*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2522*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14323,7 +16034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2406*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2527*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14340,7 +16051,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2410*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2531*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14361,7 +16072,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2415*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2536*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14378,7 +16089,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2419*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2540*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14399,7 +16110,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2424*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2545*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14416,7 +16127,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2428*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2549*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14437,7 +16148,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2433*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2554*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14458,7 +16169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2438*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2559*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14475,7 +16186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2442*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2563*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14492,7 +16203,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2446*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2567*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14513,7 +16224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2451*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2572*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14530,7 +16241,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2455*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2576*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14551,7 +16262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2460*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2581*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14568,7 +16279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2464*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2585*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14589,7 +16300,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2469*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2590*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14606,7 +16317,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2473*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2594*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14627,7 +16338,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2478*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2599*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14648,7 +16359,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2483*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2604*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14665,7 +16376,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2487*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2608*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14682,7 +16393,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2491*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2612*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14703,7 +16414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2496*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2617*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14724,7 +16435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2501*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2622*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14741,7 +16452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2505*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2626*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14758,7 +16469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2509*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2630*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14775,7 +16486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2513*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2634*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14792,7 +16503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2517*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2638*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14805,7 +16516,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2520*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2641*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14818,7 +16529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2523*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2644*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14839,7 +16550,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2528*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2649*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14860,7 +16571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2533*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2654*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14877,7 +16588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2537*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2658*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14894,7 +16605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2541*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2662*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14915,7 +16626,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2546*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2667*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14936,7 +16647,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2551*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2672*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14953,7 +16664,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2555*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2676*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14970,7 +16681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2559*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2680*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14979,7 +16690,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2561*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2682*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -14992,12 +16703,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2564*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2685*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2565*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2686*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15010,7 +16721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2568*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2689*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15019,7 +16730,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2570*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2691*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -15032,12 +16743,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2573*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2694*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2574*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2695*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15050,7 +16761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:2577*/ + /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:2698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -15059,12 +16770,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:2579*/ + /* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:2700*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2580*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2701*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15073,7 +16784,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2582*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2703*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15082,7 +16793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2584*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2705*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15091,7 +16802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2586*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2707*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15100,7 +16811,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2588*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2709*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15109,7 +16820,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2590*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2711*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15118,7 +16829,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2592*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2713*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15127,7 +16838,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2594*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2715*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15136,7 +16847,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2596*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2717*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15145,7 +16856,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2598*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2719*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15154,7 +16865,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2600*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2721*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15163,7 +16874,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2602*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2723*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15172,7 +16883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2604*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2725*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15181,7 +16892,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2606*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2727*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15190,7 +16901,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2608*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2729*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15199,7 +16910,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2610*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2731*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15208,7 +16919,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2612*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2733*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15217,7 +16928,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2614*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2735*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15226,7 +16937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2616*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2737*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15235,7 +16946,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2618*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2739*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15244,7 +16955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2620*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2741*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15253,7 +16964,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2622*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2743*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15262,7 +16973,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2624*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2745*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15271,7 +16982,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2626*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2747*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15280,7 +16991,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2628*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2749*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15289,7 +17000,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2630*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2751*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15298,7 +17009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2632*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2753*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15307,7 +17018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2634*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2755*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15316,7 +17027,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2636*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2757*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15325,7 +17036,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2638*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2759*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15334,7 +17045,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2640*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2761*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15343,7 +17054,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2642*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2763*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15352,7 +17063,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2644*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2765*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15361,7 +17072,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2646*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2767*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15370,7 +17081,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2648*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2769*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15379,7 +17090,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2650*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2771*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15388,7 +17099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2652*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2773*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15397,7 +17108,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2654*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2775*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15406,7 +17117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2656*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2777*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15415,7 +17126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2658*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2779*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15424,7 +17135,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2660*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2781*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15433,7 +17144,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2662*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2783*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15442,7 +17153,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2664*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2785*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15451,7 +17162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2666*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2787*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15460,7 +17171,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2668*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2789*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15469,7 +17180,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2670*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2791*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15478,7 +17189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2672*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2793*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15487,7 +17198,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2674*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2795*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15496,7 +17207,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2676*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2797*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15505,7 +17216,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2678*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2799*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15514,7 +17225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2680*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2801*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15523,7 +17234,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2682*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2803*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15532,7 +17243,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2684*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2805*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15541,7 +17252,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2686*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2807*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15550,7 +17261,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2688*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2809*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15559,7 +17270,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2690*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2811*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15568,7 +17279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2692*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2813*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15577,7 +17288,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2694*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2815*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15586,7 +17297,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2696*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2817*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15595,7 +17306,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2698*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2819*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15604,7 +17315,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2700*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2821*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15613,7 +17324,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2702*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2823*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15622,7 +17333,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2704*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2825*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15631,7 +17342,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2706*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2827*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15640,7 +17351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2708*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2829*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15649,7 +17360,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2710*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2831*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15658,7 +17369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2712*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2833*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15667,7 +17378,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2714*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2835*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15676,7 +17387,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2716*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2837*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15685,7 +17396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2718*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2839*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15694,7 +17405,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2720*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2841*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15703,7 +17414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2722*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2843*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15712,7 +17423,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2724*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2845*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15725,7 +17436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2727*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2848*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15738,7 +17449,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2730*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2851*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15751,7 +17462,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2733*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2854*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15764,17 +17475,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2736*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2857*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2737*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2858*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2738*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2859*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15783,7 +17494,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2740*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2861*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15792,7 +17503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2742*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2863*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15801,7 +17512,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2744*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2865*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15810,7 +17521,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2746*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2867*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15819,7 +17530,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2748*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2869*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15828,7 +17539,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2750*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2871*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15837,7 +17548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2752*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2873*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15846,7 +17557,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2754*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2875*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15855,7 +17566,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2756*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2877*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15864,7 +17575,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2758*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2879*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15873,7 +17584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2760*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2881*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15882,7 +17593,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2762*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2883*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15891,7 +17602,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2764*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2885*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15900,7 +17611,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2766*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2887*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15909,7 +17620,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2768*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2889*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15918,7 +17629,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2770*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2891*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15927,7 +17638,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2772*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2893*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15936,22 +17647,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2774*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2895*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2775*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2896*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2776*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2897*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2777*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2898*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15960,7 +17671,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2779*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2900*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15969,7 +17680,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2781*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2902*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15978,7 +17689,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2783*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2904*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15987,7 +17698,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2785*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2906*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15996,7 +17707,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2787*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2908*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16005,7 +17716,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2789*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2910*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16014,7 +17725,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2791*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2912*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16023,7 +17734,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2793*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2914*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16032,7 +17743,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2795*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2916*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16041,7 +17752,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2797*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2918*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16050,7 +17761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2799*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2920*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16059,7 +17770,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2801*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2922*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16068,7 +17779,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2803*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2924*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16077,12 +17788,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2805*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2926*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2806*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2927*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16091,7 +17802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2808*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2929*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16100,12 +17811,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2810*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2931*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2811*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2932*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16114,7 +17825,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2813*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2934*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16123,7 +17834,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2815*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2936*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16132,7 +17843,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2817*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2938*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16141,7 +17852,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2819*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2940*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16150,7 +17861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2821*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2942*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16159,7 +17870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2823*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2944*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16168,7 +17879,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2825*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2946*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16177,7 +17888,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2827*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2948*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16186,7 +17897,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2829*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2950*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16195,7 +17906,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2831*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2952*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16204,7 +17915,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2833*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2954*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16213,7 +17924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2835*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2956*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16222,7 +17933,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2837*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2958*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16231,7 +17942,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2839*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2960*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16244,7 +17955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2842*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2963*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16257,17 +17968,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2845*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2966*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2846*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2967*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2847*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2968*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16276,7 +17987,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2849*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2970*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -16285,7 +17996,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2851*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2972*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16294,7 +18005,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2853*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2974*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16303,7 +18014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2855*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2976*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -16312,7 +18023,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2857*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2978*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -16321,17 +18032,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2859*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2980*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2860*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2981*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2861*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2982*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16348,7 +18059,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2865*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2986*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16365,7 +18076,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2869*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2990*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16382,7 +18093,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2873*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2994*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -16395,7 +18106,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2876*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2997*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16412,7 +18123,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2880*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3001*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -16425,7 +18136,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2883*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3004*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16446,7 +18157,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2888*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3009*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16467,7 +18178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2893*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3014*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16488,7 +18199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2898*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3019*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16509,7 +18220,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2903*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3024*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16530,7 +18241,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2908*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3029*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16551,7 +18262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2913*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3034*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16572,7 +18283,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2918*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3039*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16593,7 +18304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2923*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3044*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16610,7 +18321,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2927*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3048*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16627,7 +18338,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2931*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3052*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16644,12 +18355,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2935*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3056*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2936*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3057*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16666,12 +18377,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2940*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3061*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2941*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3062*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16688,7 +18399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2945*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3066*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16705,7 +18416,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2949*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3070*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16722,7 +18433,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2953*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3074*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16739,7 +18450,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2957*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3078*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16756,7 +18467,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2961*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3082*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16773,7 +18484,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2965*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3086*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16790,7 +18501,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2969*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3090*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16807,7 +18518,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2973*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3094*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16824,7 +18535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2977*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3098*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16841,7 +18552,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2981*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3102*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16858,7 +18569,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2985*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3106*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16875,7 +18586,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2989*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3110*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16892,7 +18603,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2993*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3114*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16909,7 +18620,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2997*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3118*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16926,7 +18637,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3001*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3122*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16943,7 +18654,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3005*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3126*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16960,7 +18671,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3009*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3130*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16977,7 +18688,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3013*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3134*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16994,7 +18705,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3017*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3138*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17011,7 +18722,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3021*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3142*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17032,7 +18743,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3026*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3147*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17049,7 +18760,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3030*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3151*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17070,7 +18781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3035*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3156*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17087,7 +18798,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3039*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3160*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17100,7 +18811,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3042*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3163*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17113,7 +18824,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3045*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3166*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17126,7 +18837,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3048*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3169*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17139,7 +18850,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3051*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3172*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17156,7 +18867,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3055*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3176*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17169,7 +18880,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3058*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3179*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17186,7 +18897,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3062*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3183*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17199,7 +18910,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3065*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3186*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17216,7 +18927,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3069*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3190*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17229,7 +18940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3072*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3193*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17246,7 +18957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3076*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3197*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17259,7 +18970,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3079*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3200*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17280,7 +18991,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3084*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3205*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17297,7 +19008,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3088*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3209*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17318,7 +19029,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3093*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3214*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17335,7 +19046,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3097*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3218*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17356,7 +19067,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3102*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3223*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17377,7 +19088,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3107*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3228*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17394,7 +19105,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3111*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3232*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17411,7 +19122,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3115*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3236*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17432,7 +19143,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3120*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3241*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17453,7 +19164,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3125*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17470,7 +19181,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3129*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3250*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17487,7 +19198,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3133*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3254*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17508,7 +19219,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3138*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3259*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17525,7 +19236,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3142*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3263*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17546,7 +19257,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3147*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3268*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17563,7 +19274,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3151*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3272*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17580,7 +19291,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3155*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3276*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17593,7 +19304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3158*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3279*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17610,7 +19321,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3162*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3283*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17623,7 +19334,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3165*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3286*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17640,7 +19351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3169*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3290*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17653,7 +19364,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3172*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3293*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17670,7 +19381,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3176*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3297*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17683,7 +19394,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3179*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3300*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17700,7 +19411,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3183*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3304*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17713,7 +19424,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3186*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3307*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17730,7 +19441,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3190*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3311*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17743,7 +19454,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3193*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3314*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17760,7 +19471,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3197*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3318*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17773,7 +19484,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3200*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3321*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17790,7 +19501,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3204*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3325*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17803,7 +19514,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3207*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3328*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17820,7 +19531,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3211*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3332*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17837,7 +19548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3215*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3336*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17850,7 +19561,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3218*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3339*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17863,7 +19574,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3221*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3342*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17880,7 +19591,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3225*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3346*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17897,7 +19608,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3229*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3350*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17910,7 +19621,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3232*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3353*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17923,7 +19634,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3235*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3356*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17936,7 +19647,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3238*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3359*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17949,7 +19660,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3241*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3362*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17958,7 +19669,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3243*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3364*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17967,7 +19678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3245*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3366*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17984,7 +19695,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3249*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3370*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18001,7 +19712,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3253*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3374*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18014,7 +19725,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3256*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3377*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18027,7 +19738,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3259*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3380*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18040,7 +19751,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3262*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3383*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18053,7 +19764,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3265*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3386*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18062,7 +19773,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3267*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3388*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18071,7 +19782,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3269*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3390*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18088,7 +19799,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3273*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3394*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18105,7 +19816,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3277*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3398*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18118,7 +19829,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3280*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3401*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18131,7 +19842,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3283*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3404*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18148,7 +19859,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3287*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3408*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18165,7 +19876,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3291*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3412*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18178,7 +19889,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3294*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3415*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18191,7 +19902,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3297*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3418*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18208,7 +19919,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3301*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3422*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18225,7 +19936,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3305*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3426*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18238,7 +19949,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3308*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3429*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18251,7 +19962,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3311*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3432*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18268,7 +19979,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3315*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3436*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18285,7 +19996,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3319*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3440*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18298,7 +20009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3322*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3443*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18311,7 +20022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3325*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3446*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18320,7 +20031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3327*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3448*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18337,7 +20048,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3331*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3452*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18354,7 +20065,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3335*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3456*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18367,7 +20078,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3338*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3459*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18380,7 +20091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3341*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3462*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18389,7 +20100,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3343*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3464*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18406,7 +20117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3347*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3468*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18423,7 +20134,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3351*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3472*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18436,7 +20147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3354*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3475*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18449,7 +20160,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3357*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3478*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18458,7 +20169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3359*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3480*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18475,7 +20186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3363*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3484*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18492,7 +20203,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3367*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3488*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18505,7 +20216,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3370*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3491*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18518,7 +20229,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3373*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3494*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18527,7 +20238,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, proto_header_cache.wr:3375*/ + /* field_cond: class_tid: 2, proto_header_cache.wr:3496*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -18536,7 +20247,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:3377*/ + /* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:3498*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -18553,7 +20264,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, em_flow_conflict_cache.rd:3381*/ + /* field_cond: class_tid: 2, em_flow_conflict_cache.rd:3502*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -18562,12 +20273,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:3383*/ + /* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:3504*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3384*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3505*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18576,7 +20287,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3386*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3507*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -18585,7 +20296,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3388*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3509*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -18594,12 +20305,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3390*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3511*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3391*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3512*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18620,7 +20331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3396*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3517*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18637,7 +20348,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3400*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3521*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18658,7 +20369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3405*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3526*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18679,7 +20390,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3410*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3531*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18700,7 +20411,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3415*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3536*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -18721,7 +20432,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3420*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3541*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18738,7 +20449,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3424*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3545*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18755,7 +20466,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3428*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3549*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18772,7 +20483,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3432*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3553*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18789,7 +20500,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3436*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3557*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18806,7 +20517,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3440*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3561*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18823,7 +20534,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3444*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3565*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18840,7 +20551,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3448*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3569*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18857,7 +20568,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3452*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3573*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18874,7 +20585,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3456*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3577*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18891,7 +20602,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3460*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3581*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18908,7 +20619,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3464*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3585*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18925,7 +20636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3468*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3589*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18942,7 +20653,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3472*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3593*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18959,7 +20670,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3476*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3597*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18976,7 +20687,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3480*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3601*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18993,7 +20704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3484*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3605*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19010,7 +20721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3488*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3609*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19027,7 +20738,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3492*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3613*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19048,7 +20759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3497*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3618*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19065,7 +20776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3501*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3622*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19078,7 +20789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3504*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3625*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19091,7 +20802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3507*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3628*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19112,7 +20823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3512*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3633*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19129,7 +20840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3516*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3637*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19146,7 +20857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3520*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3641*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19159,7 +20870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3523*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3644*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19180,7 +20891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3528*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3649*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19197,7 +20908,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3532*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3653*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19218,7 +20929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3537*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3658*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19239,7 +20950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3542*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3663*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19256,7 +20967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3546*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3667*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19273,7 +20984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3550*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3671*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -19294,7 +21005,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3555*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3676*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -19311,7 +21022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3559*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3680*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19328,7 +21039,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3563*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3684*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19341,7 +21052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3566*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3687*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19358,7 +21069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3570*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3691*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19371,7 +21082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3573*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3694*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19388,7 +21099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3577*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19401,7 +21112,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3580*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3701*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19418,7 +21129,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3584*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3705*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19435,7 +21146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3588*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3709*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19448,7 +21159,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3591*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3712*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19461,7 +21172,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3594*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3715*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19478,7 +21189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3598*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3719*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19491,7 +21202,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3601*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3722*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19508,7 +21219,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3605*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3726*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19521,7 +21232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3608*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3729*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19538,7 +21249,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3612*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3733*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19551,7 +21262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3615*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3736*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19568,7 +21279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3619*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3740*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19585,7 +21296,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3623*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3744*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19598,7 +21309,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3626*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3747*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19611,7 +21322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3629*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3750*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19628,7 +21339,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3633*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3754*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19645,7 +21356,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3637*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3758*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19658,7 +21369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3640*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3761*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19671,7 +21382,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3643*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3764*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19688,7 +21399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3647*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3768*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19705,7 +21416,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3651*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3772*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19718,7 +21429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3654*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3775*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19731,7 +21442,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3657*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3778*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19748,7 +21459,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3661*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3782*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19765,7 +21476,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3665*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3786*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19778,7 +21489,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3668*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3789*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19791,7 +21502,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3671*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3792*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19808,7 +21519,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3675*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3796*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19825,7 +21536,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3679*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3800*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19838,7 +21549,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3682*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3803*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19851,7 +21562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3685*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3806*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19868,7 +21579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3689*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3810*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19885,7 +21596,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3693*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3814*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19898,7 +21609,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3696*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3817*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19911,7 +21622,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3699*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3820*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19920,7 +21631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3701*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3822*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19929,7 +21640,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3703*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3824*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -19938,7 +21649,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3705*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3826*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -19947,17 +21658,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3707*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3828*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3708*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3829*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3709*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3830*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19978,7 +21689,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3714*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3835*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19999,7 +21710,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3719*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3840*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20016,7 +21727,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3723*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3844*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20033,7 +21744,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3727*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3848*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20054,7 +21765,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3732*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3853*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20075,7 +21786,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3737*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3858*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20096,7 +21807,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3742*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3863*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20117,7 +21828,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3747*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3868*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20138,7 +21849,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3752*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3873*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20159,7 +21870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3757*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3878*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -20180,7 +21891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3762*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3883*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -20201,7 +21912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3767*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3888*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20218,7 +21929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3771*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3892*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20235,7 +21946,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3775*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3896*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20252,7 +21963,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3779*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3900*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20269,7 +21980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3783*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3904*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20286,7 +21997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3787*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3908*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20303,7 +22014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3791*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3912*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20320,7 +22031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3795*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3916*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20337,7 +22048,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3799*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3920*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20354,7 +22065,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3803*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3924*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20371,7 +22082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3807*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3928*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20388,7 +22099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3811*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3932*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20405,7 +22116,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3815*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3936*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20422,7 +22133,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3819*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3940*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20439,7 +22150,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3823*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3944*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20456,7 +22167,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3827*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3948*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20473,7 +22184,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3831*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3952*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20490,7 +22201,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3835*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3956*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20507,7 +22218,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3839*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3960*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20524,7 +22235,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3843*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3964*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20541,7 +22252,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3847*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3968*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20558,7 +22269,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3851*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3972*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20575,7 +22286,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3855*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3976*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20592,7 +22303,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3859*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3980*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20609,7 +22320,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3863*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3984*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20630,7 +22341,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3868*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3989*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20647,7 +22358,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3872*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3993*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20668,7 +22379,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3877*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3998*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20685,7 +22396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3881*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4002*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20698,7 +22409,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:3884*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4005*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20711,7 +22422,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:3887*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4008*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20724,7 +22435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:3890*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4011*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20737,7 +22448,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:3893*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4014*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20758,7 +22469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3898*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4019*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20775,7 +22486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3902*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4023*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20796,7 +22507,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3907*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4028*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20813,7 +22524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3911*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4032*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20830,7 +22541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3915*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4036*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20843,7 +22554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3918*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4039*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20860,7 +22571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3922*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4043*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20873,7 +22584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3925*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4046*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20894,7 +22605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3930*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4051*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20911,7 +22622,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3934*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4055*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20932,7 +22643,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3939*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4060*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20949,7 +22660,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3943*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4064*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20970,7 +22681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3948*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4069*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20991,7 +22702,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3953*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4074*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21008,7 +22719,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3957*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4078*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21025,7 +22736,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3961*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4082*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21046,7 +22757,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3966*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4087*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21067,7 +22778,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3971*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4092*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21084,7 +22795,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3975*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4096*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21101,7 +22812,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3979*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4100*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21122,7 +22833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3984*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4105*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21139,7 +22850,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3988*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21160,7 +22871,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3993*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4114*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21177,7 +22888,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3997*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4118*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21194,7 +22905,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4001*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4122*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21207,7 +22918,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4004*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4125*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21224,7 +22935,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4008*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4129*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21237,7 +22948,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4011*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4132*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21254,7 +22965,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4015*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4136*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21267,7 +22978,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4018*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4139*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21284,7 +22995,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4022*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4143*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21297,7 +23008,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4025*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4146*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21314,7 +23025,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4029*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4150*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21327,7 +23038,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4032*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4153*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21344,7 +23055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4036*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4157*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21357,7 +23068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4039*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4160*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21374,7 +23085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4043*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4164*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21387,7 +23098,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4046*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4167*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21404,7 +23115,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4050*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4171*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21417,7 +23128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4053*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4174*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21434,7 +23145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4057*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4178*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21451,7 +23162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4061*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4182*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21464,7 +23175,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4064*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4185*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21477,7 +23188,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4067*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4188*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21494,7 +23205,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4071*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4192*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21511,7 +23222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4075*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4196*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21524,7 +23235,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4078*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4199*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21537,7 +23248,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4081*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4202*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21554,7 +23265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4085*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4206*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21571,7 +23282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4089*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4210*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21584,7 +23295,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4092*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4213*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21597,7 +23308,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4095*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4216*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21614,7 +23325,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4099*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4220*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21631,7 +23342,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4103*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4224*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21644,7 +23355,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4106*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4227*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21657,7 +23368,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4109*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4230*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21674,7 +23385,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4113*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4234*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21691,7 +23402,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4117*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4238*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21704,7 +23415,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4120*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4241*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21717,7 +23428,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4123*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4244*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21734,7 +23445,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4127*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4248*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21751,7 +23462,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4131*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4252*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21764,7 +23475,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4134*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4255*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21777,7 +23488,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4137*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4258*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21794,7 +23505,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4141*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4262*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21811,7 +23522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4145*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4266*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21824,7 +23535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4148*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4269*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21837,7 +23548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4151*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4272*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21854,7 +23565,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4155*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4276*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21871,7 +23582,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4159*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4280*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21884,7 +23595,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4162*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4283*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21897,7 +23608,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4165*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4286*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21914,7 +23625,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4169*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4290*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21931,7 +23642,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4173*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4294*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21944,7 +23655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4176*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4297*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21957,7 +23668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4179*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4300*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21974,7 +23685,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4183*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4304*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21991,7 +23702,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4187*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4308*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22004,7 +23715,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4190*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4311*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22017,7 +23728,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4193*/ + /* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4314*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -22026,7 +23737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.field_sig_validation:4195*/ + /* cond_execute: class_tid: 2, control.field_sig_validation:4316*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_CC @@ -22035,7 +23746,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID }, - /* cond_execute: class_tid: 2, control.outer_loop_add_check:4197*/ + /* cond_execute: class_tid: 2, control.outer_loop_add_check:4318*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22044,7 +23755,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD }, - /* cond_execute: class_tid: 2, control.em_wc_check:4199*/ + /* cond_execute: class_tid: 2, control.em_wc_check:4320*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -22057,62 +23768,157 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO }, - /* cond_execute: class_tid: 2, em_normal.egress_generic_template:4202*/ + /* cond_execute: class_tid: 2, em_normal.egress_generic_template:4323*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, em_recycle.egress_generic_template_recycle:4203*/ + /* cond_execute: class_tid: 2, em_recycle.egress_generic_template_recycle:4324*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.em_add_check:4204*/ + /* cond_execute: class_tid: 2, control.em_add_check:4325*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL }, - /* cond_execute: class_tid: 2, wm_normal.egress_generic_template:4205*/ + /* cond_execute: class_tid: 2, wm_normal.egress_generic_template:4326*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, wm_recycle.egress_generic_template_recycle:4206*/ + /* cond_execute: class_tid: 2, wm_recycle.egress_generic_template_recycle:4327*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.outer_loop_check:4207*/ + /* cond_execute: class_tid: 2, control.outer_loop_check:4328*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 3, control.ts_ing_rd_check:4208*/ + /* cond_execute: class_tid: 3, control.redirect_only_check:4329*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_REDIRECT_ONLY + }, + /* cond_execute: class_tid: 3, control.metadata_record_miss:4330*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, control.ing_rd_check:4209*/ + /* cond_execute: class_tid: 3, control.ts_ing_rd_check:4331*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, control.non_vfr_egr_rd_check:4210*/ + /* field_cond: class_tid: 3, cmm_full_act_record.ing_default_1:4332*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_RX_MISS_SEND_TO_PF + }, + /* cond_execute: class_tid: 3, profile_tcam_bypass.allocate_prof_func:4333*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* cond_execute: class_tid: 3, global_identifier_app_table.allocate_prof_func:4334*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* cond_execute: class_tid: 3, control.non_vfr_egr_rd_check:4335*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, control.tsid_vfr_rd_check:4211*/ + /* cond_execute: class_tid: 3, control.tsid_vfr_rd_check:4336*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 4, control.tsid_vfr_egr_check:4212*/ + /* cond_execute: class_tid: 4, control.tsid_vfr_egr_check:4337*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 4, control.endpoint_def_egr_rd_check:4213*/ + /* cond_execute: class_tid: 4, control.endpoint_def_egr_rd_check:4338*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 5, control.tsid_rd_check:4339*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 5, control.ing_rd_check:4340*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 5, l2_cntxt_tcam_cache.ing_rd_sock:4341*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam.svif_ing:4342*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam.svif_ing:4344*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4346*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4348*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* cond_execute: class_tid: 6, control.ing_rd_check:4350*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 6, control.l2_cache_cnt_check:4351*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* cond_execute: class_tid: 8, control.check_hot_upgrade:4352*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* cond_execute: class_tid: 8, control.hot_upgrade_cache_check:4354*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS @@ -22141,8 +23947,103 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, + /* class_tid: 1, , table: tunnel_gparse_cache.dynupar_tunnel_rd */ + { + .field_info_mask = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6} + } + }, + /* class_tid: 1, , table: tunnel_gparse_cache.dyn_upar_wr */ + { + .field_info_mask = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6} + } + }, /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */ { + .field_info_mask = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + { .field_info_mask = { .description = "tunnel_type", .field_bit_size = 8, @@ -22157,8 +24058,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (10 >> 8) & 0xff, - 10 & 0xff, + (18 >> 8) & 0xff, + 18 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -22169,6 +24070,25 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_wr */ { + .field_info_mask = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + { .field_info_mask = { .description = "tunnel_type", .field_bit_size = 8, @@ -22183,8 +24103,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (22 >> 8) & 0xff, - 22 & 0xff, + (30 >> 8) & 0xff, + 30 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -22217,6 +24137,44 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, + /* class_tid: 1, , table: table_scope_cache.tsid_ing_rd */ + { + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, + { + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ { .field_info_mask = { @@ -22354,8 +24312,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (40 >> 8) & 0xff, - 40 & 0xff, + (49 >> 8) & 0xff, + 49 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22370,8 +24328,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (42 >> 8) & 0xff, - 42 & 0xff, + (51 >> 8) & 0xff, + 51 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22412,8 +24370,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (44 >> 8) & 0xff, - 44 & 0xff, + (53 >> 8) & 0xff, + 53 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22428,8 +24386,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (46 >> 8) & 0xff, - 46 & 0xff, + (55 >> 8) & 0xff, + 55 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22446,8 +24404,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (48 >> 8) & 0xff, - 48 & 0xff, + (57 >> 8) & 0xff, + 57 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22462,8 +24420,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (50 >> 8) & 0xff, - 50 & 0xff, + (59 >> 8) & 0xff, + 59 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22480,8 +24438,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (52 >> 8) & 0xff, - 52 & 0xff, + (61 >> 8) & 0xff, + 61 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22496,8 +24454,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (54 >> 8) & 0xff, - 54 & 0xff, + (63 >> 8) & 0xff, + 63 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22514,8 +24472,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (56 >> 8) & 0xff, - 56 & 0xff, + (65 >> 8) & 0xff, + 65 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22530,8 +24488,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (58 >> 8) & 0xff, - 58 & 0xff, + (67 >> 8) & 0xff, + 67 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22548,8 +24506,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (60 >> 8) & 0xff, - 60 & 0xff, + (69 >> 8) & 0xff, + 69 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22564,8 +24522,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (62 >> 8) & 0xff, - 62 & 0xff, + (71 >> 8) & 0xff, + 71 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22632,8 +24590,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (65 >> 8) & 0xff, - 65 & 0xff, + (74 >> 8) & 0xff, + 74 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22648,8 +24606,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (67 >> 8) & 0xff, - 67 & 0xff, + (76 >> 8) & 0xff, + 76 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22666,8 +24624,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (69 >> 8) & 0xff, - 69 & 0xff, + (78 >> 8) & 0xff, + 78 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22682,8 +24640,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (71 >> 8) & 0xff, - 71 & 0xff, + (80 >> 8) & 0xff, + 80 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22700,8 +24658,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (73 >> 8) & 0xff, - 73 & 0xff, + (82 >> 8) & 0xff, + 82 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22716,8 +24674,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (75 >> 8) & 0xff, - 75 & 0xff, + (84 >> 8) & 0xff, + 84 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22734,8 +24692,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (77 >> 8) & 0xff, - 77 & 0xff, + (86 >> 8) & 0xff, + 86 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22750,8 +24708,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (79 >> 8) & 0xff, - 79 & 0xff, + (88 >> 8) & 0xff, + 88 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22768,8 +24726,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (81 >> 8) & 0xff, - 81 & 0xff, + (90 >> 8) & 0xff, + 90 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22784,8 +24742,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (83 >> 8) & 0xff, - 83 & 0xff, + (92 >> 8) & 0xff, + 92 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22802,8 +24760,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (85 >> 8) & 0xff, - 85 & 0xff, + (94 >> 8) & 0xff, + 94 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22818,8 +24776,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (87 >> 8) & 0xff, - 87 & 0xff, + (96 >> 8) & 0xff, + 96 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22836,8 +24794,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (89 >> 8) & 0xff, - 89 & 0xff, + (98 >> 8) & 0xff, + 98 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22852,8 +24810,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (91 >> 8) & 0xff, - 91 & 0xff, + (100 >> 8) & 0xff, + 100 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22914,18 +24872,32 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { + (106 >> 8) & 0xff, + 106 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { + (107 >> 8) & 0xff, + 107 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } @@ -23240,8 +25212,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (98 >> 8) & 0xff, - 98 & 0xff, + (109 >> 8) & 0xff, + 109 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -23253,8 +25225,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (99 >> 8) & 0xff, - 99 & 0xff, + (110 >> 8) & 0xff, + 110 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_CONST @@ -23306,201 +25278,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 1} } }, - /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - /* class_tid: 1, , table: mac_addr_cache.l2_table_rd */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - { - .field_info_mask = { - .description = "tun_hdr", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tun_hdr", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "one_tag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "one_tag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "mac_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "mac_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, - BNXT_ULP_RF_IDX_O_DMAC & 0xff} - } - }, - { - .field_info_mask = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (102 >> 8) & 0xff, - 102 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (103 >> 8) & 0xff, - 103 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - (ULP_THOR2_SYM_CHAIN_META_VAL >> 24) & 0xff, - (ULP_THOR2_SYM_CHAIN_META_VAL >> 16) & 0xff, - (ULP_THOR2_SYM_CHAIN_META_VAL >> 8) & 0xff, - ULP_THOR2_SYM_CHAIN_META_VAL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */ + /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ { .field_info_mask = { .description = "etype", @@ -23618,23 +25396,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "addr0", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "addr0", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, - BNXT_ULP_RF_IDX_O_DMAC & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -23670,13 +25438,17 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "out_tun_hdr_type", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_NONE} }, .field_info_spec = { .description = "out_tun_hdr_type", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_NONE} } }, { @@ -23739,7 +25511,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_CHAIN_META_VAL >> 24) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL >> 16) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL >> 8) & 0xff, + ULP_THOR2_SYM_CHAIN_META_VAL & 0xff} } }, { @@ -23747,19 +25524,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + 0xff, + 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF & 0xff} } }, { @@ -23795,9 +25572,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "loopback", @@ -23813,8 +25588,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (108 >> 8) & 0xff, - 108 & 0xff, + (112 >> 8) & 0xff, + 112 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -23826,8 +25601,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (109 >> 8) & 0xff, - 109 & 0xff, + (113 >> 8) & 0xff, + 113 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_CONST @@ -23838,9 +25613,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "mpass_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 3} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mpass_cnt", @@ -23881,23 +25654,72 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 1} } }, - /* class_tid: 1, , table: mac_addr_cache.l2_table_wr */ + /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ { .field_info_mask = { .description = "svif", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { + (114 >> 8) & 0xff, + 114 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { + (115 >> 8) & 0xff, + 115 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + /* class_tid: 1, , table: mac_addr_cache.l2_table_rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (118 >> 8) & 0xff, + 118 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (119 >> 8) & 0xff, + 119 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } @@ -24002,8 +25824,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (110 >> 8) & 0xff, - 110 & 0xff, + (120 >> 8) & 0xff, + 120 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO @@ -24027,8 +25849,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (111 >> 8) & 0xff, - 111 & 0xff, + (121 >> 8) & 0xff, + 121 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -24054,56 +25876,63 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: proto_header_cache.rd */ + /* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (140 >> 8) & 0xff, - 140 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "mac_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { @@ -24112,1161 +25941,573 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff, 0xff, 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "mac_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "pad", + .field_bit_size = 65, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (143 >> 8) & 0xff, - 143 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "pad", + .field_bit_size = 65, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */ { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "l2_ivlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (498 >> 8) & 0xff, - 498 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ovlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ovlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, + .description = "two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, + .description = "two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_flags", - .field_bit_size = 9, + .description = "vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_flags", - .field_bit_size = 9, + .description = "vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, + .description = "addr1", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, + .description = "addr1", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (517 >> 8) & 0xff, - 517 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (66 >> 8) & 0xff, - 66 & 0xff} + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (525 >> 8) & 0xff, - 525 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (69 >> 8) & 0xff, - 69 & 0xff} + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (533 >> 8) & 0xff, - 533 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (72 >> 8) & 0xff, - 72 & 0xff} + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (541 >> 8) & 0xff, - 541 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (75 >> 8) & 0xff, - 75 & 0xff} + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (549 >> 8) & 0xff, - 549 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (78 >> 8) & 0xff, - 78 & 0xff} + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (557 >> 8) & 0xff, - 557 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (81 >> 8) & 0xff, - 81 & 0xff} + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (565 >> 8) & 0xff, - 565 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (84 >> 8) & 0xff, - 84 & 0xff} + .description = "out_tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (573 >> 8) & 0xff, - 573 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (87 >> 8) & 0xff, - 87 & 0xff} + .description = "out_tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_protocol", - .field_bit_size = 8, + .description = "llc", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3_protocol", - .field_bit_size = 8, + .description = "llc", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_isIP", + .description = "roce", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (581 >> 8) & 0xff, - 581 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (90 >> 8) & 0xff, - 90 & 0xff} + 1} }, .field_info_spec = { - .description = "l3_hdr_isIP", + .description = "roce", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (589 >> 8) & 0xff, - 589 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (93 >> 8) & 0xff, - 93 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (597 >> 8) & 0xff, - 597 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (96 >> 8) & 0xff, - 96 & 0xff} + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (605 >> 8) & 0xff, - 605 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (99 >> 8) & 0xff, - 99 & 0xff} + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (613 >> 8) & 0xff, - 613 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (102 >> 8) & 0xff, - 102 & 0xff} + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 24) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 16) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, + ULP_THOR2_SYM_CHAIN_META_VAL_MASK & 0xff} }, .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (621 >> 8) & 0xff, - 621 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (105 >> 8) & 0xff, - 105 & 0xff} + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { - (629 >> 8) & 0xff, - 629 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (108 >> 8) & 0xff, - 108 & 0xff} + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { - (637 >> 8) & 0xff, - 637 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (111 >> 8) & 0xff, - 111 & 0xff} + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, { .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "parif", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (645 >> 8) & 0xff, - 645 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (114 >> 8) & 0xff, - 114 & 0xff} + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "spif", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (651 >> 8) & 0xff, - 651 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (115 >> 8) & 0xff, - 115 & 0xff} + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "recycle_cnt", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (657 >> 8) & 0xff, - 657 & 0xff, + (130 >> 8) & 0xff, + 130 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "recycle_cnt", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (658 >> 8) & 0xff, - 658 & 0xff, + (131 >> 8) & 0xff, + 131 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_CONST } }, { .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (659 >> 8) & 0xff, - 659 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (116 >> 8) & 0xff, - 116 & 0xff} + 3} }, .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (663 >> 8) & 0xff, - 663 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (117 >> 8) & 0xff, - 117 & 0xff} + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "spare", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (667 >> 8) & 0xff, - 667 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (118 >> 8) & 0xff, - 118 & 0xff} + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_flags", - .field_bit_size = 8, + .description = "valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} }, .field_info_spec = { - .description = "tun_hdr_flags", - .field_bit_size = 8, + .description = "valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, + /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (671 >> 8) & 0xff, - 671 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (119 >> 8) & 0xff, - 119 & 0xff} + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (687 >> 8) & 0xff, - 687 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (125 >> 8) & 0xff, - 125 & 0xff} + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (703 >> 8) & 0xff, - 703 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (704 >> 8) & 0xff, - 704 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_valid", - .field_bit_size = 1, + .description = "l2_ivlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (705 >> 8) & 0xff, - 705 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (706 >> 8) & 0xff, - 706 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (131 >> 8) & 0xff, - 131 & 0xff} + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (710 >> 8) & 0xff, - 710 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (132 >> 8) & 0xff, - 132 & 0xff} + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (714 >> 8) & 0xff, - 714 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (133 >> 8) & 0xff, - 133 & 0xff} + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (718 >> 8) & 0xff, - 718 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (134 >> 8) & 0xff, - 134 & 0xff} + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_error", + .description = "two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (722 >> 8) & 0xff, - 722 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (135 >> 8) & 0xff, - 135 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_error", + .description = "two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (726 >> 8) & 0xff, - 726 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (136 >> 8) & 0xff, - 136 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_valid", + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (730 >> 8) & 0xff, - 730 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (137 >> 8) & 0xff, - 137 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_valid", + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (735 >> 8) & 0xff, - 735 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (139 >> 8) & 0xff, - 139 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, + .description = "addr1", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, + .description = "addr1", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (740 >> 8) & 0xff, - 740 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (141 >> 8) & 0xff, - 141 & 0xff} + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (744 >> 8) & 0xff, - 744 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (142 >> 8) & 0xff, - 142 & 0xff} + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (748 >> 8) & 0xff, - 748 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (143 >> 8) & 0xff, - 143 & 0xff} - }, - .field_info_spec = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (752 >> 8) & 0xff, - 752 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (144 >> 8) & 0xff, - 144 & 0xff} - } - }, - { - .field_info_mask = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (756 >> 8) & 0xff, - 756 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (145 >> 8) & 0xff, - 145 & 0xff} - } - }, - { - .field_info_mask = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (760 >> 8) & 0xff, - 760 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (763 >> 8) & 0xff, - 763 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (766 >> 8) & 0xff, - 766 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (767 >> 8) & 0xff, - 767 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (768 >> 8) & 0xff, - 768 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (146 >> 8) & 0xff, - 146 & 0xff} - } - }, - { - .field_info_mask = { - .description = "ot_hdr_flags", - .field_bit_size = 8, + .description = "tunnel_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "ot_hdr_flags", - .field_bit_size = 8, + .description = "tunnel_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "ot_hdr_type", + .description = "tun_hdr_type", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "ot_hdr_type", + .description = "tun_hdr_type", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25274,41 +26515,27 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "ot_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "ot_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "ot_hdr_valid", - .field_bit_size = 1, + .description = "out_tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "ot_hdr_valid", - .field_bit_size = 1, + .description = "out_tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl4_hdr_is_tcp_udp", + .description = "llc", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl4_hdr_is_tcp_udp", + .description = "llc", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25316,27 +26543,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "otl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "otl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "otl4_hdr_error", + .description = "roce", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} }, .field_info_spec = { - .description = "otl4_hdr_error", + .description = "roce", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25344,83 +26559,96 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, + .description = "l2ip_func", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, + .description = "l2ip_func", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, + .description = "metadata", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 24) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 16) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, + ULP_THOR2_SYM_CHAIN_META_VAL_MASK & 0xff} }, .field_info_spec = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, + .description = "metadata", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_type", - .field_bit_size = 4, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "otl3_hdr_type", - .field_bit_size = 4, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF & 0xff} } }, { .field_info_mask = { - .description = "otl3_hdr_error", - .field_bit_size = 1, + .description = "parif", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_error", - .field_bit_size = 1, + .description = "parif", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, + .description = "spif", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, + .description = "spif", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl2_two_vtags", + .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "otl2_two_vtags", + .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25428,27 +26656,42 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "recycle_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (133 >> 8) & 0xff, + 133 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "recycle_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (134 >> 8) & 0xff, + 134 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST } }, { .field_info_mask = { - .description = "otl2_uc_mc_bc", + .description = "mpass_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 3} }, .field_info_spec = { - .description = "otl2_uc_mc_bc", + .description = "mpass_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25456,13 +26699,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "otl2_hdr_type", + .description = "spare", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl2_hdr_type", + .description = "spare", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25470,119 +26713,162 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "otl2_hdr_valid", + .description = "valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} }, .field_info_spec = { - .description = "otl2_hdr_valid", + .description = "valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, + /* class_tid: 1, , table: mac_addr_cache.l2_table_wr */ { .field_info_mask = { - .description = "int_ifa_tail", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (135 >> 8) & 0xff, + 135 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { - .description = "int_ifa_tail", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (136 >> 8) & 0xff, + 136 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, { .field_info_mask = { - .description = "int_hdr_group", - .field_bit_size = 2, + .description = "tun_hdr", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "int_hdr_group", - .field_bit_size = 2, + .description = "tun_hdr", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "one_tag", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "one_tag", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "mac_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "mac_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} } }, { .field_info_mask = { - .description = "l2ip_func_id", - .field_bit_size = 8, + .description = "etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "l2ip_func_id", - .field_bit_size = 8, + .description = "etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "agg_error", - .field_bit_size = 1, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "agg_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (137 >> 8) & 0xff, + 137 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -25603,3373 +26889,3210 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (772 >> 8) & 0xff, - 772 & 0xff, + (138 >> 8) & 0xff, + 138 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + (ULP_THOR2_SYM_CHAIN_META_VAL >> 24) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL >> 16) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL >> 8) & 0xff, + ULP_THOR2_SYM_CHAIN_META_VAL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "recycle_count", - .field_bit_size = 4, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_count", - .field_bit_size = 4, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 1, , table: proto_header_cache.rd */ { .field_info_mask = { - .description = "pkt_type", + .description = "group_metadata", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "pkt_type", + .description = "group_metadata", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (169 >> 8) & 0xff, + 169 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + { .field_info_mask = { - .description = "spare", - .field_bit_size = 2, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "spare", - .field_bit_size = 2, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "valid", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 1} + 0xff} }, .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - 1} + (172 >> 8) & 0xff, + 172 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "padding", - .field_bit_size = 72, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "padding", - .field_bit_size = 72, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, - /* class_tid: 1, , table: wm_key_recipe.0 */ + /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */ { .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (774 >> 8) & 0xff, - 774 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (776 >> 8) & 0xff, - 776 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_GLB_ID_WC_PROFILE_ID} } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "domain", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (778 >> 8) & 0xff, - 778 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "meta", - .field_bit_size = 32, + .description = "domain", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (780 >> 8) & 0xff, - 780 & 0xff, + (177 >> 8) & 0xff, + 177 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (782 >> 8) & 0xff, - 782 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (783 >> 8) & 0xff, - 783 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (784 >> 8) & 0xff, - 784 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (788 >> 8) & 0xff, - 788 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, { .field_info_mask = { - .description = "tl2_smac", + .description = "pad", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (792 >> 8) & 0xff, - 792 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_smac", + .description = "pad", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (796 >> 8) & 0xff, - 796 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (800 >> 8) & 0xff, - 800 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (805 >> 8) & 0xff, - 805 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (535 >> 8) & 0xff, + 535 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (810 >> 8) & 0xff, - 810 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (147 >> 8) & 0xff, - 147 & 0xff} + 0xff} }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (820 >> 8) & 0xff, - 820 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (148 >> 8) & 0xff, - 148 & 0xff} + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, + /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (830 >> 8) & 0xff, - 830 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (835 >> 8) & 0xff, - 835 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */ { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (840 >> 8) & 0xff, - 840 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (844 >> 8) & 0xff, - 844 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_GLB_ID_EM_PROFILE_ID} } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "domain", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (848 >> 8) & 0xff, - 848 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (149 >> 8) & 0xff, - 149 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (853 >> 8) & 0xff, - 853 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (150 >> 8) & 0xff, - 150 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "domain", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (858 >> 8) & 0xff, - 858 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (862 >> 8) & 0xff, - 862 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (556 >> 8) & 0xff, + 556 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (866 >> 8) & 0xff, - 866 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (870 >> 8) & 0xff, - 870 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (874 >> 8) & 0xff, - 874 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (151 >> 8) & 0xff, - 151 & 0xff} + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (882 >> 8) & 0xff, - 882 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (152 >> 8) & 0xff, - 152 & 0xff} + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, { .field_info_mask = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (890 >> 8) & 0xff, - 890 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (153 >> 8) & 0xff, - 153 & 0xff} + .description = "pad", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (898 >> 8) & 0xff, - 898 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (154 >> 8) & 0xff, - 154 & 0xff} + .description = "pad", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 1, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "tl3.qos", - .field_bit_size = 8, + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l4_hdr_flags", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l4_hdr_flags", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (906 >> 8) & 0xff, - 906 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (558 >> 8) & 0xff, + 558 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (155 >> 8) & 0xff, - 155 & 0xff} + (67 >> 8) & 0xff, + 67 & 0xff} }, .field_info_spec = { - .description = "tl3.qos", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (914 >> 8) & 0xff, - 914 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (566 >> 8) & 0xff, + 566 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (156 >> 8) & 0xff, - 156 & 0xff} + (70 >> 8) & 0xff, + 70 & 0xff} } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (922 >> 8) & 0xff, - 922 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (574 >> 8) & 0xff, + 574 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + (73 >> 8) & 0xff, + 73 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (157 >> 8) & 0xff, - 157 & 0xff} + (74 >> 8) & 0xff, + 74 & 0xff} }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (930 >> 8) & 0xff, - 930 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (586 >> 8) & 0xff, + 586 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + (78 >> 8) & 0xff, + 78 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (158 >> 8) & 0xff, - 158 & 0xff} + (79 >> 8) & 0xff, + 79 & 0xff} } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (938 >> 8) & 0xff, - 938 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (598 >> 8) & 0xff, + 598 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (159 >> 8) & 0xff, - 159 & 0xff} + (83 >> 8) & 0xff, + 83 & 0xff} }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (947 >> 8) & 0xff, - 947 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (606 >> 8) & 0xff, + 606 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (160 >> 8) & 0xff, - 160 & 0xff} + (86 >> 8) & 0xff, + 86 & 0xff} } }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (956 >> 8) & 0xff, - 956 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (614 >> 8) & 0xff, + 614 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + (89 >> 8) & 0xff, + 89 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (161 >> 8) & 0xff, - 161 & 0xff} + (90 >> 8) & 0xff, + 90 & 0xff} }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (962 >> 8) & 0xff, - 962 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (626 >> 8) & 0xff, + 626 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + (94 >> 8) & 0xff, + 94 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (162 >> 8) & 0xff, - 162 & 0xff} + (95 >> 8) & 0xff, + 95 & 0xff} } }, { .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (968 >> 8) & 0xff, - 968 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + (638 >> 8) & 0xff, + 638 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (163 >> 8) & 0xff, - 163 & 0xff} + (99 >> 8) & 0xff, + 99 & 0xff} }, .field_info_spec = { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (975 >> 8) & 0xff, - 975 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (648 >> 8) & 0xff, + 648 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (164 >> 8) & 0xff, - 164 & 0xff} + (103 >> 8) & 0xff, + 103 & 0xff} } }, { .field_info_mask = { - .description = "l2_smac", - .field_bit_size = 48, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (982 >> 8) & 0xff, - 982 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (658 >> 8) & 0xff, + 658 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + (107 >> 8) & 0xff, + 107 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (165 >> 8) & 0xff, - 165 & 0xff} + (108 >> 8) & 0xff, + 108 & 0xff} }, .field_info_spec = { - .description = "l2_smac", - .field_bit_size = 48, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (989 >> 8) & 0xff, - 989 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (670 >> 8) & 0xff, + 670 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + (112 >> 8) & 0xff, + 112 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (166 >> 8) & 0xff, - 166 & 0xff} + (113 >> 8) & 0xff, + 113 & 0xff} } }, { .field_info_mask = { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (996 >> 8) & 0xff, - 996 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + (682 >> 8) & 0xff, + 682 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (167 >> 8) & 0xff, - 167 & 0xff} + (117 >> 8) & 0xff, + 117 & 0xff} }, .field_info_spec = { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1005 >> 8) & 0xff, - 1005 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + (690 >> 8) & 0xff, + 690 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (168 >> 8) & 0xff, - 168 & 0xff} + (120 >> 8) & 0xff, + 120 & 0xff} } }, { .field_info_mask = { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1014 >> 8) & 0xff, - 1014 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (698 >> 8) & 0xff, + 698 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + (123 >> 8) & 0xff, + 123 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (169 >> 8) & 0xff, - 169 & 0xff} + (124 >> 8) & 0xff, + 124 & 0xff} }, .field_info_spec = { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1032 >> 8) & 0xff, - 1032 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (710 >> 8) & 0xff, + 710 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + (128 >> 8) & 0xff, + 128 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (172 >> 8) & 0xff, - 172 & 0xff} + (129 >> 8) & 0xff, + 129 & 0xff} } }, { .field_info_mask = { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1050 >> 8) & 0xff, - 1050 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (175 >> 8) & 0xff, - 175 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l2_etype", - .field_bit_size = 16, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1059 >> 8) & 0xff, - 1059 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (722 >> 8) & 0xff, + 722 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (176 >> 8) & 0xff, - 176 & 0xff} + (133 >> 8) & 0xff, + 133 & 0xff} } }, { .field_info_mask = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1068 >> 8) & 0xff, - 1068 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (177 >> 8) & 0xff, - 177 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1075 >> 8) & 0xff, - 1075 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (728 >> 8) & 0xff, + 728 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (178 >> 8) & 0xff, - 178 & 0xff} + (134 >> 8) & 0xff, + 134 & 0xff} } }, { .field_info_mask = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1082 >> 8) & 0xff, - 1082 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (179 >> 8) & 0xff, - 179 & 0xff} + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1089 >> 8) & 0xff, - 1089 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (180 >> 8) & 0xff, - 180 & 0xff} + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1096 >> 8) & 0xff, - 1096 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (181 >> 8) & 0xff, - 181 & 0xff} + (734 >> 8) & 0xff, + 734 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1103 >> 8) & 0xff, - 1103 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (182 >> 8) & 0xff, - 182 & 0xff} + (735 >> 8) & 0xff, + 735 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, + .description = "l2_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1110 >> 8) & 0xff, - 1110 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + (736 >> 8) & 0xff, + 736 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (183 >> 8) & 0xff, - 183 & 0xff} + (135 >> 8) & 0xff, + 135 & 0xff} }, .field_info_spec = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, + .description = "l2_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1117 >> 8) & 0xff, - 1117 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + (740 >> 8) & 0xff, + 740 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (184 >> 8) & 0xff, - 184 & 0xff} + (136 >> 8) & 0xff, + 136 & 0xff} } }, { .field_info_mask = { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1124 >> 8) & 0xff, - 1124 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (744 >> 8) & 0xff, + 744 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + (137 >> 8) & 0xff, + 137 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (185 >> 8) & 0xff, - 185 & 0xff} + (138 >> 8) & 0xff, + 138 & 0xff} }, .field_info_spec = { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1138 >> 8) & 0xff, - 1138 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (752 >> 8) & 0xff, + 752 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + (140 >> 8) & 0xff, + 140 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (188 >> 8) & 0xff, - 188 & 0xff} + (141 >> 8) & 0xff, + 141 & 0xff} } }, { .field_info_mask = { - .description = "l3.prot", + .description = "tun_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_flags", .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1152 >> 8) & 0xff, - 1152 & 0xff, + (760 >> 8) & 0xff, + 760 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (191 >> 8) & 0xff, - 191 & 0xff} + (143 >> 8) & 0xff, + 143 & 0xff} }, .field_info_spec = { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1176 >> 8) & 0xff, - 1176 & 0xff, + (777 >> 8) & 0xff, + 777 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_TCP}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (198 >> 8) & 0xff, - 198 & 0xff} + (150 >> 8) & 0xff, + 150 & 0xff} } }, { .field_info_mask = { - .description = "l3.qos", - .field_bit_size = 8, + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1200 >> 8) & 0xff, - 1200 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (205 >> 8) & 0xff, - 205 & 0xff} + (794 >> 8) & 0xff, + 794 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.qos", - .field_bit_size = 8, + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1214 >> 8) & 0xff, - 1214 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (208 >> 8) & 0xff, - 208 & 0xff} + (795 >> 8) & 0xff, + 795 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1228 >> 8) & 0xff, - 1228 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (211 >> 8) & 0xff, - 211 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l4.src", - .field_bit_size = 16, + .description = "tun_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1244 >> 8) & 0xff, - 1244 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (796 >> 8) & 0xff, + 796 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (215 >> 8) & 0xff, - 215 & 0xff} + ULP_THOR2_SYM_TUN_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1260 >> 8) & 0xff, - 1260 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + (797 >> 8) & 0xff, + 797 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (219 >> 8) & 0xff, - 219 & 0xff} + (157 >> 8) & 0xff, + 157 & 0xff} }, .field_info_spec = { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1276 >> 8) & 0xff, - 1276 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (801 >> 8) & 0xff, + 801 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (223 >> 8) & 0xff, - 223 & 0xff} + (158 >> 8) & 0xff, + 158 & 0xff} } }, - /* class_tid: 1, , table: proto_header_cache.wr */ { .field_info_mask = { - .description = "group_metadata", + .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (805 >> 8) & 0xff, + 805 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (159 >> 8) & 0xff, + 159 & 0xff} }, .field_info_spec = { - .description = "group_metadata", + .description = "tl4_hdr_type", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1292 >> 8) & 0xff, - 1292 & 0xff, + (809 >> 8) & 0xff, + 809 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (160 >> 8) & 0xff, + 160 & 0xff} } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (813 >> 8) & 0xff, + 813 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (161 >> 8) & 0xff, + 161 & 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (817 >> 8) & 0xff, + 817 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (162 >> 8) & 0xff, + 162 & 0xff} } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + (821 >> 8) & 0xff, + 821 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (163 >> 8) & 0xff, + 163 & 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + (826 >> 8) & 0xff, + 826 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (165 >> 8) & 0xff, + 165 & 0xff} } }, - /* class_tid: 1, , table: em_flow_conflict_cache.rd */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "group_metadata", + .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (831 >> 8) & 0xff, + 831 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (167 >> 8) & 0xff, + 167 & 0xff} }, .field_info_spec = { - .description = "group_metadata", + .description = "tl3_hdr_type", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1298 >> 8) & 0xff, - 1298 & 0xff, + (835 >> 8) & 0xff, + 835 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (168 >> 8) & 0xff, + 168 & 0xff} } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (839 >> 8) & 0xff, + 839 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (169 >> 8) & 0xff, + 169 & 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (843 >> 8) & 0xff, + 843 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (170 >> 8) & 0xff, + 170 & 0xff} } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "tl3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + (847 >> 8) & 0xff, + 847 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (171 >> 8) & 0xff, + 171 & 0xff} } }, - /* class_tid: 1, , table: em_key_recipe.0 */ { .field_info_mask = { - .description = "em_profile_id", - .field_bit_size = 8, + .description = "tl2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "em_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} - } - }, - { - .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + (851 >> 8) & 0xff, + 851 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1616 >> 8) & 0xff, - 1616 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 11, + .description = "tl2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1618 >> 8) & 0xff, - 1618 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + (854 >> 8) & 0xff, + 854 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1620 >> 8) & 0xff, - 1620 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "meta", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1622 >> 8) & 0xff, - 1622 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 4, + .description = "tl2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1624 >> 8) & 0xff, - 1624 & 0xff, + (857 >> 8) & 0xff, + 857 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 4, + .description = "tl2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1625 >> 8) & 0xff, - 1625 & 0xff, + (858 >> 8) & 0xff, + 858 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1626 >> 8) & 0xff, - 1626 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, + .description = "tl2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1631 >> 8) & 0xff, - 1631 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (859 >> 8) & 0xff, + 859 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TL2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (172 >> 8) & 0xff, + 172 & 0xff} } }, { .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1636 >> 8) & 0xff, - 1636 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1640 >> 8) & 0xff, - 1640 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1644 >> 8) & 0xff, - 1644 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1649 >> 8) & 0xff, - 1649 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1654 >> 8) & 0xff, - 1654 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (270 >> 8) & 0xff, - 270 & 0xff} + .description = "ot_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1664 >> 8) & 0xff, - 1664 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (271 >> 8) & 0xff, - 271 & 0xff} + .description = "ot_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1674 >> 8) & 0xff, - 1674 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1679 >> 8) & 0xff, - 1679 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1684 >> 8) & 0xff, - 1684 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_is_tcp_udp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1688 >> 8) & 0xff, - 1688 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_is_tcp_udp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1692 >> 8) & 0xff, - 1692 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1696 >> 8) & 0xff, - 1696 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1700 >> 8) & 0xff, - 1700 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1704 >> 8) & 0xff, - 1704 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1708 >> 8) & 0xff, - 1708 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1712 >> 8) & 0xff, - 1712 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1716 >> 8) & 0xff, - 1716 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (272 >> 8) & 0xff, - 272 & 0xff} + .description = "otl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1724 >> 8) & 0xff, - 1724 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (273 >> 8) & 0xff, - 273 & 0xff} + .description = "otl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1732 >> 8) & 0xff, - 1732 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (274 >> 8) & 0xff, - 274 & 0xff} + .description = "otl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1740 >> 8) & 0xff, - 1740 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (275 >> 8) & 0xff, - 275 & 0xff} + .description = "otl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1748 >> 8) & 0xff, - 1748 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (276 >> 8) & 0xff, - 276 & 0xff} + .description = "otl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1756 >> 8) & 0xff, - 1756 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (277 >> 8) & 0xff, - 277 & 0xff} + .description = "otl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1764 >> 8) & 0xff, - 1764 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (278 >> 8) & 0xff, - 278 & 0xff} + .description = "otl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1772 >> 8) & 0xff, - 1772 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (279 >> 8) & 0xff, - 279 & 0xff} + .description = "otl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1780 >> 8) & 0xff, - 1780 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (280 >> 8) & 0xff, - 280 & 0xff} + .description = "otl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1789 >> 8) & 0xff, - 1789 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (281 >> 8) & 0xff, - 281 & 0xff} + .description = "otl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, + .description = "otl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "otl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "otl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2ip_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2ip_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (863 >> 8) & 0xff, + 863 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + } + }, + { + .field_info_mask = { + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 1, , table: wm_key_recipe.0 */ + { + .field_info_mask = { + .description = "wc_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "wc_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_cntxt_id", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1798 >> 8) & 0xff, - 1798 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (865 >> 8) & 0xff, + 865 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (282 >> 8) & 0xff, - 282 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, + .description = "l2_cntxt_id", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1804 >> 8) & 0xff, - 1804 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (867 >> 8) & 0xff, + 867 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (283 >> 8) & 0xff, - 283 & 0xff} + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (869 >> 8) & 0xff, + 869 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (871 >> 8) & 0xff, + 871 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "rcyc_cnt", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1810 >> 8) & 0xff, - 1810 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (873 >> 8) & 0xff, + 873 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (284 >> 8) & 0xff, - 284 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_dmac", + .description = "rcyc_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (874 >> 8) & 0xff, + 874 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_dmac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1819 >> 8) & 0xff, - 1819 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (875 >> 8) & 0xff, + 875 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (285 >> 8) & 0xff, - 285 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (879 >> 8) & 0xff, + 879 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_smac", + .description = "tl2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1828 >> 8) & 0xff, - 1828 & 0xff, + (883 >> 8) & 0xff, + 883 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (286 >> 8) & 0xff, - 286 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_smac", + .description = "tl2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1835 >> 8) & 0xff, - 1835 & 0xff, + (887 >> 8) & 0xff, + 887 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (287 >> 8) & 0xff, - 287 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ovv", + .description = "tl2_ovv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1842 >> 8) & 0xff, - 1842 & 0xff, + (891 >> 8) & 0xff, + 891 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (288 >> 8) & 0xff, - 288 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_ovv", + .description = "tl2_ovv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1851 >> 8) & 0xff, - 1851 & 0xff, + (896 >> 8) & 0xff, + 896 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (289 >> 8) & 0xff, - 289 & 0xff} + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ivv", + .description = "tl2_ivv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1860 >> 8) & 0xff, - 1860 & 0xff, + (901 >> 8) & 0xff, + 901 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (290 >> 8) & 0xff, - 290 & 0xff} + (173 >> 8) & 0xff, + 173 & 0xff} }, .field_info_spec = { - .description = "l2_ivv", + .description = "tl2_ivv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1878 >> 8) & 0xff, - 1878 & 0xff, + (911 >> 8) & 0xff, + 911 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (293 >> 8) & 0xff, - 293 & 0xff} + (174 >> 8) & 0xff, + 174 & 0xff} } }, { .field_info_mask = { - .description = "l2_etype", + .description = "tl2_etype", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1896 >> 8) & 0xff, - 1896 & 0xff, + (921 >> 8) & 0xff, + 921 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (296 >> 8) & 0xff, - 296 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_etype", + .description = "tl2_etype", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1905 >> 8) & 0xff, - 1905 & 0xff, + (926 >> 8) & 0xff, + 926 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (297 >> 8) & 0xff, - 297 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.sip.ipv4", + .description = "tl3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1914 >> 8) & 0xff, - 1914 & 0xff, + (931 >> 8) & 0xff, + 931 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (298 >> 8) & 0xff, - 298 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.sip.ipv4", + .description = "tl3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1921 >> 8) & 0xff, - 1921 & 0xff, + (935 >> 8) & 0xff, + 935 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (299 >> 8) & 0xff, - 299 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.sip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1928 >> 8) & 0xff, - 1928 & 0xff, + (939 >> 8) & 0xff, + 939 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (300 >> 8) & 0xff, - 300 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (175 >> 8) & 0xff, + 175 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.sip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1935 >> 8) & 0xff, - 1935 & 0xff, + (944 >> 8) & 0xff, + 944 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (301 >> 8) & 0xff, - 301 & 0xff} + (176 >> 8) & 0xff, + 176 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.dip.ipv4", + .description = "tl3.dip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1942 >> 8) & 0xff, - 1942 & 0xff, + (949 >> 8) & 0xff, + 949 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (302 >> 8) & 0xff, - 302 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.dip.ipv4", + .description = "tl3.dip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1949 >> 8) & 0xff, - 1949 & 0xff, + (953 >> 8) & 0xff, + 953 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (303 >> 8) & 0xff, - 303 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.dip.ipv6", + .description = "tl3.dip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1956 >> 8) & 0xff, - 1956 & 0xff, + (957 >> 8) & 0xff, + 957 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (304 >> 8) & 0xff, - 304 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.dip.ipv6", + .description = "tl3.dip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1963 >> 8) & 0xff, - 1963 & 0xff, + (961 >> 8) & 0xff, + 961 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (305 >> 8) & 0xff, - 305 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1970 >> 8) & 0xff, - 1970 & 0xff, + (965 >> 8) & 0xff, + 965 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (306 >> 8) & 0xff, - 306 & 0xff} + (177 >> 8) & 0xff, + 177 & 0xff} }, .field_info_spec = { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1984 >> 8) & 0xff, - 1984 & 0xff, + (973 >> 8) & 0xff, + 973 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (309 >> 8) & 0xff, - 309 & 0xff} + (178 >> 8) & 0xff, + 178 & 0xff} } }, { .field_info_mask = { - .description = "l3.prot", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1998 >> 8) & 0xff, - 1998 & 0xff, + (981 >> 8) & 0xff, + 981 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (312 >> 8) & 0xff, - 312 & 0xff} + (179 >> 8) & 0xff, + 179 & 0xff} }, .field_info_spec = { - .description = "l3.prot", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2012 >> 8) & 0xff, - 2012 & 0xff, + (989 >> 8) & 0xff, + 989 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (315 >> 8) & 0xff, - 315 & 0xff} + (180 >> 8) & 0xff, + 180 & 0xff} } }, { .field_info_mask = { - .description = "l3.qos", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2026 >> 8) & 0xff, - 2026 & 0xff, + (997 >> 8) & 0xff, + 997 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (318 >> 8) & 0xff, - 318 & 0xff} + (181 >> 8) & 0xff, + 181 & 0xff} }, .field_info_spec = { - .description = "l3.qos", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2040 >> 8) & 0xff, - 2040 & 0xff, + (1005 >> 8) & 0xff, + 1005 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (321 >> 8) & 0xff, - 321 & 0xff} + (182 >> 8) & 0xff, + 182 & 0xff} } }, { .field_info_mask = { - .description = "l4.src", + .description = "tl4.src", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2054 >> 8) & 0xff, - 2054 & 0xff, + (1013 >> 8) & 0xff, + 1013 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (324 >> 8) & 0xff, - 324 & 0xff} + (183 >> 8) & 0xff, + 183 & 0xff} }, .field_info_spec = { - .description = "l4.src", + .description = "tl4.src", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2068 >> 8) & 0xff, - 2068 & 0xff, + (1021 >> 8) & 0xff, + 1021 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (327 >> 8) & 0xff, - 327 & 0xff} + (184 >> 8) & 0xff, + 184 & 0xff} } }, { .field_info_mask = { - .description = "l4.dst", + .description = "tl4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2082 >> 8) & 0xff, - 2082 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (1029 >> 8) & 0xff, + 1029 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (330 >> 8) & 0xff, - 330 & 0xff} + (185 >> 8) & 0xff, + 185 & 0xff} }, .field_info_spec = { - .description = "l4.dst", + .description = "tl4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2096 >> 8) & 0xff, - 2096 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1038 >> 8) & 0xff, + 1038 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (333 >> 8) & 0xff, - 333 & 0xff} - } - }, - /* class_tid: 1, , table: em_flow_conflict_cache.wr */ - { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + (186 >> 8) & 0xff, + 186 & 0xff} } }, { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2110 >> 8) & 0xff, - 2110 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + (1047 >> 8) & 0xff, + 1047 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} - } - }, - { - .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} - } - }, - /* class_tid: 2, , table: port_table.get_def_rd */ - { - .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} - } - }, - /* class_tid: 2, , table: l2_cntxt_tcam_cache.def_rd */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - /* class_tid: 2, , table: multi_flow_tunnel_cache.rd */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (187 >> 8) & 0xff, + 187 & 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (1053 >> 8) & 0xff, + 1053 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (188 >> 8) & 0xff, + 188 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1059 >> 8) & 0xff, + 1059 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (189 >> 8) & 0xff, + 189 & 0xff} }, .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1063 >> 8) & 0xff, + 1063 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, .field_opr2 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_SRV6_T_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_SRV6_T_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (190 >> 8) & 0xff, + 190 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_smac", + .description = "l2_dmac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2149 >> 8) & 0xff, - 2149 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1067 >> 8) & 0xff, + 1067 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (191 >> 8) & 0xff, + 191 & 0xff} }, .field_info_spec = { - .description = "tunnel_smac", + .description = "l2_dmac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2151 >> 8) & 0xff, - 2151 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1074 >> 8) & 0xff, + 1074 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (192 >> 8) & 0xff, + 192 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dmac", + .description = "l2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2153 >> 8) & 0xff, - 2153 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1081 >> 8) & 0xff, + 1081 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (193 >> 8) & 0xff, + 193 & 0xff} }, .field_info_spec = { - .description = "tunnel_dmac", + .description = "l2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2155 >> 8) & 0xff, - 2155 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1088 >> 8) & 0xff, + 1088 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (194 >> 8) & 0xff, + 194 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2157 >> 8) & 0xff, - 2157 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1095 >> 8) & 0xff, + 1095 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (195 >> 8) & 0xff, + 195 & 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2159 >> 8) & 0xff, - 2159 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1104 >> 8) & 0xff, + 1104 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (196 >> 8) & 0xff, + 196 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2161 >> 8) & 0xff, - 2161 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1113 >> 8) & 0xff, + 1113 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (197 >> 8) & 0xff, + 197 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2163 >> 8) & 0xff, - 2163 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1131 >> 8) & 0xff, + 1131 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (200 >> 8) & 0xff, + 200 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2165 >> 8) & 0xff, - 2165 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1149 >> 8) & 0xff, + 1149 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (203 >> 8) & 0xff, + 203 & 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2167 >> 8) & 0xff, - 2167 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1158 >> 8) & 0xff, + 1158 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (204 >> 8) & 0xff, + 204 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v4", + .description = "l3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2169 >> 8) & 0xff, - 2169 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1167 >> 8) & 0xff, + 1167 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (205 >> 8) & 0xff, + 205 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v4", + .description = "l3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2171 >> 8) & 0xff, - 2171 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1174 >> 8) & 0xff, + 1174 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (206 >> 8) & 0xff, + 206 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sport", - .field_bit_size = 16, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2173 >> 8) & 0xff, - 2173 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1181 >> 8) & 0xff, + 1181 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (207 >> 8) & 0xff, + 207 & 0xff} }, .field_info_spec = { - .description = "tunnel_sport", - .field_bit_size = 16, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2175 >> 8) & 0xff, - 2175 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1188 >> 8) & 0xff, + 1188 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 2, , table: multi_flow_tunnel_cache.wr */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - { - .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, - .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (208 >> 8) & 0xff, + 208 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_smac", - .field_bit_size = 48, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2178 >> 8) & 0xff, - 2178 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1195 >> 8) & 0xff, + 1195 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (209 >> 8) & 0xff, + 209 & 0xff} }, .field_info_spec = { - .description = "tunnel_smac", - .field_bit_size = 48, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2180 >> 8) & 0xff, - 2180 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1202 >> 8) & 0xff, + 1202 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (210 >> 8) & 0xff, + 210 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dmac", - .field_bit_size = 48, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2182 >> 8) & 0xff, - 2182 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1209 >> 8) & 0xff, + 1209 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (211 >> 8) & 0xff, + 211 & 0xff} }, .field_info_spec = { - .description = "tunnel_dmac", - .field_bit_size = 48, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2184 >> 8) & 0xff, - 2184 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1216 >> 8) & 0xff, + 1216 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (212 >> 8) & 0xff, + 212 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2186 >> 8) & 0xff, - 2186 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1223 >> 8) & 0xff, + 1223 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (213 >> 8) & 0xff, + 213 & 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2188 >> 8) & 0xff, - 2188 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1237 >> 8) & 0xff, + 1237 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (216 >> 8) & 0xff, + 216 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2190 >> 8) & 0xff, - 2190 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1251 >> 8) & 0xff, + 1251 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (219 >> 8) & 0xff, + 219 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2192 >> 8) & 0xff, - 2192 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (1275 >> 8) & 0xff, + 1275 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR2_SYM_IP_PROTO_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (226 >> 8) & 0xff, + 226 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2194 >> 8) & 0xff, - 2194 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1299 >> 8) & 0xff, + 1299 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (233 >> 8) & 0xff, + 233 & 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2196 >> 8) & 0xff, - 2196 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1313 >> 8) & 0xff, + 1313 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (236 >> 8) & 0xff, + 236 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2198 >> 8) & 0xff, - 2198 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1327 >> 8) & 0xff, + 1327 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (239 >> 8) & 0xff, + 239 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2200 >> 8) & 0xff, - 2200 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1343 >> 8) & 0xff, + 1343 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (243 >> 8) & 0xff, + 243 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sport", + .description = "l4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2202 >> 8) & 0xff, - 2202 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1359 >> 8) & 0xff, + 1359 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (247 >> 8) & 0xff, + 247 & 0xff} }, .field_info_spec = { - .description = "tunnel_sport", + .description = "l4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2204 >> 8) & 0xff, - 2204 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1375 >> 8) & 0xff, + 1375 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 2, , table: flow_chain_cache.group_check */ - { - .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_GROUP_ID & 0xff} - } - }, - /* class_tid: 2, , table: flow_chain_cache.write */ - { - .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (251 >> 8) & 0xff, + 251 & 0xff} } }, - /* class_tid: 2, , table: proto_header_cache.rd */ + /* class_tid: 1, , table: proto_header_cache.wr */ { .field_info_mask = { .description = "group_metadata", @@ -28985,8 +30108,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2216 >> 8) & 0xff, - 2216 & 0xff, + (1392 >> 8) & 0xff, + 1392 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -29041,7 +30164,21 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ + /* class_tid: 1, , table: em_flow_conflict_cache.rd */ + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { .field_info_mask = { .description = "group_metadata", @@ -29057,8 +30194,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2219 >> 8) & 0xff, - 2219 & 0xff, + (1400 >> 8) & 0xff, + 1400 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -29087,7 +30224,6 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { .description = "hdr_bitmap", @@ -29110,1016 +30246,1195 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ + /* class_tid: 1, , table: em_key_recipe.0 */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "em_profile_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "em_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (2577 >> 8) & 0xff, - 2577 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1722 >> 8) & 0xff, + 1722 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (1724 >> 8) & 0xff, + 1724 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + (1726 >> 8) & 0xff, + 1726 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + (1728 >> 8) & 0xff, + 1728 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, - /* class_tid: 2, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "rcyc_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1730 >> 8) & 0xff, + 1730 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "rcyc_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1731 >> 8) & 0xff, + 1731 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1732 >> 8) & 0xff, + 1732 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1737 >> 8) & 0xff, + 1737 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1742 >> 8) & 0xff, + 1742 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1746 >> 8) & 0xff, + 1746 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2596 >> 8) & 0xff, - 2596 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1750 >> 8) & 0xff, + 1750 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (397 >> 8) & 0xff, - 397 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2604 >> 8) & 0xff, - 2604 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1755 >> 8) & 0xff, + 1755 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (400 >> 8) & 0xff, - 400 & 0xff} + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2612 >> 8) & 0xff, - 2612 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1760 >> 8) & 0xff, + 1760 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (403 >> 8) & 0xff, - 403 & 0xff} + (299 >> 8) & 0xff, + 299 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2620 >> 8) & 0xff, - 2620 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1770 >> 8) & 0xff, + 1770 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (406 >> 8) & 0xff, - 406 & 0xff} + (300 >> 8) & 0xff, + 300 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tl2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2628 >> 8) & 0xff, - 2628 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1780 >> 8) & 0xff, + 1780 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (409 >> 8) & 0xff, - 409 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tl2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2636 >> 8) & 0xff, - 2636 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (412 >> 8) & 0xff, - 412 & 0xff} + (1785 >> 8) & 0xff, + 1785 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "tl3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2644 >> 8) & 0xff, - 2644 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1790 >> 8) & 0xff, + 1790 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (415 >> 8) & 0xff, - 415 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "tl3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2652 >> 8) & 0xff, - 2652 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1794 >> 8) & 0xff, + 1794 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (418 >> 8) & 0xff, - 418 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3_protocol", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1798 >> 8) & 0xff, + 1798 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3_protocol", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1802 >> 8) & 0xff, + 1802 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "tl3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2660 >> 8) & 0xff, - 2660 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1806 >> 8) & 0xff, + 1806 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (421 >> 8) & 0xff, - 421 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "tl3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2668 >> 8) & 0xff, - 2668 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1810 >> 8) & 0xff, + 1810 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (424 >> 8) & 0xff, - 424 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "tl3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2676 >> 8) & 0xff, - 2676 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1814 >> 8) & 0xff, + 1814 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (427 >> 8) & 0xff, - 427 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "tl3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2684 >> 8) & 0xff, - 2684 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1818 >> 8) & 0xff, + 1818 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (430 >> 8) & 0xff, - 430 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "tl3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2692 >> 8) & 0xff, - 2692 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1822 >> 8) & 0xff, + 1822 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (433 >> 8) & 0xff, - 433 & 0xff} + (301 >> 8) & 0xff, + 301 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "tl3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2700 >> 8) & 0xff, - 2700 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1830 >> 8) & 0xff, + 1830 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (436 >> 8) & 0xff, - 436 & 0xff} + (302 >> 8) & 0xff, + 302 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "tl3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2708 >> 8) & 0xff, - 2708 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1838 >> 8) & 0xff, + 1838 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (439 >> 8) & 0xff, - 439 & 0xff} + (303 >> 8) & 0xff, + 303 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "tl3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2716 >> 8) & 0xff, - 2716 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1846 >> 8) & 0xff, + 1846 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (442 >> 8) & 0xff, - 442 & 0xff} + (304 >> 8) & 0xff, + 304 & 0xff} } }, { .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1854 >> 8) & 0xff, + 1854 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (305 >> 8) & 0xff, + 305 & 0xff} }, .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "tl3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2724 >> 8) & 0xff, - 2724 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1862 >> 8) & 0xff, + 1862 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (445 >> 8) & 0xff, - 445 & 0xff} + (306 >> 8) & 0xff, + 306 & 0xff} } }, { .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1870 >> 8) & 0xff, + 1870 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (307 >> 8) & 0xff, + 307 & 0xff} }, .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2730 >> 8) & 0xff, - 2730 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1878 >> 8) & 0xff, + 1878 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (446 >> 8) & 0xff, - 446 & 0xff} + (308 >> 8) & 0xff, + 308 & 0xff} } }, { .field_info_mask = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1886 >> 8) & 0xff, + 1886 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (309 >> 8) & 0xff, + 309 & 0xff} }, .field_info_spec = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1895 >> 8) & 0xff, + 1895 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (310 >> 8) & 0xff, + 310 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2736 >> 8) & 0xff, - 2736 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (1904 >> 8) & 0xff, + 1904 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (311 >> 8) & 0xff, + 311 & 0xff} }, .field_info_spec = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2737 >> 8) & 0xff, - 2737 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1910 >> 8) & 0xff, + 1910 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (312 >> 8) & 0xff, + 312 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2738 >> 8) & 0xff, - 2738 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1916 >> 8) & 0xff, + 1916 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (447 >> 8) & 0xff, - 447 & 0xff} + (313 >> 8) & 0xff, + 313 & 0xff} }, .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2742 >> 8) & 0xff, - 2742 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1920 >> 8) & 0xff, + 1920 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { + (BNXT_ULP_CF_IDX_SRV6_T_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_SRV6_T_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (448 >> 8) & 0xff, - 448 & 0xff} + (314 >> 8) & 0xff, + 314 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1924 >> 8) & 0xff, + 1924 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (315 >> 8) & 0xff, + 315 & 0xff} }, .field_info_spec = { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2746 >> 8) & 0xff, - 2746 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1933 >> 8) & 0xff, + 1933 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L2_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (449 >> 8) & 0xff, - 449 & 0xff} - } - }, - { - .field_info_mask = { - .description = "tun_hdr_flags", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tun_hdr_flags", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + (316 >> 8) & 0xff, + 316 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2750 >> 8) & 0xff, - 2750 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1942 >> 8) & 0xff, + 1942 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (450 >> 8) & 0xff, - 450 & 0xff} + (317 >> 8) & 0xff, + 317 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2762 >> 8) & 0xff, - 2762 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1949 >> 8) & 0xff, + 1949 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (455 >> 8) & 0xff, - 455 & 0xff} + (318 >> 8) & 0xff, + 318 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2774 >> 8) & 0xff, - 2774 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (1956 >> 8) & 0xff, + 1956 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (319 >> 8) & 0xff, + 319 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2775 >> 8) & 0xff, - 2775 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1965 >> 8) & 0xff, + 1965 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (320 >> 8) & 0xff, + 320 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1974 >> 8) & 0xff, + 1974 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (321 >> 8) & 0xff, + 321 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_valid", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2776 >> 8) & 0xff, - 2776 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1992 >> 8) & 0xff, + 1992 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (324 >> 8) & 0xff, + 324 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2777 >> 8) & 0xff, - 2777 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2010 >> 8) & 0xff, + 2010 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (460 >> 8) & 0xff, - 460 & 0xff} + (327 >> 8) & 0xff, + 327 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2781 >> 8) & 0xff, - 2781 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2019 >> 8) & 0xff, + 2019 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (461 >> 8) & 0xff, - 461 & 0xff} + (328 >> 8) & 0xff, + 328 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_type", - .field_bit_size = 4, + .description = "l3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2785 >> 8) & 0xff, - 2785 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2028 >> 8) & 0xff, + 2028 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (462 >> 8) & 0xff, - 462 & 0xff} + (329 >> 8) & 0xff, + 329 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_type", - .field_bit_size = 4, + .description = "l3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2789 >> 8) & 0xff, - 2789 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (2035 >> 8) & 0xff, + 2035 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (463 >> 8) & 0xff, - 463 & 0xff} + (330 >> 8) & 0xff, + 330 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_error", - .field_bit_size = 1, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2793 >> 8) & 0xff, - 2793 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2042 >> 8) & 0xff, + 2042 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (464 >> 8) & 0xff, - 464 & 0xff} + (331 >> 8) & 0xff, + 331 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_error", - .field_bit_size = 1, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2797 >> 8) & 0xff, - 2797 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (2049 >> 8) & 0xff, + 2049 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (465 >> 8) & 0xff, - 465 & 0xff} + (332 >> 8) & 0xff, + 332 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2801 >> 8) & 0xff, - 2801 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2056 >> 8) & 0xff, + 2056 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (466 >> 8) & 0xff, - 466 & 0xff} + (333 >> 8) & 0xff, + 333 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2806 >> 8) & 0xff, - 2806 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2063 >> 8) & 0xff, + 2063 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (468 >> 8) & 0xff, - 468 & 0xff} + (334 >> 8) & 0xff, + 334 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2811 >> 8) & 0xff, - 2811 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2070 >> 8) & 0xff, + 2070 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (470 >> 8) & 0xff, - 470 & 0xff} + (335 >> 8) & 0xff, + 335 & 0xff} }, .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2815 >> 8) & 0xff, - 2815 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2077 >> 8) & 0xff, + 2077 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_ISIP_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (471 >> 8) & 0xff, - 471 & 0xff} + (336 >> 8) & 0xff, + 336 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2819 >> 8) & 0xff, - 2819 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2084 >> 8) & 0xff, + 2084 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (472 >> 8) & 0xff, - 472 & 0xff} + (337 >> 8) & 0xff, + 337 & 0xff} }, .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2823 >> 8) & 0xff, - 2823 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2098 >> 8) & 0xff, + 2098 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6}, + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (473 >> 8) & 0xff, - 473 & 0xff} + (340 >> 8) & 0xff, + 340 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_error", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2827 >> 8) & 0xff, - 2827 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2112 >> 8) & 0xff, + 2112 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (474 >> 8) & 0xff, - 474 & 0xff} + (343 >> 8) & 0xff, + 343 & 0xff} }, .field_info_spec = { - .description = "tl3_hdr_error", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2831 >> 8) & 0xff, - 2831 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (2126 >> 8) & 0xff, + 2126 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (475 >> 8) & 0xff, - 475 & 0xff} + (346 >> 8) & 0xff, + 346 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (2140 >> 8) & 0xff, + 2140 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (349 >> 8) & 0xff, + 349 & 0xff} }, .field_info_spec = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2835 >> 8) & 0xff, - 2835 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2154 >> 8) & 0xff, + 2154 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (476 >> 8) & 0xff, - 476 & 0xff} + (352 >> 8) & 0xff, + 352 & 0xff} } }, { .field_info_mask = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (2168 >> 8) & 0xff, + 2168 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (355 >> 8) & 0xff, + 355 & 0xff} }, .field_info_spec = { - .description = "tl2_two_vtags", - .field_bit_size = 1, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2839 >> 8) & 0xff, - 2839 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2182 >> 8) & 0xff, + 2182 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (358 >> 8) & 0xff, + 358 & 0xff} } }, { .field_info_mask = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (2196 >> 8) & 0xff, + 2196 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (361 >> 8) & 0xff, + 361 & 0xff} }, .field_info_spec = { - .description = "tl2_vtag_present", - .field_bit_size = 1, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2842 >> 8) & 0xff, - 2842 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2210 >> 8) & 0xff, + 2210 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (364 >> 8) & 0xff, + 364 & 0xff} } }, + /* class_tid: 1, , table: em_flow_conflict_cache.wr */ { .field_info_mask = { - .description = "tl2_uc_mc_bc", + .description = "recycle_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_uc_mc_bc", + .description = "recycle_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -30127,418 +31442,850 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2845 >> 8) & 0xff, - 2845 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2846 >> 8) & 0xff, - 2846 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2847 >> 8) & 0xff, - 2847 & 0xff, + (2224 >> 8) & 0xff, + 2224 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_TL2_HDR_VALID_YES}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "ot_hdr_flags", + .description = "prof_func_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "ot_hdr_flags", + .description = "prof_func_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "ot_hdr_type", - .field_bit_size = 5, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "ot_hdr_type", - .field_bit_size = 5, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 1, , table: hot_upgrade_tcam_cache.wr */ { .field_info_mask = { - .description = "ot_hdr_error", - .field_bit_size = 1, + .description = "tcam_id", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "ot_hdr_error", - .field_bit_size = 1, + .description = "tcam_id", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 & 0xff} } }, + /* class_tid: 2, , table: port_table.get_def_rd */ { .field_info_mask = { - .description = "ot_hdr_valid", - .field_bit_size = 1, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "ot_hdr_valid", - .field_bit_size = 1, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, + /* class_tid: 2, , table: l2_cntxt_tcam_cache.def_rd */ { .field_info_mask = { - .description = "otl4_hdr_is_tcp_udp", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_is_tcp_udp", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, + /* class_tid: 2, , table: multi_flow_tunnel_cache.rd */ { .field_info_mask = { - .description = "otl4_hdr_type", - .field_bit_size = 4, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_type", - .field_bit_size = 4, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, { .field_info_mask = { - .description = "otl4_hdr_error", - .field_bit_size = 1, + .description = "tunnel_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "otl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2270 >> 8) & 0xff, + 2270 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2272 >> 8) & 0xff, + 2272 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2274 >> 8) & 0xff, + 2274 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2276 >> 8) & 0xff, + 2276 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2278 >> 8) & 0xff, + 2278 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2280 >> 8) & 0xff, + 2280 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2282 >> 8) & 0xff, + 2282 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2284 >> 8) & 0xff, + 2284 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2286 >> 8) & 0xff, + 2286 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2288 >> 8) & 0xff, + 2288 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2290 >> 8) & 0xff, + 2290 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2292 >> 8) & 0xff, + 2292 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2294 >> 8) & 0xff, + 2294 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2296 >> 8) & 0xff, + 2296 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 2, , table: multi_flow_tunnel_cache.wr */ { .field_info_mask = { - .description = "otl2_uc_mc_bc", - .field_bit_size = 2, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { - .description = "otl2_uc_mc_bc", - .field_bit_size = 2, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, { .field_info_mask = { - .description = "otl2_hdr_type", - .field_bit_size = 2, + .description = "tunnel_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "otl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2299 >> 8) & 0xff, + 2299 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2301 >> 8) & 0xff, + 2301 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_ifa_tail", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2303 >> 8) & 0xff, + 2303 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "int_ifa_tail", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2305 >> 8) & 0xff, + 2305 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_hdr_group", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2307 >> 8) & 0xff, + 2307 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "int_hdr_group", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2309 >> 8) & 0xff, + 2309 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2311 >> 8) & 0xff, + 2311 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2313 >> 8) & 0xff, + 2313 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2315 >> 8) & 0xff, + 2315 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2317 >> 8) & 0xff, + 2317 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2319 >> 8) & 0xff, + 2319 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2321 >> 8) & 0xff, + 2321 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2323 >> 8) & 0xff, + 2323 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2325 >> 8) & 0xff, + 2325 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 2, , table: flow_chain_cache.group_check */ + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} } }, + /* class_tid: 2, , table: flow_chain_cache.write */ { .field_info_mask = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} } }, + /* class_tid: 2, , table: proto_header_cache.rd */ { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (2337 >> 8) & 0xff, + 2337 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2ip_func_id", + .description = "prof_func_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2ip_func_id", + .description = "prof_func_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "agg_error", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "agg_error", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "metadata", - .field_bit_size = 32, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "metadata", - .field_bit_size = 32, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2849 >> 8) & 0xff, - 2849 & 0xff, + (2340 >> 8) & 0xff, + 2340 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -30550,591 +32297,664 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "recycle_count", - .field_bit_size = 4, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "recycle_count", - .field_bit_size = 4, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "pkt_type", - .field_bit_size = 4, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "pkt_type", - .field_bit_size = 4, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2698 >> 8) & 0xff, + 2698 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "spare", - .field_bit_size = 2, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "spare", - .field_bit_size = 2, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "valid", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 1} + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "valid", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - 1} + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, + /* class_tid: 2, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "padding", - .field_bit_size = 72, + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "padding", - .field_bit_size = 72, + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: wm_key_recipe.0 */ { .field_info_mask = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "l4_hdr_flags", + .field_bit_size = 9, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "l4_hdr_flags", + .field_bit_size = 9, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 11, + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2851 >> 8) & 0xff, - 2851 & 0xff, + (2717 >> 8) & 0xff, + 2717 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (428 >> 8) & 0xff, + 428 & 0xff} }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 11, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2853 >> 8) & 0xff, - 2853 & 0xff, + (2725 >> 8) & 0xff, + 2725 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (431 >> 8) & 0xff, + 431 & 0xff} } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2855 >> 8) & 0xff, - 2855 & 0xff, + (2733 >> 8) & 0xff, + 2733 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (434 >> 8) & 0xff, + 434 & 0xff} }, .field_info_spec = { - .description = "meta", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2857 >> 8) & 0xff, - 2857 & 0xff, + (2741 >> 8) & 0xff, + 2741 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (437 >> 8) & 0xff, + 437 & 0xff} } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 4, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2859 >> 8) & 0xff, - 2859 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (2749 >> 8) & 0xff, + 2749 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (440 >> 8) & 0xff, + 440 & 0xff} }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 4, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2860 >> 8) & 0xff, - 2860 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2757 >> 8) & 0xff, + 2757 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (443 >> 8) & 0xff, + 443 & 0xff} } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2861 >> 8) & 0xff, - 2861 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2765 >> 8) & 0xff, + 2765 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (446 >> 8) & 0xff, + 446 & 0xff} }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2865 >> 8) & 0xff, - 2865 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2773 >> 8) & 0xff, + 2773 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (449 >> 8) & 0xff, + 449 & 0xff} } }, { .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2869 >> 8) & 0xff, - 2869 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (477 >> 8) & 0xff, - 477 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2781 >> 8) & 0xff, + 2781 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (452 >> 8) & 0xff, + 452 & 0xff} }, .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2876 >> 8) & 0xff, - 2876 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (2789 >> 8) & 0xff, + 2789 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (478 >> 8) & 0xff, - 478 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (455 >> 8) & 0xff, + 455 & 0xff} } }, { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2883 >> 8) & 0xff, - 2883 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2797 >> 8) & 0xff, + 2797 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (458 >> 8) & 0xff, + 458 & 0xff} }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2888 >> 8) & 0xff, - 2888 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2805 >> 8) & 0xff, + 2805 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (461 >> 8) & 0xff, + 461 & 0xff} } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2893 >> 8) & 0xff, - 2893 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + (2813 >> 8) & 0xff, + 2813 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (479 >> 8) & 0xff, - 479 & 0xff} + (464 >> 8) & 0xff, + 464 & 0xff} }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2903 >> 8) & 0xff, - 2903 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + (2821 >> 8) & 0xff, + 2821 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (480 >> 8) & 0xff, - 480 & 0xff} + (467 >> 8) & 0xff, + 467 & 0xff} } }, { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2913 >> 8) & 0xff, - 2913 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2829 >> 8) & 0xff, + 2829 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (470 >> 8) & 0xff, + 470 & 0xff} }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2918 >> 8) & 0xff, - 2918 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2837 >> 8) & 0xff, + 2837 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (473 >> 8) & 0xff, + 473 & 0xff} } }, { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2923 >> 8) & 0xff, - 2923 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2927 >> 8) & 0xff, - 2927 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2845 >> 8) & 0xff, + 2845 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (476 >> 8) & 0xff, + 476 & 0xff} } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2931 >> 8) & 0xff, - 2931 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (481 >> 8) & 0xff, - 481 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2936 >> 8) & 0xff, - 2936 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (2851 >> 8) & 0xff, + 2851 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (482 >> 8) & 0xff, - 482 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (477 >> 8) & 0xff, + 477 & 0xff} } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2941 >> 8) & 0xff, - 2941 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2857 >> 8) & 0xff, + 2857 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2945 >> 8) & 0xff, - 2945 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2858 >> 8) & 0xff, + 2858 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, + .description = "l2_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2949 >> 8) & 0xff, - 2949 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2859 >> 8) & 0xff, + 2859 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (478 >> 8) & 0xff, + 478 & 0xff} }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, + .description = "l2_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2953 >> 8) & 0xff, - 2953 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2863 >> 8) & 0xff, + 2863 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (479 >> 8) & 0xff, + 479 & 0xff} } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2957 >> 8) & 0xff, - 2957 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (483 >> 8) & 0xff, - 483 & 0xff} + 0xff} }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2965 >> 8) & 0xff, - 2965 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2867 >> 8) & 0xff, + 2867 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + ULP_THOR2_SYM_L2_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (484 >> 8) & 0xff, - 484 & 0xff} + (480 >> 8) & 0xff, + 480 & 0xff} } }, { .field_info_mask = { - .description = "tl3.prot", + .description = "tun_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_flags", .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2973 >> 8) & 0xff, - 2973 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + (2871 >> 8) & 0xff, + 2871 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (485 >> 8) & 0xff, - 485 & 0xff} + (481 >> 8) & 0xff, + 481 & 0xff} }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2981 >> 8) & 0xff, - 2981 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + (2883 >> 8) & 0xff, + 2883 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (486 >> 8) & 0xff, @@ -31143,118 +32963,87 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "tl3.qos", - .field_bit_size = 8, + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2989 >> 8) & 0xff, - 2989 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (487 >> 8) & 0xff, - 487 & 0xff} - }, - .field_info_spec = { - .description = "tl3.qos", - .field_bit_size = 8, + (2895 >> 8) & 0xff, + 2895 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2997 >> 8) & 0xff, - 2997 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (488 >> 8) & 0xff, - 488 & 0xff} + (2896 >> 8) & 0xff, + 2896 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3005 >> 8) & 0xff, - 3005 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (489 >> 8) & 0xff, - 489 & 0xff} + 0xff} }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, + .description = "tun_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3013 >> 8) & 0xff, - 3013 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2897 >> 8) & 0xff, + 2897 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (490 >> 8) & 0xff, - 490 & 0xff} + ULP_THOR2_SYM_TUN_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3021 >> 8) & 0xff, - 3021 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (2898 >> 8) & 0xff, + 2898 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (491 >> 8) & 0xff, 491 & 0xff} }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3030 >> 8) & 0xff, - 3030 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2902 >> 8) & 0xff, + 2902 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (492 >> 8) & 0xff, @@ -31263,38 +33052,32 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3039 >> 8) & 0xff, - 3039 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + (2906 >> 8) & 0xff, + 2906 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (493 >> 8) & 0xff, 493 & 0xff} }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3045 >> 8) & 0xff, - 3045 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + (2910 >> 8) & 0xff, + 2910 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (494 >> 8) & 0xff, @@ -31303,38 +33086,32 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "tl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3051 >> 8) & 0xff, - 3051 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + (2914 >> 8) & 0xff, + 2914 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (495 >> 8) & 0xff, 495 & 0xff} }, .field_info_spec = { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "tl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3058 >> 8) & 0xff, - 3058 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + (2918 >> 8) & 0xff, + 2918 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (496 >> 8) & 0xff, @@ -31343,118 +33120,106 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_smac", - .field_bit_size = 48, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3065 >> 8) & 0xff, - 3065 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + (2922 >> 8) & 0xff, + 2922 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (497 >> 8) & 0xff, 497 & 0xff} }, .field_info_spec = { - .description = "l2_smac", - .field_bit_size = 48, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3072 >> 8) & 0xff, - 3072 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2927 >> 8) & 0xff, + 2927 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + ULP_THOR2_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (498 >> 8) & 0xff, - 498 & 0xff} + (499 >> 8) & 0xff, + 499 & 0xff} } }, { .field_info_mask = { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3079 >> 8) & 0xff, - 3079 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + (2932 >> 8) & 0xff, + 2932 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (499 >> 8) & 0xff, - 499 & 0xff} + (501 >> 8) & 0xff, + 501 & 0xff} }, .field_info_spec = { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3088 >> 8) & 0xff, - 3088 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2936 >> 8) & 0xff, + 2936 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + ULP_THOR2_SYM_TL3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (500 >> 8) & 0xff, - 500 & 0xff} + (502 >> 8) & 0xff, + 502 & 0xff} } }, { .field_info_mask = { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3097 >> 8) & 0xff, - 3097 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + (2940 >> 8) & 0xff, + 2940 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (501 >> 8) & 0xff, - 501 & 0xff} + (503 >> 8) & 0xff, + 503 & 0xff} }, .field_info_spec = { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3115 >> 8) & 0xff, - 3115 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2944 >> 8) & 0xff, + 2944 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (504 >> 8) & 0xff, @@ -31463,2026 +33228,1944 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_etype", - .field_bit_size = 16, + .description = "tl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3133 >> 8) & 0xff, - 3133 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + (2948 >> 8) & 0xff, + 2948 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (507 >> 8) & 0xff, - 507 & 0xff} + (505 >> 8) & 0xff, + 505 & 0xff} }, .field_info_spec = { - .description = "l2_etype", - .field_bit_size = 16, + .description = "tl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3142 >> 8) & 0xff, - 3142 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + (2952 >> 8) & 0xff, + 2952 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (508 >> 8) & 0xff, - 508 & 0xff} + (506 >> 8) & 0xff, + 506 & 0xff} } }, { .field_info_mask = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3151 >> 8) & 0xff, - 3151 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (509 >> 8) & 0xff, - 509 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "tl3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3158 >> 8) & 0xff, - 3158 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2956 >> 8) & 0xff, + 2956 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + ULP_THOR2_SYM_TL3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (510 >> 8) & 0xff, - 510 & 0xff} + (507 >> 8) & 0xff, + 507 & 0xff} } }, { .field_info_mask = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3165 >> 8) & 0xff, - 3165 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (511 >> 8) & 0xff, - 511 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, + .description = "tl2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3172 >> 8) & 0xff, - 3172 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2960 >> 8) & 0xff, + 2960 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (512 >> 8) & 0xff, - 512 & 0xff} + ULP_THOR2_SYM_TL2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3179 >> 8) & 0xff, - 3179 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (513 >> 8) & 0xff, - 513 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "tl2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3186 >> 8) & 0xff, - 3186 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2963 >> 8) & 0xff, + 2963 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (514 >> 8) & 0xff, - 514 & 0xff} + ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3193 >> 8) & 0xff, - 3193 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (515 >> 8) & 0xff, - 515 & 0xff} + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3200 >> 8) & 0xff, - 3200 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (516 >> 8) & 0xff, - 516 & 0xff} + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "tl2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3207 >> 8) & 0xff, - 3207 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (517 >> 8) & 0xff, - 517 & 0xff} + (2966 >> 8) & 0xff, + 2966 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "tl2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3221 >> 8) & 0xff, - 3221 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (520 >> 8) & 0xff, - 520 & 0xff} + (2967 >> 8) & 0xff, + 2967 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3235 >> 8) & 0xff, - 3235 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (523 >> 8) & 0xff, - 523 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tl2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3259 >> 8) & 0xff, - 3259 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2968 >> 8) & 0xff, + 2968 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_TCP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (530 >> 8) & 0xff, - 530 & 0xff} + ULP_THOR2_SYM_TL2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.qos", + .description = "ot_hdr_flags", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3283 >> 8) & 0xff, - 3283 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (537 >> 8) & 0xff, - 537 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.qos", + .description = "ot_hdr_flags", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3297 >> 8) & 0xff, - 3297 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (540 >> 8) & 0xff, - 540 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3311 >> 8) & 0xff, - 3311 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (543 >> 8) & 0xff, - 543 & 0xff} + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3327 >> 8) & 0xff, - 3327 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (547 >> 8) & 0xff, - 547 & 0xff} + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3343 >> 8) & 0xff, - 3343 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (551 >> 8) & 0xff, - 551 & 0xff} + .description = "ot_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3359 >> 8) & 0xff, - 3359 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (555 >> 8) & 0xff, - 555 & 0xff} + .description = "ot_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: proto_header_cache.wr */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "ot_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3375 >> 8) & 0xff, - 3375 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "ot_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "otl4_hdr_is_tcp_udp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "otl4_hdr_is_tcp_udp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "otl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "otl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: em_flow_conflict_cache.rd */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "otl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "otl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "otl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3381 >> 8) & 0xff, - 3381 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "otl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "otl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "otl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "otl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "otl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: em_key_recipe.0 */ { .field_info_mask = { - .description = "em_profile_id", - .field_bit_size = 8, + .description = "otl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "em_profile_id", - .field_bit_size = 8, + .description = "otl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3699 >> 8) & 0xff, - 3699 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3701 >> 8) & 0xff, - 3701 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3703 >> 8) & 0xff, - 3703 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "meta", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3705 >> 8) & 0xff, - 3705 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3707 >> 8) & 0xff, - 3707 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3708 >> 8) & 0xff, - 3708 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3709 >> 8) & 0xff, - 3709 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3714 >> 8) & 0xff, - 3714 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3719 >> 8) & 0xff, - 3719 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3723 >> 8) & 0xff, - 3723 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3727 >> 8) & 0xff, - 3727 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3732 >> 8) & 0xff, - 3732 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3737 >> 8) & 0xff, - 3737 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (602 >> 8) & 0xff, - 602 & 0xff} + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3747 >> 8) & 0xff, - 3747 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (603 >> 8) & 0xff, - 603 & 0xff} + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3757 >> 8) & 0xff, - 3757 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3762 >> 8) & 0xff, - 3762 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3767 >> 8) & 0xff, - 3767 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3771 >> 8) & 0xff, - 3771 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3775 >> 8) & 0xff, - 3775 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (3779 >> 8) & 0xff, - 3779 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", + .description = "l2ip_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2ip_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3783 >> 8) & 0xff, - 3783 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl3.dip.ipv4", + .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3787 >> 8) & 0xff, - 3787 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2970 >> 8) & 0xff, + 2970 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3791 >> 8) & 0xff, - 3791 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3795 >> 8) & 0xff, - 3795 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3799 >> 8) & 0xff, - 3799 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (604 >> 8) & 0xff, - 604 & 0xff} + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3807 >> 8) & 0xff, - 3807 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (605 >> 8) & 0xff, - 605 & 0xff} + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3815 >> 8) & 0xff, - 3815 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (606 >> 8) & 0xff, - 606 & 0xff} + 1} }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3823 >> 8) & 0xff, - 3823 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (607 >> 8) & 0xff, - 607 & 0xff} + 1} } }, { .field_info_mask = { - .description = "tl3.qos", + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 2, , table: wm_key_recipe.0 */ + { + .field_info_mask = { + .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3831 >> 8) & 0xff, - 3831 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (608 >> 8) & 0xff, - 608 & 0xff} + 0xff} }, .field_info_spec = { - .description = "tl3.qos", + .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (3839 >> 8) & 0xff, - 3839 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (609 >> 8) & 0xff, - 609 & 0xff} + (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, + .description = "l2_cntxt_id", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3847 >> 8) & 0xff, - 3847 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (2972 >> 8) & 0xff, + 2972 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (610 >> 8) & 0xff, - 610 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, + .description = "l2_cntxt_id", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3855 >> 8) & 0xff, - 3855 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2974 >> 8) & 0xff, + 2974 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (611 >> 8) & 0xff, - 611 & 0xff} + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "meta", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3863 >> 8) & 0xff, - 3863 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (2976 >> 8) & 0xff, + 2976 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (612 >> 8) & 0xff, - 612 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "meta", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3872 >> 8) & 0xff, - 3872 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2978 >> 8) & 0xff, + 2978 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (613 >> 8) & 0xff, - 613 & 0xff} + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, + .description = "rcyc_cnt", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3881 >> 8) & 0xff, - 3881 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2980 >> 8) & 0xff, + 2980 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (614 >> 8) & 0xff, - 614 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, + .description = "rcyc_cnt", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3887 >> 8) & 0xff, - 3887 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2981 >> 8) & 0xff, + 2981 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (615 >> 8) & 0xff, - 615 & 0xff} + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_dmac", + .description = "tl2_dmac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3893 >> 8) & 0xff, - 3893 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (616 >> 8) & 0xff, - 616 & 0xff} + (2982 >> 8) & 0xff, + 2982 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_dmac", + .description = "tl2_dmac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3902 >> 8) & 0xff, - 3902 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (2986 >> 8) & 0xff, + 2986 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (617 >> 8) & 0xff, - 617 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_smac", + .description = "tl2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3911 >> 8) & 0xff, - 3911 & 0xff, + (2990 >> 8) & 0xff, + 2990 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (618 >> 8) & 0xff, - 618 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (508 >> 8) & 0xff, + 508 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_smac", + .description = "tl2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3918 >> 8) & 0xff, - 3918 & 0xff, + (2997 >> 8) & 0xff, + 2997 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (619 >> 8) & 0xff, - 619 & 0xff} + (509 >> 8) & 0xff, + 509 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ovv", + .description = "tl2_ovv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3925 >> 8) & 0xff, - 3925 & 0xff, + (3004 >> 8) & 0xff, + 3004 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (620 >> 8) & 0xff, - 620 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_ovv", + .description = "tl2_ovv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3934 >> 8) & 0xff, - 3934 & 0xff, + (3009 >> 8) & 0xff, + 3009 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (621 >> 8) & 0xff, - 621 & 0xff} + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ivv", + .description = "tl2_ivv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3943 >> 8) & 0xff, - 3943 & 0xff, + (3014 >> 8) & 0xff, + 3014 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (622 >> 8) & 0xff, - 622 & 0xff} + (510 >> 8) & 0xff, + 510 & 0xff} }, .field_info_spec = { - .description = "l2_ivv", + .description = "tl2_ivv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3961 >> 8) & 0xff, - 3961 & 0xff, + (3024 >> 8) & 0xff, + 3024 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (625 >> 8) & 0xff, - 625 & 0xff} + (511 >> 8) & 0xff, + 511 & 0xff} } }, { .field_info_mask = { - .description = "l2_etype", + .description = "tl2_etype", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3979 >> 8) & 0xff, - 3979 & 0xff, + (3034 >> 8) & 0xff, + 3034 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (628 >> 8) & 0xff, - 628 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_etype", + .description = "tl2_etype", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3988 >> 8) & 0xff, - 3988 & 0xff, + (3039 >> 8) & 0xff, + 3039 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (629 >> 8) & 0xff, - 629 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.sip.ipv4", + .description = "tl3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3997 >> 8) & 0xff, - 3997 & 0xff, + (3044 >> 8) & 0xff, + 3044 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (630 >> 8) & 0xff, - 630 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.sip.ipv4", + .description = "tl3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4004 >> 8) & 0xff, - 4004 & 0xff, + (3048 >> 8) & 0xff, + 3048 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (631 >> 8) & 0xff, - 631 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.sip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4011 >> 8) & 0xff, - 4011 & 0xff, + (3052 >> 8) & 0xff, + 3052 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (632 >> 8) & 0xff, - 632 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (512 >> 8) & 0xff, + 512 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.sip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4018 >> 8) & 0xff, - 4018 & 0xff, + (3057 >> 8) & 0xff, + 3057 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (633 >> 8) & 0xff, - 633 & 0xff} + (513 >> 8) & 0xff, + 513 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.dip.ipv4", + .description = "tl3.dip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4025 >> 8) & 0xff, - 4025 & 0xff, + (3062 >> 8) & 0xff, + 3062 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (634 >> 8) & 0xff, - 634 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.dip.ipv4", + .description = "tl3.dip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4032 >> 8) & 0xff, - 4032 & 0xff, + (3066 >> 8) & 0xff, + 3066 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (635 >> 8) & 0xff, - 635 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.dip.ipv6", + .description = "tl3.dip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4039 >> 8) & 0xff, - 4039 & 0xff, + (3070 >> 8) & 0xff, + 3070 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (636 >> 8) & 0xff, - 636 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.dip.ipv6", + .description = "tl3.dip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4046 >> 8) & 0xff, - 4046 & 0xff, + (3074 >> 8) & 0xff, + 3074 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (637 >> 8) & 0xff, - 637 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4053 >> 8) & 0xff, - 4053 & 0xff, + (3078 >> 8) & 0xff, + 3078 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (638 >> 8) & 0xff, - 638 & 0xff} + (514 >> 8) & 0xff, + 514 & 0xff} }, .field_info_spec = { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4067 >> 8) & 0xff, - 4067 & 0xff, + (3086 >> 8) & 0xff, + 3086 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (641 >> 8) & 0xff, - 641 & 0xff} + (515 >> 8) & 0xff, + 515 & 0xff} } }, { .field_info_mask = { - .description = "l3.prot", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4081 >> 8) & 0xff, - 4081 & 0xff, + (3094 >> 8) & 0xff, + 3094 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (644 >> 8) & 0xff, - 644 & 0xff} + (516 >> 8) & 0xff, + 516 & 0xff} }, .field_info_spec = { - .description = "l3.prot", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4095 >> 8) & 0xff, - 4095 & 0xff, + (3102 >> 8) & 0xff, + 3102 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (647 >> 8) & 0xff, - 647 & 0xff} + (517 >> 8) & 0xff, + 517 & 0xff} } }, { .field_info_mask = { - .description = "l3.qos", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4109 >> 8) & 0xff, - 4109 & 0xff, + (3110 >> 8) & 0xff, + 3110 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (650 >> 8) & 0xff, - 650 & 0xff} + (518 >> 8) & 0xff, + 518 & 0xff} }, .field_info_spec = { - .description = "l3.qos", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4123 >> 8) & 0xff, - 4123 & 0xff, + (3118 >> 8) & 0xff, + 3118 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (653 >> 8) & 0xff, - 653 & 0xff} + (519 >> 8) & 0xff, + 519 & 0xff} } }, { .field_info_mask = { - .description = "l4.src", + .description = "tl4.src", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4137 >> 8) & 0xff, - 4137 & 0xff, + (3126 >> 8) & 0xff, + 3126 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (656 >> 8) & 0xff, - 656 & 0xff} + (520 >> 8) & 0xff, + 520 & 0xff} }, .field_info_spec = { - .description = "l4.src", + .description = "tl4.src", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4151 >> 8) & 0xff, - 4151 & 0xff, + (3134 >> 8) & 0xff, + 3134 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (659 >> 8) & 0xff, - 659 & 0xff} + (521 >> 8) & 0xff, + 521 & 0xff} } }, { .field_info_mask = { - .description = "l4.dst", + .description = "tl4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4165 >> 8) & 0xff, - 4165 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (3142 >> 8) & 0xff, + 3142 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (662 >> 8) & 0xff, - 662 & 0xff} + (522 >> 8) & 0xff, + 522 & 0xff} }, .field_info_spec = { - .description = "l4.dst", + .description = "tl4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4179 >> 8) & 0xff, - 4179 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (3151 >> 8) & 0xff, + 3151 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (665 >> 8) & 0xff, - 665 & 0xff} + (523 >> 8) & 0xff, + 523 & 0xff} } }, - /* class_tid: 2, , table: em_flow_conflict_cache.wr */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3160 >> 8) & 0xff, + 3160 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (524 >> 8) & 0xff, + 524 & 0xff} }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3166 >> 8) & 0xff, + 3166 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (525 >> 8) & 0xff, + 525 & 0xff} } }, { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3172 >> 8) & 0xff, + 3172 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (526 >> 8) & 0xff, + 526 & 0xff} }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4193 >> 8) & 0xff, - 4193 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + (3179 >> 8) & 0xff, + 3179 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (527 >> 8) & 0xff, + 527 & 0xff} } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3186 >> 8) & 0xff, + 3186 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (528 >> 8) & 0xff, + 528 & 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (3193 >> 8) & 0xff, + 3193 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (529 >> 8) & 0xff, + 529 & 0xff} } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + (3200 >> 8) & 0xff, + 3200 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (530 >> 8) & 0xff, + 530 & 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + (3209 >> 8) & 0xff, + 3209 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (531 >> 8) & 0xff, + 531 & 0xff} } }, - /* class_tid: 3, , table: table_scope_cache.tsid_ing_rd */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3218 >> 8) & 0xff, + 3218 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (532 >> 8) & 0xff, + 532 & 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (3236 >> 8) & 0xff, + 3236 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (535 >> 8) & 0xff, + 535 & 0xff} } }, { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3254 >> 8) & 0xff, + 3254 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (538 >> 8) & 0xff, + 538 & 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3263 >> 8) & 0xff, + 3263 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (539 >> 8) & 0xff, + 539 & 0xff} } }, - /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */ { .field_info_mask = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3272 >> 8) & 0xff, + 3272 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (540 >> 8) & 0xff, + 540 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3279 >> 8) & 0xff, + 3279 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (541 >> 8) & 0xff, + 541 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3286 >> 8) & 0xff, + 3286 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (542 >> 8) & 0xff, + 542 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3293 >> 8) & 0xff, + 3293 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (543 >> 8) & 0xff, + 543 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3300 >> 8) & 0xff, + 3300 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (544 >> 8) & 0xff, + 544 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3307 >> 8) & 0xff, + 3307 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (545 >> 8) & 0xff, + 545 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3314 >> 8) & 0xff, + 3314 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (546 >> 8) & 0xff, + 546 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3321 >> 8) & 0xff, + 3321 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (547 >> 8) & 0xff, + 547 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3328 >> 8) & 0xff, + 3328 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (548 >> 8) & 0xff, + 548 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3342 >> 8) & 0xff, + 3342 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (551 >> 8) & 0xff, + 551 & 0xff} } }, { .field_info_mask = { - .description = "l3_protocol", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3356 >> 8) & 0xff, + 3356 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (554 >> 8) & 0xff, + 554 & 0xff} }, .field_info_spec = { - .description = "l3_protocol", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3380 >> 8) & 0xff, + 3380 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (561 >> 8) & 0xff, + 561 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3404 >> 8) & 0xff, + 3404 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (568 >> 8) & 0xff, + 568 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3418 >> 8) & 0xff, + 3418 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (571 >> 8) & 0xff, + 571 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3432 >> 8) & 0xff, + 3432 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (574 >> 8) & 0xff, + 574 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3448 >> 8) & 0xff, + 3448 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (578 >> 8) & 0xff, + 578 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3464 >> 8) & 0xff, + 3464 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (582 >> 8) & 0xff, + 582 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3480 >> 8) & 0xff, + 3480 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (586 >> 8) & 0xff, + 586 & 0xff} } }, + /* class_tid: 2, , table: proto_header_cache.wr */ { .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3496 >> 8) & 0xff, + 3496 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 2, , table: em_flow_conflict_cache.rd */ { .field_info_mask = { - .description = "l2_uc_mc_bc", + .description = "recycle_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_uc_mc_bc", + .description = "recycle_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -33490,583 +35173,1303 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "l2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3502 >> 8) & 0xff, + 3502 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 2, , table: em_key_recipe.0 */ { .field_info_mask = { - .description = "tun_hdr_flags", + .description = "em_profile_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "tun_hdr_flags", + .description = "em_profile_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3820 >> 8) & 0xff, + 3820 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3822 >> 8) & 0xff, + 3822 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3824 >> 8) & 0xff, + 3824 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3826 >> 8) & 0xff, + 3826 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "rcyc_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3828 >> 8) & 0xff, + 3828 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "rcyc_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3829 >> 8) & 0xff, + 3829 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3830 >> 8) & 0xff, + 3830 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3835 >> 8) & 0xff, + 3835 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3840 >> 8) & 0xff, + 3840 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3844 >> 8) & 0xff, + 3844 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3848 >> 8) & 0xff, + 3848 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3853 >> 8) & 0xff, + 3853 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3858 >> 8) & 0xff, + 3858 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (633 >> 8) & 0xff, + 633 & 0xff} }, .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3868 >> 8) & 0xff, + 3868 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (634 >> 8) & 0xff, + 634 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3878 >> 8) & 0xff, + 3878 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3883 >> 8) & 0xff, + 3883 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3888 >> 8) & 0xff, + 3888 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3892 >> 8) & 0xff, + 3892 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3896 >> 8) & 0xff, + 3896 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3900 >> 8) & 0xff, + 3900 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3904 >> 8) & 0xff, + 3904 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3908 >> 8) & 0xff, + 3908 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3912 >> 8) & 0xff, + 3912 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3916 >> 8) & 0xff, + 3916 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3920 >> 8) & 0xff, + 3920 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (635 >> 8) & 0xff, + 635 & 0xff} }, .field_info_spec = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3928 >> 8) & 0xff, + 3928 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (636 >> 8) & 0xff, + 636 & 0xff} } }, { .field_info_mask = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3936 >> 8) & 0xff, + 3936 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (637 >> 8) & 0xff, + 637 & 0xff} }, .field_info_spec = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3944 >> 8) & 0xff, + 3944 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (638 >> 8) & 0xff, + 638 & 0xff} } }, { .field_info_mask = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3952 >> 8) & 0xff, + 3952 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (639 >> 8) & 0xff, + 639 & 0xff} }, .field_info_spec = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3960 >> 8) & 0xff, + 3960 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (640 >> 8) & 0xff, + 640 & 0xff} } }, { .field_info_mask = { - .description = "ot_hdr_flags", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3968 >> 8) & 0xff, + 3968 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (641 >> 8) & 0xff, + 641 & 0xff} }, .field_info_spec = { - .description = "ot_hdr_flags", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3976 >> 8) & 0xff, + 3976 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (642 >> 8) & 0xff, + 642 & 0xff} } }, { .field_info_mask = { - .description = "ot_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3984 >> 8) & 0xff, + 3984 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (643 >> 8) & 0xff, + 643 & 0xff} }, .field_info_spec = { - .description = "ot_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3993 >> 8) & 0xff, + 3993 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (644 >> 8) & 0xff, + 644 & 0xff} } }, { .field_info_mask = { - .description = "ot_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4002 >> 8) & 0xff, + 4002 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (645 >> 8) & 0xff, + 645 & 0xff} }, .field_info_spec = { - .description = "ot_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4008 >> 8) & 0xff, + 4008 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (646 >> 8) & 0xff, + 646 & 0xff} } }, { .field_info_mask = { - .description = "ot_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4014 >> 8) & 0xff, + 4014 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (647 >> 8) & 0xff, + 647 & 0xff} }, .field_info_spec = { - .description = "ot_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4023 >> 8) & 0xff, + 4023 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (648 >> 8) & 0xff, + 648 & 0xff} } }, { .field_info_mask = { - .description = "otl4_hdr_is_tcp_udp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4032 >> 8) & 0xff, + 4032 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (649 >> 8) & 0xff, + 649 & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_is_tcp_udp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4039 >> 8) & 0xff, + 4039 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (650 >> 8) & 0xff, + 650 & 0xff} } }, { .field_info_mask = { - .description = "otl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4046 >> 8) & 0xff, + 4046 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (651 >> 8) & 0xff, + 651 & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4055 >> 8) & 0xff, + 4055 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (652 >> 8) & 0xff, + 652 & 0xff} } }, { .field_info_mask = { - .description = "otl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4064 >> 8) & 0xff, + 4064 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (653 >> 8) & 0xff, + 653 & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4082 >> 8) & 0xff, + 4082 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (656 >> 8) & 0xff, + 656 & 0xff} } }, { .field_info_mask = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4100 >> 8) & 0xff, + 4100 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (659 >> 8) & 0xff, + 659 & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4109 >> 8) & 0xff, + 4109 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (660 >> 8) & 0xff, + 660 & 0xff} } }, { .field_info_mask = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4118 >> 8) & 0xff, + 4118 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (661 >> 8) & 0xff, + 661 & 0xff} }, .field_info_spec = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4125 >> 8) & 0xff, + 4125 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (662 >> 8) & 0xff, + 662 & 0xff} } }, { .field_info_mask = { - .description = "otl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4132 >> 8) & 0xff, + 4132 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (663 >> 8) & 0xff, + 663 & 0xff} }, .field_info_spec = { - .description = "otl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4139 >> 8) & 0xff, + 4139 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (664 >> 8) & 0xff, + 664 & 0xff} } }, { .field_info_mask = { - .description = "otl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4146 >> 8) & 0xff, + 4146 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (665 >> 8) & 0xff, + 665 & 0xff} }, .field_info_spec = { - .description = "otl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4153 >> 8) & 0xff, + 4153 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (666 >> 8) & 0xff, + 666 & 0xff} } }, { .field_info_mask = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4160 >> 8) & 0xff, + 4160 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (667 >> 8) & 0xff, + 667 & 0xff} }, .field_info_spec = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4167 >> 8) & 0xff, + 4167 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (668 >> 8) & 0xff, + 668 & 0xff} } }, { .field_info_mask = { - .description = "otl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4174 >> 8) & 0xff, + 4174 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (669 >> 8) & 0xff, + 669 & 0xff} }, .field_info_spec = { - .description = "otl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4188 >> 8) & 0xff, + 4188 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (672 >> 8) & 0xff, + 672 & 0xff} } }, { .field_info_mask = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4202 >> 8) & 0xff, + 4202 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (675 >> 8) & 0xff, + 675 & 0xff} }, .field_info_spec = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4216 >> 8) & 0xff, + 4216 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (678 >> 8) & 0xff, + 678 & 0xff} } }, { .field_info_mask = { - .description = "otl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4230 >> 8) & 0xff, + 4230 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (681 >> 8) & 0xff, + 681 & 0xff} }, .field_info_spec = { - .description = "otl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4244 >> 8) & 0xff, + 4244 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (684 >> 8) & 0xff, + 684 & 0xff} } }, { .field_info_mask = { - .description = "otl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4258 >> 8) & 0xff, + 4258 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (687 >> 8) & 0xff, + 687 & 0xff} }, .field_info_spec = { - .description = "otl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4272 >> 8) & 0xff, + 4272 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (690 >> 8) & 0xff, + 690 & 0xff} } }, { .field_info_mask = { - .description = "otl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4286 >> 8) & 0xff, + 4286 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (693 >> 8) & 0xff, + 693 & 0xff} }, .field_info_spec = { - .description = "otl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4300 >> 8) & 0xff, + 4300 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (696 >> 8) & 0xff, + 696 & 0xff} } }, + /* class_tid: 2, , table: em_flow_conflict_cache.wr */ { .field_info_mask = { - .description = "int_ifa_tail", - .field_bit_size = 1, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "int_ifa_tail", - .field_bit_size = 1, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_hdr_group", - .field_bit_size = 2, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "int_hdr_group", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (4314 >> 8) & 0xff, + 4314 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 3, , table: global_regfiles_cache.metadata_record_rd */ { .field_info_mask = { - .description = "prof_func_id", + .description = "index", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -34074,38 +36477,42 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "prof_func_id", + .description = "index", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_rx */ { .field_info_mask = { - .description = "l2ip_func_id", - .field_bit_size = 8, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2ip_func_id", - .field_bit_size = 8, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_GLB_IDX_META_REC_ACT} } }, { .field_info_mask = { - .description = "agg_error", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "agg_error", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -34113,21 +36520,23 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "metadata", - .field_bit_size = 32, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "metadata", - .field_bit_size = 32, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "recycle_count", + .description = "app_id", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -34135,7 +36544,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "recycle_count", + .description = "app_id", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -34143,51 +36552,56 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "pkt_type", - .field_bit_size = 4, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "pkt_type", - .field_bit_size = 4, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_rx */ { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_GLB_IDX_META_REC_PROF} } }, { .field_info_mask = { - .description = "spare", - .field_bit_size = 2, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "spare", - .field_bit_size = 2, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "valid", + .description = "dir", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -34195,53 +36609,64 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "valid", + .description = "dir", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "app_id", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 1} + 0xff} + }, + .field_info_spec = { + .description = "app_id", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "padding", - .field_bit_size = 72, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "padding", - .field_bit_size = 72, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: table_scope_cache.tsid_ing_wr */ + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_rx */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + ULP_THOR2_SYM_GLB_IDX_META_REC_LKUP} } }, { .field_info_mask = { - .description = "loopback", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -34249,232 +36674,254 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "loopback", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: port_table.ing_wr */ { .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam.svif_ing */ { .field_info_mask = { - .description = "etype", - .field_bit_size = 16, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "etype", - .field_bit_size = 16, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_tx */ { .field_info_mask = { - .description = "l2_ivlan_tpid_sel", + .description = "type", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_ivlan_tpid_sel", + .description = "type", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_GLB_IDX_META_REC_ACT} } }, { .field_info_mask = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, { .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "two_vtags", - .field_bit_size = 1, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "two_vtags", - .field_bit_size = 1, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_tx */ { .field_info_mask = { - .description = "vtag_present", - .field_bit_size = 1, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "vtag_present", - .field_bit_size = 1, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_GLB_IDX_META_REC_PROF} } }, { .field_info_mask = { - .description = "addr1", - .field_bit_size = 48, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "addr1", - .field_bit_size = 48, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "addr0", - .field_bit_size = 48, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "addr0", - .field_bit_size = 48, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, { .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 32, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 32, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_tx */ { .field_info_mask = { - .description = "out_tun_hdr_type", - .field_bit_size = 5, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "out_tun_hdr_type", - .field_bit_size = 5, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_GLB_IDX_META_REC_LKUP} } }, { .field_info_mask = { - .description = "llc", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "llc", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -34482,7 +36929,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "roce", + .description = "dir", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -34490,86 +36937,81 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "roce", + .description = "dir", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, { .field_info_mask = { - .description = "l2ip_func", - .field_bit_size = 8, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2ip_func", - .field_bit_size = 8, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "metadata", - .field_bit_size = 32, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "metadata", - .field_bit_size = 32, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_regfiles_cache.metadata_record_wr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "index", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "index", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: table_scope_cache.tsid_ing_rd */ { .field_info_mask = { - .description = "parif", + .description = "tbl_scope", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "parif", + .description = "tbl_scope", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, { @@ -34588,71 +37030,39 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 4, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 4, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "mpass_cnt", - .field_bit_size = 2, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "spare", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "spare", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - .field_info_spec = { - .description = "valid", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */ { .field_info_mask = { .description = "svif", @@ -34673,72 +37083,58 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} } }, - /* class_tid: 3, , table: port_table.egr_wr_0 */ { .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "pad", + .field_bit_size = 113, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "pad", + .field_bit_size = 113, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.no_vfr_egr_rd */ + /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_svif_egr */ { .field_info_mask = { - .description = "etype", - .field_bit_size = 16, + .description = "l4_hdr_flags", + .field_bit_size = 9, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "etype", - .field_bit_size = 16, + .description = "l4_hdr_flags", + .field_bit_size = 9, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ivlan_tpid_sel", + .description = "l4_hdr_subtype", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivlan_tpid_sel", + .description = "l4_hdr_subtype", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -34746,55 +37142,55 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "two_vtags", + .description = "l4_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "two_vtags", + .description = "l4_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -34802,456 +37198,91 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "vtag_present", - .field_bit_size = 1, + .description = "l3_protocol", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "vtag_present", - .field_bit_size = 1, + .description = "l3_protocol", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "addr1", - .field_bit_size = 48, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "addr1", - .field_bit_size = 48, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "addr0", - .field_bit_size = 48, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "addr0", - .field_bit_size = 48, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 32, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 32, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "out_tun_hdr_type", - .field_bit_size = 5, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "out_tun_hdr_type", - .field_bit_size = 5, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - .field_info_spec = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2ip_func", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2ip_func", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} - } - }, - { - .field_info_mask = { - .description = "parif", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "parif", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "spare", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "spare", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } - }, - /* class_tid: 3, , table: profile_tcam_bypass.non_vfr_egr_catch_all */ - { - .field_info_mask = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_protocol", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_protocol", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_vtag_present", + .description = "l2_vtag_present", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -35282,9 +37313,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "l2_hdr_type", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_hdr_type", @@ -35919,7 +37948,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "recycle_count", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "recycle_count", @@ -35947,7 +37978,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "loopback", @@ -36002,11 +38035,49 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ + /* class_tid: 3, , table: table_scope_cache.tsid_ing_wr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, + { + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 3, , table: port_table.ing_wr */ + { + .field_info_mask = { + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { @@ -36014,56 +38085,58 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, - /* class_tid: 3, , table: table_scope_cache.tsid_vfr_rd */ + /* class_tid: 3, , table: port_table.egr_wr_0 */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, + /* class_tid: 3, , table: l2_cntxt_tcam_cache.no_vfr_egr_rd */ { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - 1} + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, - /* class_tid: 3, , table: l2_cntxt_tcam.vf2vf_ing */ + /* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_svif_egr */ { .field_info_mask = { .description = "etype", @@ -36281,23 +38354,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 24) & 0xff, - (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 16) & 0xff, - (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 8) & 0xff, - ULP_THOR2_SYM_VF_2_VFR_META_MASK & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 24) & 0xff, - (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 16) & 0xff, - (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 8) & 0xff, - ULP_THOR2_SYM_VF_2_VF_META_VAL & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -36305,13 +38368,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, { @@ -36347,17 +38416,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -36379,7 +38444,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "mpass_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "mpass_cnt", @@ -36420,83 +38487,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 1} } }, - /* class_tid: 3, , table: table_scope_cache.tsid_vfr_wr */ - { - .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} - } - }, - { - .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } - }, - /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_rd */ - { - .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} - } - }, - { - .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 4, , table: profile_tcam_bypass.tsid_vfr_egr_catch_all */ + /* class_tid: 3, , table: profile_tcam_bypass.non_vfr_egr_catch_all */ { .field_info_mask = { .description = "l4_hdr_dcn_present", @@ -37432,7 +39423,28 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_wr */ + /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} + } + }, + /* class_tid: 3, , table: table_scope_cache.tsid_vfr_rd */ { .field_info_mask = { .description = "tbl_scope", @@ -37459,37 +39471,20 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_rd */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + 1} } }, - /* class_tid: 4, , table: l2_cntxt_tcam.vf2vf_egr */ + /* class_tid: 3, , table: l2_cntxt_tcam.vf2vf_ing */ { .field_info_mask = { .description = "etype", @@ -37707,13 +39702,23 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 24) & 0xff, + (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 16) & 0xff, + (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 8) & 0xff, + ULP_THOR2_SYM_VF_2_VFR_META_MASK & 0xff} }, .field_info_spec = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 24) & 0xff, + (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 16) & 0xff, + (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 8) & 0xff, + ULP_THOR2_SYM_VF_2_VF_META_VAL & 0xff} } }, { @@ -37721,19 +39726,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -37769,13 +39768,17 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, { @@ -37838,5844 +39841,6122 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 1} } }, - /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_wr */ + /* class_tid: 3, , table: table_scope_cache.tsid_vfr_wr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* class_tid: 4, , table: port_table.egr_wr_0 */ { .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + 1} } - } -}; - -struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { + }, + /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_rd */ { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (12 >> 8) & 0xff, - 12 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE} + 0xff} }, - { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (24 >> 8) & 0xff, - 24 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE} - }, - /* class_tid: 1, , table: control.dmac_calculation */ - { - .description = "", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (31 >> 8) & 0xff, - 31 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (3 >> 8) & 0xff, - 3 & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } }, { - .description = "", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (33 >> 8) & 0xff, - 33 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr2 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (4 >> 8) & 0xff, - 4 & 0xff} + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 4, , table: profile_tcam_bypass.tsid_vfr_egr_catch_all */ { - .description = "", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (34 >> 8) & 0xff, - 34 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr2 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 1, , table: control.terminating_flow */ - { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (129 >> 8) & 0xff, - 129 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (6 >> 8) & 0xff, - 6 & 0xff} + .field_info_spec = { + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (132 >> 8) & 0xff, - 132 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (7 >> 8) & 0xff, - 7 & 0xff} + .field_info_mask = { + .description = "l4_hdr_flags", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l4_hdr_flags", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (135 >> 8) & 0xff, - 135 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (8 >> 8) & 0xff, - 8 & 0xff} + .field_info_mask = { + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (137 >> 8) & 0xff, - 137 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (9 >> 8) & 0xff, - 9 & 0xff} + .field_info_mask = { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (139 >> 8) & 0xff, - 139 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl2_ivv.en", + .field_info_mask = { + .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (171 >> 8) & 0xff, - 171 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "tl3_sip0.en", + .field_info_spec = { + .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (200 >> 8) & 0xff, - 200 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl3_sip0.en", + .field_info_mask = { + .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (201 >> 8) & 0xff, - 201 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "tl3_dip0.en", + .field_info_spec = { + .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (221 >> 8) & 0xff, - 221 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl3_ttl.en", + .field_info_mask = { + .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (229 >> 8) & 0xff, - 229 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "tl3_prot.en", + .field_info_spec = { + .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (237 >> 8) & 0xff, - 237 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl3_qos.en", + .field_info_mask = { + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (245 >> 8) & 0xff, - 245 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_src.en", + .field_info_mask = { + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (253 >> 8) & 0xff, - 253 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_dst.en", + .field_info_mask = { + .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (262 >> 8) & 0xff, - 262 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tids.en", + .field_info_mask = { + .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (269 >> 8) & 0xff, - 269 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l2_dmac.en", + .field_info_spec = { + .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (276 >> 8) & 0xff, - 276 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (283 >> 8) & 0xff, - 283 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, + .field_info_spec = { + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_ovv.en", + .field_info_mask = { + .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (291 >> 8) & 0xff, - 291 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_ivv.en", + .field_info_mask = { + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (300 >> 8) & 0xff, - 300 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (24 >> 8) & 0xff, - 24 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l2_ivv.en", + .field_info_spec = { + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (305 >> 8) & 0xff, - 305 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (25 >> 8) & 0xff, - 25 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tun_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (309 >> 8) & 0xff, - 309 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_etype.en", + .field_info_mask = { + .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (318 >> 8) & 0xff, - 318 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tun_hdr_err", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_sip3.en", + .field_info_mask = { + .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (327 >> 8) & 0xff, - 327 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_sip2.en", + .field_info_mask = { + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (336 >> 8) & 0xff, - 336 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_sip1.en", + .field_info_spec = { + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (345 >> 8) & 0xff, - 345 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_sip0.en", + .field_info_mask = { + .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (354 >> 8) & 0xff, - 354 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (31 >> 8) & 0xff, - 31 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_sip0.en", + .field_info_mask = { + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (359 >> 8) & 0xff, - 359 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (32 >> 8) & 0xff, - 32 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_sip0.en", + .field_info_mask = { + .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (363 >> 8) & 0xff, - 363 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_dip3.en", + .field_info_spec = { + .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (372 >> 8) & 0xff, - 372 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_dip2.en", + .field_info_mask = { + .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (381 >> 8) & 0xff, - 381 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_dip1.en", + .field_info_mask = { + .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (390 >> 8) & 0xff, - 390 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_dip0.en", + .field_info_mask = { + .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (399 >> 8) & 0xff, - 399 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (37 >> 8) & 0xff, - 37 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_dip0.en", + .field_info_mask = { + .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (404 >> 8) & 0xff, - 404 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (38 >> 8) & 0xff, - 38 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_dip0.en", + .field_info_spec = { + .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (408 >> 8) & 0xff, - 408 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (417 >> 8) & 0xff, - 417 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (40 >> 8) & 0xff, - 40 & 0xff} + .field_info_mask = { + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_ttl.en", + .field_info_mask = { + .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (422 >> 8) & 0xff, - 422 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (41 >> 8) & 0xff, - 41 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_ttl.en", + .field_info_spec = { + .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (426 >> 8) & 0xff, - 426 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "ot_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "ot_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (434 >> 8) & 0xff, - 434 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (43 >> 8) & 0xff, - 43 & 0xff} + .field_info_mask = { + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", + .field_info_mask = { + .description = "ot_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (438 >> 8) & 0xff, - 438 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (44 >> 8) & 0xff, - 44 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "ot_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", + .field_info_mask = { + .description = "ot_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (441 >> 8) & 0xff, - 441 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (45 >> 8) & 0xff, - 45 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "ot_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", + .field_info_mask = { + .description = "otl4_hdr_is_tcp_udp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (444 >> 8) & 0xff, - 444 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (46 >> 8) & 0xff, - 46 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_prot.en", + .field_info_spec = { + .description = "otl4_hdr_is_tcp_udp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (449 >> 8) & 0xff, - 449 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (47 >> 8) & 0xff, - 47 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", + .field_info_mask = { + .description = "otl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (454 >> 8) & 0xff, - 454 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (48 >> 8) & 0xff, - 48 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", + .field_info_mask = { + .description = "otl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (458 >> 8) & 0xff, - 458 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_qos.en", + .field_info_mask = { + .description = "otl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (467 >> 8) & 0xff, - 467 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (50 >> 8) & 0xff, - 50 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_qos.en", + .field_info_spec = { + .description = "otl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (472 >> 8) & 0xff, - 472 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (51 >> 8) & 0xff, - 51 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_qos.en", + .field_info_mask = { + .description = "otl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (476 >> 8) & 0xff, - 476 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_src.en", + .field_info_mask = { + .description = "otl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (482 >> 8) & 0xff, - 482 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_src.en", + .field_info_mask = { + .description = "otl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (485 >> 8) & 0xff, - 485 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (54 >> 8) & 0xff, - 54 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_src.en", + .field_info_mask = { + .description = "otl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (486 >> 8) & 0xff, - 486 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l4_dst.en", + .field_info_spec = { + .description = "otl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (491 >> 8) & 0xff, - 491 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (494 >> 8) & 0xff, - 494 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (57 >> 8) & 0xff, - 57 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_dst.en", + .field_info_mask = { + .description = "otl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (495 >> 8) & 0xff, - 495 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 1, , table: control.profile_tcam_priority */ + .field_info_spec = { + .description = "otl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (501 >> 8) & 0xff, - 501 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (59 >> 8) & 0xff, - 59 & 0xff} + .field_info_mask = { + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (503 >> 8) & 0xff, - 503 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (60 >> 8) & 0xff, - 60 & 0xff} + .field_info_mask = { + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (505 >> 8) & 0xff, - 505 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (61 >> 8) & 0xff, - 61 & 0xff} + .field_info_mask = { + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (507 >> 8) & 0xff, - 507 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (62 >> 8) & 0xff, - 62 & 0xff} + .field_info_mask = { + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", + .field_info_mask = { + .description = "prof_func_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (509 >> 8) & 0xff, - 509 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (63 >> 8) & 0xff, - 63 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, { - .description = "", + .field_info_mask = { + .description = "l2ip_func_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (511 >> 8) & 0xff, - 511 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (64 >> 8) & 0xff, - 64 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "", + .field_info_spec = { + .description = "l2ip_func_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (513 >> 8) & 0xff, - 513 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (65 >> 8) & 0xff, - 65 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (515 >> 8) & 0xff, - 515 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L2} + .field_info_mask = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (519 >> 8) & 0xff, - 519 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (67 >> 8) & 0xff, - 67 & 0xff} + .field_info_mask = { + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (521 >> 8) & 0xff, - 521 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (68 >> 8) & 0xff, - 68 & 0xff} + .field_info_mask = { + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_is_udp_tcp", + .field_info_mask = { + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (523 >> 8) & 0xff, - 523 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l4_hdr_is_udp_tcp", + .field_info_spec = { + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (527 >> 8) & 0xff, - 527 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (70 >> 8) & 0xff, - 70 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_is_udp_tcp", + .field_info_mask = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (529 >> 8) & 0xff, - 529 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (71 >> 8) & 0xff, - 71 & 0xff} + 0xff} }, - { - .description = "l4_hdr_is_udp_tcp", + .field_info_spec = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (531 >> 8) & 0xff, - 531 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + 1} + } + }, { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (535 >> 8) & 0xff, - 535 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (73 >> 8) & 0xff, - 73 & 0xff} + .field_info_mask = { + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_wr */ { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (537 >> 8) & 0xff, - 537 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (74 >> 8) & 0xff, - 74 & 0xff} + 0xff} }, - { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (539 >> 8) & 0xff, - 539 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (543 >> 8) & 0xff, - 543 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (76 >> 8) & 0xff, - 76 & 0xff} + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_rd */ { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (545 >> 8) & 0xff, - 545 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (77 >> 8) & 0xff, - 77 & 0xff} + 0xff, + 0xff} }, - { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (547 >> 8) & 0xff, - 547 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + } + }, + /* class_tid: 4, , table: l2_cntxt_tcam.vf2vf_egr */ { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (551 >> 8) & 0xff, - 551 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (79 >> 8) & 0xff, - 79 & 0xff} + .field_info_mask = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (553 >> 8) & 0xff, - 553 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (80 >> 8) & 0xff, - 80 & 0xff} + .field_info_mask = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (555 >> 8) & 0xff, - 555 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (559 >> 8) & 0xff, - 559 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (82 >> 8) & 0xff, - 82 & 0xff} + .field_info_mask = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (561 >> 8) & 0xff, - 561 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (83 >> 8) & 0xff, - 83 & 0xff} + .field_info_mask = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_error", + .field_info_mask = { + .description = "two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (563 >> 8) & 0xff, - 563 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_valid", + .field_info_mask = { + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (567 >> 8) & 0xff, - 567 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (85 >> 8) & 0xff, - 85 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l4_hdr_valid", + .field_info_spec = { + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (569 >> 8) & 0xff, - 569 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (86 >> 8) & 0xff, - 86 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "addr1", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "addr1", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (571 >> 8) & 0xff, - 571 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (575 >> 8) & 0xff, - 575 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (88 >> 8) & 0xff, - 88 & 0xff} + .field_info_mask = { + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (577 >> 8) & 0xff, - 577 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (89 >> 8) & 0xff, - 89 & 0xff} + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (579 >> 8) & 0xff, - 579 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "out_tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "out_tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_isIP", + .field_info_mask = { + .description = "llc", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (583 >> 8) & 0xff, - 583 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (91 >> 8) & 0xff, - 91 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_isIP", + .field_info_mask = { + .description = "roce", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (585 >> 8) & 0xff, - 585 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (92 >> 8) & 0xff, - 92 & 0xff} + 1} }, - { - .description = "l3_hdr_isIP", + .field_info_spec = { + .description = "roce", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (587 >> 8) & 0xff, - 587 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (591 >> 8) & 0xff, - 591 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (94 >> 8) & 0xff, - 94 & 0xff} + .field_info_mask = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (593 >> 8) & 0xff, - 593 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (95 >> 8) & 0xff, - 95 & 0xff} + 0xff, + 0xff} }, - { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (595 >> 8) & 0xff, - 595 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + } + }, + { + .field_info_mask = { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (599 >> 8) & 0xff, - 599 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (97 >> 8) & 0xff, - 97 & 0xff} + .field_info_mask = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (601 >> 8) & 0xff, - 601 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (98 >> 8) & 0xff, - 98 & 0xff} + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_type", + .field_info_mask = { + .description = "recycle_cnt", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (603 >> 8) & 0xff, - 603 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_hdr_type", + .field_info_spec = { + .description = "recycle_cnt", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (607 >> 8) & 0xff, - 607 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (100 >> 8) & 0xff, - 100 & 0xff} - }, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (609 >> 8) & 0xff, - 609 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (101 >> 8) & 0xff, - 101 & 0xff} + .field_info_mask = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (611 >> 8) & 0xff, - 611 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_error", + .field_info_mask = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (615 >> 8) & 0xff, - 615 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (103 >> 8) & 0xff, - 103 & 0xff} + 1} }, - { - .description = "l3_hdr_error", + .field_info_spec = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (617 >> 8) & 0xff, - 617 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (104 >> 8) & 0xff, - 104 & 0xff} - }, + 1} + } + }, + /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_wr */ { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (619 >> 8) & 0xff, - 619 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff, + 0xff} }, - { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (623 >> 8) & 0xff, - 623 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (106 >> 8) & 0xff, - 106 & 0xff} - }, + (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + } + }, + /* class_tid: 4, , table: port_table.egr_wr_0 */ { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "dev.port_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (625 >> 8) & 0xff, - 625 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (107 >> 8) & 0xff, - 107 & 0xff} + 0xff, + 0xff} }, + .field_info_spec = { + .description = "dev.port_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + /* class_tid: 5, , table: table_scope_cache.tsid_ing_rd */ { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (627 >> 8) & 0xff, - 627 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, { - .description = "l3_hdr_valid", + .field_info_mask = { + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (631 >> 8) & 0xff, - 631 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (109 >> 8) & 0xff, - 109 & 0xff} + 0xff} }, - { - .description = "l3_hdr_valid", + .field_info_spec = { + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (633 >> 8) & 0xff, - 633 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (110 >> 8) & 0xff, - 110 & 0xff} + 0xff, + 0xff} }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */ { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (635 >> 8) & 0xff, - 635 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff, + 0xff} }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */ { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (639 >> 8) & 0xff, - 639 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (112 >> 8) & 0xff, - 112 & 0xff} + .field_info_mask = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (641 >> 8) & 0xff, - 641 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (113 >> 8) & 0xff, - 113 & 0xff} + .field_info_mask = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (643 >> 8) & 0xff, - 643 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (648 >> 8) & 0xff, - 648 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (654 >> 8) & 0xff, - 654 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_hdr_error", + .field_info_mask = { + .description = "two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (661 >> 8) & 0xff, - 661 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_hdr_error", + .field_info_mask = { + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (665 >> 8) & 0xff, - 665 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l2_hdr_valid", + .field_info_spec = { + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (669 >> 8) & 0xff, - 669 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "addr1", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "addr1", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (674 >> 8) & 0xff, - 674 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (120 >> 8) & 0xff, - 120 & 0xff} + .field_info_mask = { + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (677 >> 8) & 0xff, - 677 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (121 >> 8) & 0xff, - 121 & 0xff} + .field_info_mask = { + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { + .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (679 >> 8) & 0xff, - 679 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (122 >> 8) & 0xff, - 122 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { + .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (681 >> 8) & 0xff, - 681 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (123 >> 8) & 0xff, - 123 & 0xff} - }, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", + .field_info_mask = { + .description = "out_tun_hdr_type", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (683 >> 8) & 0xff, - 683 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (124 >> 8) & 0xff, - 124 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "tun_hdr_type", + .field_info_spec = { + .description = "out_tun_hdr_type", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (685 >> 8) & 0xff, - 685 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (690 >> 8) & 0xff, - 690 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_IP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (126 >> 8) & 0xff, - 126 & 0xff} + .field_info_mask = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (693 >> 8) & 0xff, - 693 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (127 >> 8) & 0xff, - 127 & 0xff} + 0xff} }, + .field_info_spec = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (695 >> 8) & 0xff, - 695 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (128 >> 8) & 0xff, - 128 & 0xff} + .field_info_mask = { + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (697 >> 8) & 0xff, - 697 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_GRE}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (129 >> 8) & 0xff, - 129 & 0xff} + .field_info_mask = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (699 >> 8) & 0xff, - 699 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (130 >> 8) & 0xff, - 130 & 0xff} + 0xff, + 0xff} }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, { - .description = "tun_hdr_type", + .field_info_mask = { + .description = "parif", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (701 >> 8) & 0xff, - 701 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (708 >> 8) & 0xff, - 708 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_is_udp_tcp", + .field_info_mask = { + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (712 >> 8) & 0xff, - 712 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_type", + .field_info_mask = { + .description = "recycle_cnt", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (716 >> 8) & 0xff, - 716 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, - { - .description = "tl4_hdr_type", + .field_info_spec = { + .description = "recycle_cnt", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (720 >> 8) & 0xff, - 720 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (724 >> 8) & 0xff, - 724 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, + .field_info_spec = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (728 >> 8) & 0xff, - 728 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_valid", + .field_info_mask = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (732 >> 8) & 0xff, - 732 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (138 >> 8) & 0xff, - 138 & 0xff} + 1} }, - { - .description = "tl4_hdr_valid", + .field_info_spec = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (734 >> 8) & 0xff, - 734 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ONES - }, + 1} + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (737 >> 8) & 0xff, - 737 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (140 >> 8) & 0xff, - 140 & 0xff} + 0xff, + 0xff} }, - { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (739 >> 8) & 0xff, - 739 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + /* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */ { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (742 >> 8) & 0xff, - 742 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff, + 0xff} }, - { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (746 >> 8) & 0xff, - 746 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + /* class_tid: 8, , table: hot_upgrade_tcam_cache.iterate_read */ { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "tcam_id", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (750 >> 8) & 0xff, - 750 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff, + 0xff} }, - { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "tcam_id", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (754 >> 8) & 0xff, - 754 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + (BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 & 0xff} + } + } +}; + +struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { { - .description = "tl3_hdr_valid", - .field_bit_size = 1, + .description = "tunnel_type", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (758 >> 8) & 0xff, - 758 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (20 >> 8) & 0xff, + 20 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE} }, { - .description = "tl2_hdr_valid", - .field_bit_size = 1, + .description = "tunnel_type", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (770 >> 8) & 0xff, - 770 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (32 >> 8) & 0xff, + 32 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_TL2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE} }, + /* class_tid: 1, , table: control.dmac_calculation */ { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (815 >> 8) & 0xff, - 815 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (40 >> 8) & 0xff, + 40 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (3 >> 8) & 0xff, + 3 & 0xff} + }, { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (825 >> 8) & 0xff, - 825 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (42 >> 8) & 0xff, + 42 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr2 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (4 >> 8) & 0xff, + 4 & 0xff} }, { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (852 >> 8) & 0xff, - 852 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (43 >> 8) & 0xff, + 43 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr2 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: control.terminating_flow */ { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (857 >> 8) & 0xff, - 857 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (158 >> 8) & 0xff, + 158 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (6 >> 8) & 0xff, + 6 & 0xff} + }, { - .description = "tl3.ttl", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (878 >> 8) & 0xff, - 878 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (161 >> 8) & 0xff, + 161 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (7 >> 8) & 0xff, + 7 & 0xff} }, { - .description = "tl3.ttl", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (886 >> 8) & 0xff, - 886 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (164 >> 8) & 0xff, + 164 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (8 >> 8) & 0xff, + 8 & 0xff} }, { - .description = "tl3.prot", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (894 >> 8) & 0xff, - 894 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (166 >> 8) & 0xff, + 166 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (9 >> 8) & 0xff, + 9 & 0xff} }, { - .description = "tl3.prot", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (902 >> 8) & 0xff, - 902 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (168 >> 8) & 0xff, + 168 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (910 >> 8) & 0xff, - 910 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (204 >> 8) & 0xff, + 204 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (918 >> 8) & 0xff, - 918 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (233 >> 8) & 0xff, + 233 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (926 >> 8) & 0xff, - 926 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (234 >> 8) & 0xff, + 234 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (934 >> 8) & 0xff, - 934 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (254 >> 8) & 0xff, + 254 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (943 >> 8) & 0xff, - 943 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (262 >> 8) & 0xff, + 262 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (952 >> 8) & 0xff, - 952 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (270 >> 8) & 0xff, + 270 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (959 >> 8) & 0xff, - 959 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (278 >> 8) & 0xff, + 278 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (965 >> 8) & 0xff, - 965 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (286 >> 8) & 0xff, + 286 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (972 >> 8) & 0xff, - 972 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (295 >> 8) & 0xff, + 295 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (979 >> 8) & 0xff, - 979 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tids.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (302 >> 8) & 0xff, + 302 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (986 >> 8) & 0xff, - 986 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tid.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (306 >> 8) & 0xff, + 306 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (993 >> 8) & 0xff, - 993 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_dmac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (313 >> 8) & 0xff, + 313 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1001 >> 8) & 0xff, - 1001 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1010 >> 8) & 0xff, - 1010 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_smac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (320 >> 8) & 0xff, + 320 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1019 >> 8) & 0xff, - 1019 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (170 >> 8) & 0xff, - 170 & 0xff} + .description = "l2_ovv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (328 >> 8) & 0xff, + 328 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1024 >> 8) & 0xff, - 1024 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (171 >> 8) & 0xff, - 171 & 0xff} + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (337 >> 8) & 0xff, + 337 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (25 >> 8) & 0xff, + 25 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1028 >> 8) & 0xff, - 1028 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (342 >> 8) & 0xff, + 342 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (26 >> 8) & 0xff, + 26 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1037 >> 8) & 0xff, - 1037 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (173 >> 8) & 0xff, - 173 & 0xff} + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (346 >> 8) & 0xff, + 346 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1042 >> 8) & 0xff, - 1042 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (174 >> 8) & 0xff, - 174 & 0xff} + .description = "l2_etype.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (355 >> 8) & 0xff, + 355 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1046 >> 8) & 0xff, - 1046 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (364 >> 8) & 0xff, + 364 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1055 >> 8) & 0xff, - 1055 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (373 >> 8) & 0xff, + 373 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1064 >> 8) & 0xff, - 1064 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (382 >> 8) & 0xff, + 382 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1072 >> 8) & 0xff, - 1072 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (391 >> 8) & 0xff, + 391 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (32 >> 8) & 0xff, + 32 & 0xff} }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1079 >> 8) & 0xff, - 1079 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (396 >> 8) & 0xff, + 396 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (33 >> 8) & 0xff, + 33 & 0xff} }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1086 >> 8) & 0xff, - 1086 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (400 >> 8) & 0xff, + 400 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1093 >> 8) & 0xff, - 1093 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (409 >> 8) & 0xff, + 409 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1100 >> 8) & 0xff, - 1100 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (418 >> 8) & 0xff, + 418 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1107 >> 8) & 0xff, - 1107 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (427 >> 8) & 0xff, + 427 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1114 >> 8) & 0xff, - 1114 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (436 >> 8) & 0xff, + 436 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (38 >> 8) & 0xff, + 38 & 0xff} }, { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1121 >> 8) & 0xff, - 1121 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (441 >> 8) & 0xff, + 441 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (39 >> 8) & 0xff, + 39 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1128 >> 8) & 0xff, - 1128 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (186 >> 8) & 0xff, - 186 & 0xff} + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (445 >> 8) & 0xff, + 445 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1132 >> 8) & 0xff, - 1132 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (187 >> 8) & 0xff, - 187 & 0xff} + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (454 >> 8) & 0xff, + 454 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (41 >> 8) & 0xff, + 41 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1135 >> 8) & 0xff, - 1135 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (459 >> 8) & 0xff, + 459 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (42 >> 8) & 0xff, + 42 & 0xff} }, { - .description = "l3.ttl", + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (463 >> 8) & 0xff, + 463 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (471 >> 8) & 0xff, + 471 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (44 >> 8) & 0xff, + 44 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (475 >> 8) & 0xff, + 475 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (45 >> 8) & 0xff, + 45 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (478 >> 8) & 0xff, + 478 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (46 >> 8) & 0xff, + 46 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (481 >> 8) & 0xff, + 481 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (47 >> 8) & 0xff, + 47 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (486 >> 8) & 0xff, + 486 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (48 >> 8) & 0xff, + 48 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (491 >> 8) & 0xff, + 491 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (49 >> 8) & 0xff, + 49 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (495 >> 8) & 0xff, + 495 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (504 >> 8) & 0xff, + 504 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (51 >> 8) & 0xff, + 51 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (509 >> 8) & 0xff, + 509 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (52 >> 8) & 0xff, + 52 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (513 >> 8) & 0xff, + 513 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (519 >> 8) & 0xff, + 519 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (522 >> 8) & 0xff, + 522 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (55 >> 8) & 0xff, + 55 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (523 >> 8) & 0xff, + 523 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (528 >> 8) & 0xff, + 528 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (531 >> 8) & 0xff, + 531 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (58 >> 8) & 0xff, + 58 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (532 >> 8) & 0xff, + 532 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 1, , table: control.profile_tcam_priority */ + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (538 >> 8) & 0xff, + 538 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (60 >> 8) & 0xff, + 60 & 0xff} + }, + { + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1142 >> 8) & 0xff, - 1142 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (189 >> 8) & 0xff, - 189 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (540 >> 8) & 0xff, + 540 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (61 >> 8) & 0xff, + 61 & 0xff} }, { - .description = "l3.ttl", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1146 >> 8) & 0xff, - 1146 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (190 >> 8) & 0xff, - 190 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (542 >> 8) & 0xff, + 542 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (62 >> 8) & 0xff, + 62 & 0xff} }, { - .description = "l3.ttl", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1149 >> 8) & 0xff, - 1149 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (544 >> 8) & 0xff, + 544 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (63 >> 8) & 0xff, + 63 & 0xff} }, { - .description = "l3.prot", + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (546 >> 8) & 0xff, + 546 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (64 >> 8) & 0xff, + 64 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (548 >> 8) & 0xff, + 548 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (65 >> 8) & 0xff, + 65 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (550 >> 8) & 0xff, + 550 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (66 >> 8) & 0xff, + 66 & 0xff} + }, + { + .description = "", .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (552 >> 8) & 0xff, + 552 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L2} + }, + { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1155 >> 8) & 0xff, - 1155 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (560 >> 8) & 0xff, + 560 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (192 >> 8) & 0xff, - 192 & 0xff} + (68 >> 8) & 0xff, + 68 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1158 >> 8) & 0xff, - 1158 & 0xff, + (562 >> 8) & 0xff, + 562 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (193 >> 8) & 0xff, - 193 & 0xff} + (69 >> 8) & 0xff, + 69 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1160 >> 8) & 0xff, - 1160 & 0xff, + (564 >> 8) & 0xff, + 564 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (194 >> 8) & 0xff, - 194 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1162 >> 8) & 0xff, - 1162 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (568 >> 8) & 0xff, + 568 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (195 >> 8) & 0xff, - 195 & 0xff} + (71 >> 8) & 0xff, + 71 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1166 >> 8) & 0xff, - 1166 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (570 >> 8) & 0xff, + 570 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (196 >> 8) & 0xff, - 196 & 0xff} + (72 >> 8) & 0xff, + 72 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1170 >> 8) & 0xff, - 1170 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (572 >> 8) & 0xff, + 572 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (197 >> 8) & 0xff, - 197 & 0xff} + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1173 >> 8) & 0xff, - 1173 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (576 >> 8) & 0xff, + 576 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1179 >> 8) & 0xff, - 1179 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_UDP}, + (578 >> 8) & 0xff, + 578 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (199 >> 8) & 0xff, - 199 & 0xff} + (75 >> 8) & 0xff, + 75 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1182 >> 8) & 0xff, - 1182 & 0xff, + (580 >> 8) & 0xff, + 580 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_TCP}, + (76 >> 8) & 0xff, + 76 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (200 >> 8) & 0xff, - 200 & 0xff} + (77 >> 8) & 0xff, + 77 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (582 >> 8) & 0xff, + 582 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1184 >> 8) & 0xff, - 1184 & 0xff, + (584 >> 8) & 0xff, + 584 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (201 >> 8) & 0xff, - 201 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (588 >> 8) & 0xff, + 588 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1186 >> 8) & 0xff, - 1186 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + (590 >> 8) & 0xff, + 590 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (202 >> 8) & 0xff, - 202 & 0xff} + (80 >> 8) & 0xff, + 80 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1190 >> 8) & 0xff, - 1190 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (592 >> 8) & 0xff, + 592 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + (81 >> 8) & 0xff, + 81 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (203 >> 8) & 0xff, - 203 & 0xff} + (82 >> 8) & 0xff, + 82 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1194 >> 8) & 0xff, - 1194 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (594 >> 8) & 0xff, + 594 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (204 >> 8) & 0xff, - 204 & 0xff} + ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1197 >> 8) & 0xff, - 1197 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (596 >> 8) & 0xff, + 596 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1204 >> 8) & 0xff, - 1204 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + (600 >> 8) & 0xff, + 600 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (206 >> 8) & 0xff, - 206 & 0xff} + (84 >> 8) & 0xff, + 84 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1208 >> 8) & 0xff, - 1208 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (602 >> 8) & 0xff, + 602 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (207 >> 8) & 0xff, - 207 & 0xff} + (85 >> 8) & 0xff, + 85 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1211 >> 8) & 0xff, - 1211 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (604 >> 8) & 0xff, + 604 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1218 >> 8) & 0xff, - 1218 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + (608 >> 8) & 0xff, + 608 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (209 >> 8) & 0xff, - 209 & 0xff} + (87 >> 8) & 0xff, + 87 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1222 >> 8) & 0xff, - 1222 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (610 >> 8) & 0xff, + 610 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (210 >> 8) & 0xff, - 210 & 0xff} + (88 >> 8) & 0xff, + 88 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1225 >> 8) & 0xff, - 1225 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (612 >> 8) & 0xff, + 612 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1232 >> 8) & 0xff, - 1232 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (212 >> 8) & 0xff, - 212 & 0xff} + (616 >> 8) & 0xff, + 616 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1236 >> 8) & 0xff, - 1236 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + (618 >> 8) & 0xff, + 618 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (213 >> 8) & 0xff, - 213 & 0xff} + (91 >> 8) & 0xff, + 91 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1239 >> 8) & 0xff, - 1239 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (620 >> 8) & 0xff, + 620 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + (92 >> 8) & 0xff, + 92 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (214 >> 8) & 0xff, - 214 & 0xff} + (93 >> 8) & 0xff, + 93 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1242 >> 8) & 0xff, - 1242 & 0xff, + (622 >> 8) & 0xff, + 622 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1248 >> 8) & 0xff, - 1248 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (624 >> 8) & 0xff, + 624 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (628 >> 8) & 0xff, + 628 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (216 >> 8) & 0xff, - 216 & 0xff} + ULP_THOR2_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1252 >> 8) & 0xff, - 1252 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (630 >> 8) & 0xff, + 630 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + ULP_THOR2_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (217 >> 8) & 0xff, - 217 & 0xff} + (96 >> 8) & 0xff, + 96 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1255 >> 8) & 0xff, - 1255 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (632 >> 8) & 0xff, + 632 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + (97 >> 8) & 0xff, + 97 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (218 >> 8) & 0xff, - 218 & 0xff} + (98 >> 8) & 0xff, + 98 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1258 >> 8) & 0xff, - 1258 & 0xff, + (634 >> 8) & 0xff, + 634 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1264 >> 8) & 0xff, - 1264 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (636 >> 8) & 0xff, + 636 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + ULP_THOR2_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (640 >> 8) & 0xff, + 640 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (220 >> 8) & 0xff, - 220 & 0xff} + (100 >> 8) & 0xff, + 100 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1268 >> 8) & 0xff, - 1268 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (642 >> 8) & 0xff, + 642 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (221 >> 8) & 0xff, - 221 & 0xff} + (101 >> 8) & 0xff, + 101 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1271 >> 8) & 0xff, - 1271 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + (644 >> 8) & 0xff, + 644 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (222 >> 8) & 0xff, - 222 & 0xff} + (102 >> 8) & 0xff, + 102 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1274 >> 8) & 0xff, - 1274 & 0xff, + (646 >> 8) & 0xff, + 646 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1280 >> 8) & 0xff, - 1280 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (650 >> 8) & 0xff, + 650 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (224 >> 8) & 0xff, - 224 & 0xff} + (104 >> 8) & 0xff, + 104 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1284 >> 8) & 0xff, - 1284 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (652 >> 8) & 0xff, + 652 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (225 >> 8) & 0xff, - 225 & 0xff} + (105 >> 8) & 0xff, + 105 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1287 >> 8) & 0xff, - 1287 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (654 >> 8) & 0xff, + 654 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (226 >> 8) & 0xff, - 226 & 0xff} + (106 >> 8) & 0xff, + 106 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1290 >> 8) & 0xff, - 1290 & 0xff, + (656 >> 8) & 0xff, + 656 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1327 >> 8) & 0xff, - 1327 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (660 >> 8) & 0xff, + 660 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1353 >> 8) & 0xff, - 1353 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (662 >> 8) & 0xff, + 662 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (109 >> 8) & 0xff, + 109 & 0xff} }, { - .description = "tl3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1373 >> 8) & 0xff, - 1373 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (664 >> 8) & 0xff, + 664 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (110 >> 8) & 0xff, + 110 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (111 >> 8) & 0xff, + 111 & 0xff} }, { - .description = "tl3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1381 >> 8) & 0xff, - 1381 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (666 >> 8) & 0xff, + 666 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1389 >> 8) & 0xff, - 1389 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (668 >> 8) & 0xff, + 668 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1397 >> 8) & 0xff, - 1397 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (672 >> 8) & 0xff, + 672 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1405 >> 8) & 0xff, - 1405 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (674 >> 8) & 0xff, + 674 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (114 >> 8) & 0xff, + 114 & 0xff} }, { - .description = "tl4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1414 >> 8) & 0xff, - 1414 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (676 >> 8) & 0xff, + 676 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (115 >> 8) & 0xff, + 115 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (116 >> 8) & 0xff, + 116 & 0xff} }, { - .description = "tids.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1421 >> 8) & 0xff, - 1421 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (678 >> 8) & 0xff, + 678 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dmac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1429 >> 8) & 0xff, - 1429 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (680 >> 8) & 0xff, + 680 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1437 >> 8) & 0xff, - 1437 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (684 >> 8) & 0xff, + 684 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (118 >> 8) & 0xff, + 118 & 0xff} }, { - .description = "l2_ovv.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1445 >> 8) & 0xff, - 1445 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (686 >> 8) & 0xff, + 686 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (119 >> 8) & 0xff, + 119 & 0xff} }, { - .description = "l2_ivv.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1454 >> 8) & 0xff, - 1454 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (240 >> 8) & 0xff, - 240 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (688 >> 8) & 0xff, + 688 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1459 >> 8) & 0xff, - 1459 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (241 >> 8) & 0xff, - 241 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (692 >> 8) & 0xff, + 692 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (121 >> 8) & 0xff, + 121 & 0xff} }, { - .description = "l2_ivv.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1463 >> 8) & 0xff, - 1463 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (694 >> 8) & 0xff, + 694 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (122 >> 8) & 0xff, + 122 & 0xff} }, { - .description = "l2_etype.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1472 >> 8) & 0xff, - 1472 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (696 >> 8) & 0xff, + 696 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip3.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1480 >> 8) & 0xff, - 1480 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (700 >> 8) & 0xff, + 700 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip2.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1487 >> 8) & 0xff, - 1487 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (702 >> 8) & 0xff, + 702 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (125 >> 8) & 0xff, + 125 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (126 >> 8) & 0xff, + 126 & 0xff} }, { - .description = "l3_sip1.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1494 >> 8) & 0xff, - 1494 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (704 >> 8) & 0xff, + 704 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1501 >> 8) & 0xff, - 1501 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (247 >> 8) & 0xff, - 247 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (706 >> 8) & 0xff, + 706 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (127 >> 8) & 0xff, + 127 & 0xff} }, { - .description = "l3_sip0.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1505 >> 8) & 0xff, - 1505 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (248 >> 8) & 0xff, - 248 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (708 >> 8) & 0xff, + 708 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1508 >> 8) & 0xff, - 1508 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (712 >> 8) & 0xff, + 712 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip3.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1515 >> 8) & 0xff, - 1515 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_dip2.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1522 >> 8) & 0xff, - 1522 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_dip1.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1529 >> 8) & 0xff, - 1529 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1536 >> 8) & 0xff, - 1536 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (253 >> 8) & 0xff, - 253 & 0xff} - }, - { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1540 >> 8) & 0xff, - 1540 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (254 >> 8) & 0xff, - 254 & 0xff} - }, - { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1543 >> 8) & 0xff, - 1543 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1550 >> 8) & 0xff, - 1550 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (256 >> 8) & 0xff, - 256 & 0xff} - }, - { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1554 >> 8) & 0xff, - 1554 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (257 >> 8) & 0xff, - 257 & 0xff} - }, - { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1557 >> 8) & 0xff, - 1557 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (714 >> 8) & 0xff, + 714 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (130 >> 8) & 0xff, + 130 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (131 >> 8) & 0xff, + 131 & 0xff} }, { - .description = "l3_prot.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1564 >> 8) & 0xff, - 1564 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (259 >> 8) & 0xff, - 259 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (716 >> 8) & 0xff, + 716 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1568 >> 8) & 0xff, - 1568 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (260 >> 8) & 0xff, - 260 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (718 >> 8) & 0xff, + 718 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (132 >> 8) & 0xff, + 132 & 0xff} }, { - .description = "l3_prot.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1571 >> 8) & 0xff, - 1571 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (720 >> 8) & 0xff, + 720 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1578 >> 8) & 0xff, - 1578 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (262 >> 8) & 0xff, - 262 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (725 >> 8) & 0xff, + 725 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1582 >> 8) & 0xff, - 1582 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (263 >> 8) & 0xff, - 263 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (731 >> 8) & 0xff, + 731 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1585 >> 8) & 0xff, - 1585 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (738 >> 8) & 0xff, + 738 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", + .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1592 >> 8) & 0xff, - 1592 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (265 >> 8) & 0xff, - 265 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (742 >> 8) & 0xff, + 742 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1596 >> 8) & 0xff, - 1596 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (266 >> 8) & 0xff, - 266 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (746 >> 8) & 0xff, + 746 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1599 >> 8) & 0xff, - 1599 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (748 >> 8) & 0xff, + 748 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (139 >> 8) & 0xff, + 139 & 0xff} }, { - .description = "l4_dst.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1606 >> 8) & 0xff, - 1606 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (268 >> 8) & 0xff, - 268 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (750 >> 8) & 0xff, + 750 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES} }, { - .description = "l4_dst.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1610 >> 8) & 0xff, - 1610 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (269 >> 8) & 0xff, - 269 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (754 >> 8) & 0xff, + 754 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_dst.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1613 >> 8) & 0xff, - 1613 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivv", - .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1659 >> 8) & 0xff, - 1659 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (756 >> 8) & 0xff, + 756 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (142 >> 8) & 0xff, + 142 & 0xff} }, { - .description = "tl2_ivv", - .field_bit_size = 12, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1669 >> 8) & 0xff, - 1669 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (758 >> 8) & 0xff, + 758 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.ttl", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1720 >> 8) & 0xff, - 1720 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (763 >> 8) & 0xff, + 763 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (144 >> 8) & 0xff, + 144 & 0xff} }, { - .description = "tl3.ttl", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1728 >> 8) & 0xff, - 1728 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (766 >> 8) & 0xff, + 766 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (145 >> 8) & 0xff, + 145 & 0xff} }, { - .description = "tl3.prot", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1736 >> 8) & 0xff, - 1736 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (768 >> 8) & 0xff, + 768 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (146 >> 8) & 0xff, + 146 & 0xff} }, { - .description = "tl3.prot", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1744 >> 8) & 0xff, - 1744 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (770 >> 8) & 0xff, + 770 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (147 >> 8) & 0xff, + 147 & 0xff} }, { - .description = "tl3.qos", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1752 >> 8) & 0xff, - 1752 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (772 >> 8) & 0xff, + 772 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (148 >> 8) & 0xff, + 148 & 0xff} }, { - .description = "tl3.qos", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1760 >> 8) & 0xff, - 1760 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (774 >> 8) & 0xff, + 774 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (149 >> 8) & 0xff, + 149 & 0xff} }, { - .description = "tl4.src", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1768 >> 8) & 0xff, - 1768 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (776 >> 8) & 0xff, + 776 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.src", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1776 >> 8) & 0xff, - 1776 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (780 >> 8) & 0xff, + 780 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_IP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (151 >> 8) & 0xff, + 151 & 0xff} }, { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1785 >> 8) & 0xff, - 1785 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (783 >> 8) & 0xff, + 783 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (152 >> 8) & 0xff, + 152 & 0xff} }, { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1794 >> 8) & 0xff, - 1794 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (785 >> 8) & 0xff, + 785 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (153 >> 8) & 0xff, + 153 & 0xff} }, { - .description = "tids", - .field_bit_size = 24, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1801 >> 8) & 0xff, - 1801 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (787 >> 8) & 0xff, + 787 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_GRE}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (154 >> 8) & 0xff, + 154 & 0xff} }, { - .description = "tids", - .field_bit_size = 24, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1807 >> 8) & 0xff, - 1807 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (789 >> 8) & 0xff, + 789 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (155 >> 8) & 0xff, + 155 & 0xff} }, { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1815 >> 8) & 0xff, - 1815 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (791 >> 8) & 0xff, + 791 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (156 >> 8) & 0xff, + 156 & 0xff} }, { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1824 >> 8) & 0xff, - 1824 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (793 >> 8) & 0xff, + 793 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_DYN_UPAR_ID >> 8) & 0xff, + BNXT_ULP_RF_IDX_DYN_UPAR_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac", - .field_bit_size = 48, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1832 >> 8) & 0xff, - 1832 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (799 >> 8) & 0xff, + 799 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac", - .field_bit_size = 48, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1839 >> 8) & 0xff, - 1839 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (803 >> 8) & 0xff, + 803 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1847 >> 8) & 0xff, - 1847 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (807 >> 8) & 0xff, + 807 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1856 >> 8) & 0xff, - 1856 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (811 >> 8) & 0xff, + 811 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TL4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1865 >> 8) & 0xff, - 1865 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (815 >> 8) & 0xff, + 815 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (291 >> 8) & 0xff, - 291 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1870 >> 8) & 0xff, - 1870 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (292 >> 8) & 0xff, - 292 & 0xff} + (819 >> 8) & 0xff, + 819 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1874 >> 8) & 0xff, - 1874 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (823 >> 8) & 0xff, + 823 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (164 >> 8) & 0xff, + 164 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1883 >> 8) & 0xff, - 1883 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (294 >> 8) & 0xff, - 294 & 0xff} + (825 >> 8) & 0xff, + 825 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ONES }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1888 >> 8) & 0xff, - 1888 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (828 >> 8) & 0xff, + 828 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + ULP_THOR2_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (295 >> 8) & 0xff, - 295 & 0xff} + (166 >> 8) & 0xff, + 166 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1892 >> 8) & 0xff, - 1892 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (830 >> 8) & 0xff, + 830 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype", - .field_bit_size = 16, + .description = "tl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1901 >> 8) & 0xff, - 1901 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (833 >> 8) & 0xff, + 833 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype", - .field_bit_size = 16, + .description = "tl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1910 >> 8) & 0xff, - 1910 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (837 >> 8) & 0xff, + 837 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "tl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1918 >> 8) & 0xff, - 1918 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (841 >> 8) & 0xff, + 841 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "tl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1925 >> 8) & 0xff, - 1925 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (845 >> 8) & 0xff, + 845 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, + .description = "tl3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1932 >> 8) & 0xff, - 1932 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (849 >> 8) & 0xff, + 849 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, + .description = "tl2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1939 >> 8) & 0xff, - 1939 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (861 >> 8) & 0xff, + 861 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TL2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1946 >> 8) & 0xff, - 1946 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (906 >> 8) & 0xff, + 906 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1953 >> 8) & 0xff, - 1953 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (916 >> 8) & 0xff, + 916 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.dip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1960 >> 8) & 0xff, - 1960 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (943 >> 8) & 0xff, + 943 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.dip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1967 >> 8) & 0xff, - 1967 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (948 >> 8) & 0xff, + 948 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1974 >> 8) & 0xff, - 1974 & 0xff, + (969 >> 8) & 0xff, + 969 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (307 >> 8) & 0xff, - 307 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1978 >> 8) & 0xff, - 1978 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (308 >> 8) & 0xff, - 308 & 0xff} + (977 >> 8) & 0xff, + 977 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1981 >> 8) & 0xff, - 1981 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (985 >> 8) & 0xff, + 985 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1988 >> 8) & 0xff, - 1988 & 0xff, + (993 >> 8) & 0xff, + 993 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (310 >> 8) & 0xff, - 310 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1992 >> 8) & 0xff, - 1992 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1001 >> 8) & 0xff, + 1001 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (311 >> 8) & 0xff, - 311 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1995 >> 8) & 0xff, - 1995 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1009 >> 8) & 0xff, + 1009 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2002 >> 8) & 0xff, - 2002 & 0xff, + (1017 >> 8) & 0xff, + 1017 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (313 >> 8) & 0xff, - 313 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2006 >> 8) & 0xff, - 2006 & 0xff, + (1025 >> 8) & 0xff, + 1025 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1034 >> 8) & 0xff, + 1034 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1043 >> 8) & 0xff, + 1043 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1050 >> 8) & 0xff, + 1050 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (314 >> 8) & 0xff, - 314 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2009 >> 8) & 0xff, - 2009 & 0xff, + (1056 >> 8) & 0xff, + 1056 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2016 >> 8) & 0xff, - 2016 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1060 >> 8) & 0xff, + 1060 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (316 >> 8) & 0xff, - 316 & 0xff} + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2020 >> 8) & 0xff, - 2020 & 0xff, + (1064 >> 8) & 0xff, + 1064 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (317 >> 8) & 0xff, - 317 & 0xff} + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2023 >> 8) & 0xff, - 2023 & 0xff, + (1071 >> 8) & 0xff, + 1071 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2030 >> 8) & 0xff, - 2030 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (319 >> 8) & 0xff, - 319 & 0xff} + (1078 >> 8) & 0xff, + 1078 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2034 >> 8) & 0xff, - 2034 & 0xff, + (1085 >> 8) & 0xff, + 1085 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (320 >> 8) & 0xff, - 320 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2037 >> 8) & 0xff, - 2037 & 0xff, + (1092 >> 8) & 0xff, + 1092 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2044 >> 8) & 0xff, - 2044 & 0xff, + (1100 >> 8) & 0xff, + 1100 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1109 >> 8) & 0xff, + 1109 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1118 >> 8) & 0xff, + 1118 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (322 >> 8) & 0xff, - 322 & 0xff} + (198 >> 8) & 0xff, + 198 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2048 >> 8) & 0xff, - 2048 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1123 >> 8) & 0xff, + 1123 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (323 >> 8) & 0xff, - 323 & 0xff} + (199 >> 8) & 0xff, + 199 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2051 >> 8) & 0xff, - 2051 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1127 >> 8) & 0xff, + 1127 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1136 >> 8) & 0xff, + 1136 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (201 >> 8) & 0xff, + 201 & 0xff} + }, + { + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2058 >> 8) & 0xff, - 2058 & 0xff, + (1141 >> 8) & 0xff, + 1141 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (325 >> 8) & 0xff, - 325 & 0xff} + (202 >> 8) & 0xff, + 202 & 0xff} }, { - .description = "l4.src", + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1145 >> 8) & 0xff, + 1145 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1154 >> 8) & 0xff, + 1154 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_etype", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2062 >> 8) & 0xff, - 2062 & 0xff, + (1163 >> 8) & 0xff, + 1163 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1171 >> 8) & 0xff, + 1171 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (326 >> 8) & 0xff, - 326 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2065 >> 8) & 0xff, - 2065 & 0xff, + (1178 >> 8) & 0xff, + 1178 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2072 >> 8) & 0xff, - 2072 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1185 >> 8) & 0xff, + 1185 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (328 >> 8) & 0xff, - 328 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2076 >> 8) & 0xff, - 2076 & 0xff, + (1192 >> 8) & 0xff, + 1192 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (329 >> 8) & 0xff, - 329 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2079 >> 8) & 0xff, - 2079 & 0xff, + (1199 >> 8) & 0xff, + 1199 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1206 >> 8) & 0xff, + 1206 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1213 >> 8) & 0xff, + 1213 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1220 >> 8) & 0xff, + 1220 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2086 >> 8) & 0xff, - 2086 & 0xff, + (1227 >> 8) & 0xff, + 1227 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (331 >> 8) & 0xff, - 331 & 0xff} + (214 >> 8) & 0xff, + 214 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2090 >> 8) & 0xff, - 2090 & 0xff, + (1231 >> 8) & 0xff, + 1231 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (332 >> 8) & 0xff, - 332 & 0xff} + (215 >> 8) & 0xff, + 215 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2093 >> 8) & 0xff, - 2093 & 0xff, + (1234 >> 8) & 0xff, + 1234 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2100 >> 8) & 0xff, - 2100 & 0xff, + (1241 >> 8) & 0xff, + 1241 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (334 >> 8) & 0xff, - 334 & 0xff} + (217 >> 8) & 0xff, + 217 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2104 >> 8) & 0xff, - 2104 & 0xff, + (1245 >> 8) & 0xff, + 1245 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (335 >> 8) & 0xff, - 335 & 0xff} + (218 >> 8) & 0xff, + 218 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2107 >> 8) & 0xff, - 2107 & 0xff, + (1248 >> 8) & 0xff, + 1248 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - /* class_tid: 2, , table: control.terminating_flow */ { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2206 >> 8) & 0xff, - 2206 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (337 >> 8) & 0xff, - 337 & 0xff} - }, - { - .description = "", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2208 >> 8) & 0xff, - 2208 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (338 >> 8) & 0xff, - 338 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1254 >> 8) & 0xff, + 1254 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (220 >> 8) & 0xff, + 220 & 0xff} }, { - .description = "", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2210 >> 8) & 0xff, - 2210 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (339 >> 8) & 0xff, - 339 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1257 >> 8) & 0xff, + 1257 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (221 >> 8) & 0xff, + 221 & 0xff} }, { - .description = "", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2212 >> 8) & 0xff, - 2212 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1259 >> 8) & 0xff, + 1259 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (222 >> 8) & 0xff, + 222 & 0xff} }, { - .description = "tl2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2237 >> 8) & 0xff, - 2237 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - 1} + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1261 >> 8) & 0xff, + 1261 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (223 >> 8) & 0xff, + 223 & 0xff} }, { - .description = "tl2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2250 >> 8) & 0xff, - 2250 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1265 >> 8) & 0xff, + 1265 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (224 >> 8) & 0xff, + 224 & 0xff} }, { - .description = "tl3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2279 >> 8) & 0xff, - 2279 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1269 >> 8) & 0xff, + 1269 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (225 >> 8) & 0xff, + 225 & 0xff} }, { - .description = "tl3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2280 >> 8) & 0xff, - 2280 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1272 >> 8) & 0xff, + 1272 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "tl3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2300 >> 8) & 0xff, - 2300 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1278 >> 8) & 0xff, + 1278 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (227 >> 8) & 0xff, + 227 & 0xff} }, { - .description = "tl3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2308 >> 8) & 0xff, - 2308 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1281 >> 8) & 0xff, + 1281 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (228 >> 8) & 0xff, + 228 & 0xff} }, { - .description = "tl3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2316 >> 8) & 0xff, - 2316 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1283 >> 8) & 0xff, + 1283 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (229 >> 8) & 0xff, + 229 & 0xff} }, { - .description = "tl3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2324 >> 8) & 0xff, - 2324 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1285 >> 8) & 0xff, + 1285 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (230 >> 8) & 0xff, + 230 & 0xff} }, { - .description = "tl4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2332 >> 8) & 0xff, - 2332 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1289 >> 8) & 0xff, + 1289 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (231 >> 8) & 0xff, + 231 & 0xff} }, { - .description = "tl4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2341 >> 8) & 0xff, - 2341 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1293 >> 8) & 0xff, + 1293 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (232 >> 8) & 0xff, + 232 & 0xff} }, { - .description = "tids.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2348 >> 8) & 0xff, - 2348 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1296 >> 8) & 0xff, + 1296 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l2_dmac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2355 >> 8) & 0xff, - 2355 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1303 >> 8) & 0xff, + 1303 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (234 >> 8) & 0xff, + 234 & 0xff} }, { - .description = "l2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2362 >> 8) & 0xff, - 2362 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1307 >> 8) & 0xff, + 1307 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (235 >> 8) & 0xff, + 235 & 0xff} }, { - .description = "l2_ovv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2370 >> 8) & 0xff, - 2370 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1310 >> 8) & 0xff, + 1310 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2379 >> 8) & 0xff, - 2379 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (355 >> 8) & 0xff, - 355 & 0xff} + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1317 >> 8) & 0xff, + 1317 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (237 >> 8) & 0xff, + 237 & 0xff} }, { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2384 >> 8) & 0xff, - 2384 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (356 >> 8) & 0xff, - 356 & 0xff} + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1321 >> 8) & 0xff, + 1321 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (238 >> 8) & 0xff, + 238 & 0xff} }, { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2388 >> 8) & 0xff, - 2388 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1324 >> 8) & 0xff, + 1324 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l2_etype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2397 >> 8) & 0xff, - 2397 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1331 >> 8) & 0xff, + 1331 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (240 >> 8) & 0xff, + 240 & 0xff} }, { - .description = "l3_sip3.en", + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1335 >> 8) & 0xff, + 1335 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (241 >> 8) & 0xff, + 241 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1338 >> 8) & 0xff, + 1338 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (242 >> 8) & 0xff, + 242 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1341 >> 8) & 0xff, + 1341 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1347 >> 8) & 0xff, + 1347 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (244 >> 8) & 0xff, + 244 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1351 >> 8) & 0xff, + 1351 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (245 >> 8) & 0xff, + 245 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1354 >> 8) & 0xff, + 1354 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (246 >> 8) & 0xff, + 246 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1357 >> 8) & 0xff, + 1357 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1363 >> 8) & 0xff, + 1363 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (248 >> 8) & 0xff, + 248 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1367 >> 8) & 0xff, + 1367 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (249 >> 8) & 0xff, + 249 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1370 >> 8) & 0xff, + 1370 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (250 >> 8) & 0xff, + 250 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1373 >> 8) & 0xff, + 1373 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1379 >> 8) & 0xff, + 1379 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (252 >> 8) & 0xff, + 252 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1383 >> 8) & 0xff, + 1383 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (253 >> 8) & 0xff, + 253 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1386 >> 8) & 0xff, + 1386 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (254 >> 8) & 0xff, + 254 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1389 >> 8) & 0xff, + 1389 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "tl2_ivv.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2406 >> 8) & 0xff, - 2406 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1429 >> 8) & 0xff, + 1429 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip2.en", + .description = "tl3_sip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2415 >> 8) & 0xff, - 2415 & 0xff, + (1455 >> 8) & 0xff, + 1455 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43684,13 +45965,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip1.en", + .description = "tl3_dip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2424 >> 8) & 0xff, - 2424 & 0xff, + (1475 >> 8) & 0xff, + 1475 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43699,49 +45980,43 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "tl3_ttl.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2433 >> 8) & 0xff, - 2433 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (1483 >> 8) & 0xff, + 1483 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (362 >> 8) & 0xff, - 362 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "tl3_prot.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2438 >> 8) & 0xff, - 2438 & 0xff, + (1491 >> 8) & 0xff, + 1491 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (363 >> 8) & 0xff, - 363 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "tl3_qos.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2442 >> 8) & 0xff, - 2442 & 0xff, + (1499 >> 8) & 0xff, + 1499 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43750,13 +46025,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip3.en", + .description = "tl4_src.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2451 >> 8) & 0xff, - 2451 & 0xff, + (1507 >> 8) & 0xff, + 1507 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43765,13 +46040,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip2.en", + .description = "tl4_dst.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2460 >> 8) & 0xff, - 2460 & 0xff, + (1516 >> 8) & 0xff, + 1516 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43780,64 +46055,73 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip1.en", + .description = "tids.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2469 >> 8) & 0xff, - 2469 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1523 >> 8) & 0xff, + 1523 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip0.en", + .description = "tid.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2478 >> 8) & 0xff, - 2478 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (1527 >> 8) & 0xff, + 1527 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (368 >> 8) & 0xff, - 368 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip0.en", + .description = "l2_dmac.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2483 >> 8) & 0xff, - 2483 & 0xff, + (1535 >> 8) & 0xff, + 1535 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (369 >> 8) & 0xff, - 369 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip0.en", + .description = "l2_smac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1543 >> 8) & 0xff, + 1543 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_ovv.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2487 >> 8) & 0xff, - 2487 & 0xff, + (1551 >> 8) & 0xff, + 1551 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43846,13 +46130,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ttl.en", + .description = "l2_ivv.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2496 >> 8) & 0xff, - 2496 & 0xff, + (1560 >> 8) & 0xff, + 1560 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43860,17 +46144,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (371 >> 8) & 0xff, - 371 & 0xff} + (269 >> 8) & 0xff, + 269 & 0xff} }, { - .description = "l3_ttl.en", + .description = "l2_ivv.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2501 >> 8) & 0xff, - 2501 & 0xff, + (1565 >> 8) & 0xff, + 1565 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43878,17 +46162,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (372 >> 8) & 0xff, - 372 & 0xff} + (270 >> 8) & 0xff, + 270 & 0xff} }, { - .description = "l3_ttl.en", + .description = "l2_ivv.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2505 >> 8) & 0xff, - 2505 & 0xff, + (1569 >> 8) & 0xff, + 1569 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43897,218 +46181,205 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l2_etype.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2513 >> 8) & 0xff, - 2513 & 0xff, + (1578 >> 8) & 0xff, + 1578 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (374 >> 8) & 0xff, - 374 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l3_sip3.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2517 >> 8) & 0xff, - 2517 & 0xff, + (1586 >> 8) & 0xff, + 1586 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (375 >> 8) & 0xff, - 375 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l3_sip2.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2520 >> 8) & 0xff, - 2520 & 0xff, + (1593 >> 8) & 0xff, + 1593 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (376 >> 8) & 0xff, - 376 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l3_sip1.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2523 >> 8) & 0xff, - 2523 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (1600 >> 8) & 0xff, + 1600 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (377 >> 8) & 0xff, - 377 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l3_sip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2528 >> 8) & 0xff, - 2528 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (1607 >> 8) & 0xff, + 1607 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (378 >> 8) & 0xff, - 378 & 0xff} + (276 >> 8) & 0xff, + 276 & 0xff} }, { - .description = "l3_prot.en", + .description = "l3_sip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2533 >> 8) & 0xff, - 2533 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1611 >> 8) & 0xff, + 1611 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (379 >> 8) & 0xff, - 379 & 0xff} + (277 >> 8) & 0xff, + 277 & 0xff} }, { - .description = "l3_prot.en", + .description = "l3_sip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2537 >> 8) & 0xff, - 2537 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1614 >> 8) & 0xff, + 1614 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l3_dip3.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2546 >> 8) & 0xff, - 2546 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (1621 >> 8) & 0xff, + 1621 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (381 >> 8) & 0xff, - 381 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l3_dip2.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2551 >> 8) & 0xff, - 2551 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1628 >> 8) & 0xff, + 1628 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (382 >> 8) & 0xff, - 382 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l3_dip1.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2555 >> 8) & 0xff, - 2555 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1635 >> 8) & 0xff, + 1635 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", + .description = "l3_dip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2561 >> 8) & 0xff, - 2561 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1642 >> 8) & 0xff, + 1642 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (282 >> 8) & 0xff, + 282 & 0xff} }, { - .description = "l4_src.en", + .description = "l3_dip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2564 >> 8) & 0xff, - 2564 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (1646 >> 8) & 0xff, + 1646 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (385 >> 8) & 0xff, - 385 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (283 >> 8) & 0xff, + 283 & 0xff} }, { - .description = "l4_src.en", + .description = "l3_dip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2565 >> 8) & 0xff, - 2565 & 0xff, + (1649 >> 8) & 0xff, + 1649 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44117,44 +46388,49 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_dst.en", + .description = "l3_ttl.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2570 >> 8) & 0xff, - 2570 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1656 >> 8) & 0xff, + 1656 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (285 >> 8) & 0xff, + 285 & 0xff} }, { - .description = "l4_dst.en", + .description = "l3_ttl.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2573 >> 8) & 0xff, - 2573 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (1660 >> 8) & 0xff, + 1660 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (388 >> 8) & 0xff, - 388 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (286 >> 8) & 0xff, + 286 & 0xff} }, { - .description = "l4_dst.en", + .description = "l3_ttl.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2574 >> 8) & 0xff, - 2574 & 0xff, + (1663 >> 8) & 0xff, + 1663 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44162,3589 +46438,3696 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 2, , table: control.profile_tcam_priority */ { - .description = "", - .field_bit_size = 8, + .description = "l3_prot.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2580 >> 8) & 0xff, - 2580 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1670 >> 8) & 0xff, + 1670 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (390 >> 8) & 0xff, - 390 & 0xff} - }, + (288 >> 8) & 0xff, + 288 & 0xff} + }, { - .description = "", - .field_bit_size = 8, + .description = "l3_prot.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2582 >> 8) & 0xff, - 2582 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1674 >> 8) & 0xff, + 1674 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (391 >> 8) & 0xff, - 391 & 0xff} + (289 >> 8) & 0xff, + 289 & 0xff} }, { - .description = "", - .field_bit_size = 8, + .description = "l3_prot.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2584 >> 8) & 0xff, - 2584 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1677 >> 8) & 0xff, + 1677 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (392 >> 8) & 0xff, - 392 & 0xff} + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "", - .field_bit_size = 8, + .description = "l3_qos.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2586 >> 8) & 0xff, - 2586 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1684 >> 8) & 0xff, + 1684 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (393 >> 8) & 0xff, - 393 & 0xff} + (291 >> 8) & 0xff, + 291 & 0xff} }, { - .description = "", - .field_bit_size = 8, + .description = "l3_qos.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2588 >> 8) & 0xff, - 2588 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1688 >> 8) & 0xff, + 1688 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (394 >> 8) & 0xff, - 394 & 0xff} + (292 >> 8) & 0xff, + 292 & 0xff} }, { - .description = "", - .field_bit_size = 8, + .description = "l3_qos.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2590 >> 8) & 0xff, - 2590 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1691 >> 8) & 0xff, + 1691 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1698 >> 8) & 0xff, + 1698 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (395 >> 8) & 0xff, - 395 & 0xff} + (294 >> 8) & 0xff, + 294 & 0xff} }, { - .description = "", - .field_bit_size = 8, + .description = "l4_src.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2592 >> 8) & 0xff, - 2592 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1702 >> 8) & 0xff, + 1702 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (396 >> 8) & 0xff, - 396 & 0xff} + (295 >> 8) & 0xff, + 295 & 0xff} }, { - .description = "", - .field_bit_size = 8, + .description = "l4_src.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2594 >> 8) & 0xff, - 2594 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1705 >> 8) & 0xff, + 1705 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L2} + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_hdr_is_udp_tcp", + .description = "l4_dst.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2598 >> 8) & 0xff, - 2598 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (398 >> 8) & 0xff, - 398 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1712 >> 8) & 0xff, + 1712 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (297 >> 8) & 0xff, + 297 & 0xff} }, { - .description = "l4_hdr_is_udp_tcp", + .description = "l4_dst.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2600 >> 8) & 0xff, - 2600 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (399 >> 8) & 0xff, - 399 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1716 >> 8) & 0xff, + 1716 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (298 >> 8) & 0xff, + 298 & 0xff} }, { - .description = "l4_hdr_is_udp_tcp", + .description = "l4_dst.en", .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1719 >> 8) & 0xff, + 1719 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2602 >> 8) & 0xff, - 2602 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1765 >> 8) & 0xff, + 1765 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2606 >> 8) & 0xff, - 2606 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1775 >> 8) & 0xff, + 1775 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (401 >> 8) & 0xff, - 401 & 0xff} + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2608 >> 8) & 0xff, - 2608 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (402 >> 8) & 0xff, - 402 & 0xff} + (1826 >> 8) & 0xff, + 1826 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2610 >> 8) & 0xff, - 2610 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1834 >> 8) & 0xff, + 1834 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2614 >> 8) & 0xff, - 2614 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1842 >> 8) & 0xff, + 1842 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (404 >> 8) & 0xff, - 404 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2616 >> 8) & 0xff, - 2616 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (405 >> 8) & 0xff, - 405 & 0xff} + (1850 >> 8) & 0xff, + 1850 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2618 >> 8) & 0xff, - 2618 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1858 >> 8) & 0xff, + 1858 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2622 >> 8) & 0xff, - 2622 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (407 >> 8) & 0xff, - 407 & 0xff} + (1866 >> 8) & 0xff, + 1866 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2624 >> 8) & 0xff, - 2624 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (408 >> 8) & 0xff, - 408 & 0xff} + (1874 >> 8) & 0xff, + 1874 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2626 >> 8) & 0xff, - 2626 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1882 >> 8) & 0xff, + 1882 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tl4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2630 >> 8) & 0xff, - 2630 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1891 >> 8) & 0xff, + 1891 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (410 >> 8) & 0xff, - 410 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tl4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2632 >> 8) & 0xff, - 2632 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (411 >> 8) & 0xff, - 411 & 0xff} + (1900 >> 8) & 0xff, + 1900 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2634 >> 8) & 0xff, - 2634 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1907 >> 8) & 0xff, + 1907 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2638 >> 8) & 0xff, - 2638 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (413 >> 8) & 0xff, - 413 & 0xff} + (1913 >> 8) & 0xff, + 1913 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2640 >> 8) & 0xff, - 2640 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (414 >> 8) & 0xff, - 414 & 0xff} + (1917 >> 8) & 0xff, + 1917 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2642 >> 8) & 0xff, - 2642 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1921 >> 8) & 0xff, + 1921 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2646 >> 8) & 0xff, - 2646 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1929 >> 8) & 0xff, + 1929 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (416 >> 8) & 0xff, - 416 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2648 >> 8) & 0xff, - 2648 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (417 >> 8) & 0xff, - 417 & 0xff} + (1938 >> 8) & 0xff, + 1938 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2650 >> 8) & 0xff, - 2650 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1946 >> 8) & 0xff, + 1946 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2654 >> 8) & 0xff, - 2654 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1953 >> 8) & 0xff, + 1953 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (419 >> 8) & 0xff, - 419 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2656 >> 8) & 0xff, - 2656 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (420 >> 8) & 0xff, - 420 & 0xff} + (1961 >> 8) & 0xff, + 1961 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2658 >> 8) & 0xff, - 2658 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1970 >> 8) & 0xff, + 1970 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2662 >> 8) & 0xff, - 2662 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1979 >> 8) & 0xff, + 1979 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (422 >> 8) & 0xff, - 422 & 0xff} + (322 >> 8) & 0xff, + 322 & 0xff} }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2664 >> 8) & 0xff, - 2664 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1984 >> 8) & 0xff, + 1984 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (423 >> 8) & 0xff, - 423 & 0xff} + (323 >> 8) & 0xff, + 323 & 0xff} }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2666 >> 8) & 0xff, - 2666 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1988 >> 8) & 0xff, + 1988 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2670 >> 8) & 0xff, - 2670 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1997 >> 8) & 0xff, + 1997 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (425 >> 8) & 0xff, - 425 & 0xff} + (325 >> 8) & 0xff, + 325 & 0xff} }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2672 >> 8) & 0xff, - 2672 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2002 >> 8) & 0xff, + 2002 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (426 >> 8) & 0xff, - 426 & 0xff} + (326 >> 8) & 0xff, + 326 & 0xff} }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2674 >> 8) & 0xff, - 2674 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2006 >> 8) & 0xff, + 2006 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2678 >> 8) & 0xff, - 2678 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2015 >> 8) & 0xff, + 2015 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (428 >> 8) & 0xff, - 428 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2680 >> 8) & 0xff, - 2680 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2024 >> 8) & 0xff, + 2024 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2032 >> 8) & 0xff, + 2032 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (429 >> 8) & 0xff, - 429 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2682 >> 8) & 0xff, - 2682 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2039 >> 8) & 0xff, + 2039 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2046 >> 8) & 0xff, + 2046 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2686 >> 8) & 0xff, - 2686 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2053 >> 8) & 0xff, + 2053 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (431 >> 8) & 0xff, - 431 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2688 >> 8) & 0xff, - 2688 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (432 >> 8) & 0xff, - 432 & 0xff} + (2060 >> 8) & 0xff, + 2060 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2690 >> 8) & 0xff, - 2690 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2067 >> 8) & 0xff, + 2067 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2694 >> 8) & 0xff, - 2694 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2074 >> 8) & 0xff, + 2074 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2081 >> 8) & 0xff, + 2081 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2088 >> 8) & 0xff, + 2088 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (434 >> 8) & 0xff, - 434 & 0xff} + (338 >> 8) & 0xff, + 338 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2696 >> 8) & 0xff, - 2696 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2092 >> 8) & 0xff, + 2092 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (435 >> 8) & 0xff, - 435 & 0xff} + (339 >> 8) & 0xff, + 339 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2698 >> 8) & 0xff, - 2698 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2095 >> 8) & 0xff, + 2095 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2702 >> 8) & 0xff, - 2702 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (2102 >> 8) & 0xff, + 2102 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (437 >> 8) & 0xff, - 437 & 0xff} + (341 >> 8) & 0xff, + 341 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2704 >> 8) & 0xff, - 2704 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (2106 >> 8) & 0xff, + 2106 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (438 >> 8) & 0xff, - 438 & 0xff} + (342 >> 8) & 0xff, + 342 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2706 >> 8) & 0xff, - 2706 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2109 >> 8) & 0xff, + 2109 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2710 >> 8) & 0xff, - 2710 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2116 >> 8) & 0xff, + 2116 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (440 >> 8) & 0xff, - 440 & 0xff} + (344 >> 8) & 0xff, + 344 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2712 >> 8) & 0xff, - 2712 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2120 >> 8) & 0xff, + 2120 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (441 >> 8) & 0xff, - 441 & 0xff} + (345 >> 8) & 0xff, + 345 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2714 >> 8) & 0xff, - 2714 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2123 >> 8) & 0xff, + 2123 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2718 >> 8) & 0xff, - 2718 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2130 >> 8) & 0xff, + 2130 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (443 >> 8) & 0xff, - 443 & 0xff} + (347 >> 8) & 0xff, + 347 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2720 >> 8) & 0xff, - 2720 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2134 >> 8) & 0xff, + 2134 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (444 >> 8) & 0xff, - 444 & 0xff} - }, - { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2722 >> 8) & 0xff, - 2722 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (348 >> 8) & 0xff, + 348 & 0xff} }, { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2727 >> 8) & 0xff, - 2727 & 0xff, + (2137 >> 8) & 0xff, + 2137 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2733 >> 8) & 0xff, - 2733 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2144 >> 8) & 0xff, + 2144 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (350 >> 8) & 0xff, + 350 & 0xff} }, { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2740 >> 8) & 0xff, - 2740 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2148 >> 8) & 0xff, + 2148 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (351 >> 8) & 0xff, + 351 & 0xff} }, { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2744 >> 8) & 0xff, - 2744 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2151 >> 8) & 0xff, + 2151 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2748 >> 8) & 0xff, - 2748 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2158 >> 8) & 0xff, + 2158 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (353 >> 8) & 0xff, + 353 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2752 >> 8) & 0xff, - 2752 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (2162 >> 8) & 0xff, + 2162 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (451 >> 8) & 0xff, - 451 & 0xff} + (354 >> 8) & 0xff, + 354 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2754 >> 8) & 0xff, - 2754 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (452 >> 8) & 0xff, - 452 & 0xff} + (2165 >> 8) & 0xff, + 2165 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2756 >> 8) & 0xff, - 2756 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2172 >> 8) & 0xff, + 2172 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (453 >> 8) & 0xff, - 453 & 0xff} + (356 >> 8) & 0xff, + 356 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2758 >> 8) & 0xff, - 2758 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2176 >> 8) & 0xff, + 2176 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (454 >> 8) & 0xff, - 454 & 0xff} + (357 >> 8) & 0xff, + 357 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2760 >> 8) & 0xff, - 2760 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2179 >> 8) & 0xff, + 2179 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2764 >> 8) & 0xff, - 2764 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2186 >> 8) & 0xff, + 2186 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE}, + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (456 >> 8) & 0xff, - 456 & 0xff} + (359 >> 8) & 0xff, + 359 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2766 >> 8) & 0xff, - 2766 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2190 >> 8) & 0xff, + 2190 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE}, + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (457 >> 8) & 0xff, - 457 & 0xff} + (360 >> 8) & 0xff, + 360 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2768 >> 8) & 0xff, - 2768 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2193 >> 8) & 0xff, + 2193 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_GRE}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (458 >> 8) & 0xff, - 458 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2770 >> 8) & 0xff, - 2770 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1}, + (2200 >> 8) & 0xff, + 2200 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (459 >> 8) & 0xff, - 459 & 0xff} + (362 >> 8) & 0xff, + 362 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2772 >> 8) & 0xff, - 2772 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2204 >> 8) & 0xff, + 2204 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (363 >> 8) & 0xff, + 363 & 0xff} }, { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2779 >> 8) & 0xff, - 2779 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2207 >> 8) & 0xff, + 2207 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2783 >> 8) & 0xff, - 2783 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2214 >> 8) & 0xff, + 2214 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (365 >> 8) & 0xff, + 365 & 0xff} }, { - .description = "tl4_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2787 >> 8) & 0xff, - 2787 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2218 >> 8) & 0xff, + 2218 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (366 >> 8) & 0xff, + 366 & 0xff} }, { - .description = "tl4_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2791 >> 8) & 0xff, - 2791 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2221 >> 8) & 0xff, + 2221 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, + /* class_tid: 2, , table: control.terminating_flow */ { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2795 >> 8) & 0xff, - 2795 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2327 >> 8) & 0xff, + 2327 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (368 >> 8) & 0xff, + 368 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2329 >> 8) & 0xff, + 2329 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (369 >> 8) & 0xff, + 369 & 0xff} }, { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2799 >> 8) & 0xff, - 2799 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2331 >> 8) & 0xff, + 2331 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (370 >> 8) & 0xff, + 370 & 0xff} }, { - .description = "tl4_hdr_valid", + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2333 >> 8) & 0xff, + 2333 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl2_smac.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2803 >> 8) & 0xff, - 2803 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (467 >> 8) & 0xff, - 467 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2358 >> 8) & 0xff, + 2358 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + 1} }, { - .description = "tl4_hdr_valid", + .description = "tl2_ivv.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2805 >> 8) & 0xff, - 2805 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ONES + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2371 >> 8) & 0xff, + 2371 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_hdr_valid", + .description = "tl3_sip0.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2808 >> 8) & 0xff, - 2808 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (469 >> 8) & 0xff, - 469 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2400 >> 8) & 0xff, + 2400 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_hdr_valid", + .description = "tl3_sip0.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2810 >> 8) & 0xff, - 2810 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2401 >> 8) & 0xff, + 2401 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_isIP", + .description = "tl3_dip0.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2813 >> 8) & 0xff, - 2813 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2421 >> 8) & 0xff, + 2421 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_isIP", + .description = "tl3_ttl.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2817 >> 8) & 0xff, - 2817 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2429 >> 8) & 0xff, + 2429 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2821 >> 8) & 0xff, - 2821 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2437 >> 8) & 0xff, + 2437 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2825 >> 8) & 0xff, - 2825 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2445 >> 8) & 0xff, + 2445 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_error", + .description = "tl4_src.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2829 >> 8) & 0xff, - 2829 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2453 >> 8) & 0xff, + 2453 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_error", + .description = "tl4_dst.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2833 >> 8) & 0xff, - 2833 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2462 >> 8) & 0xff, + 2462 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_valid", + .description = "tids.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2837 >> 8) & 0xff, - 2837 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2469 >> 8) & 0xff, + 2469 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2873 >> 8) & 0xff, - 2873 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_HF, - .field_opr3 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} + .description = "l2_dmac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2476 >> 8) & 0xff, + 2476 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2880 >> 8) & 0xff, - 2880 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_HF, - .field_opr3 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} + .description = "l2_smac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2483 >> 8) & 0xff, + 2483 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2898 >> 8) & 0xff, - 2898 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ovv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2491 >> 8) & 0xff, + 2491 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2908 >> 8) & 0xff, - 2908 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2500 >> 8) & 0xff, + 2500 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (386 >> 8) & 0xff, + 386 & 0xff} }, { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2935 >> 8) & 0xff, - 2935 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2505 >> 8) & 0xff, + 2505 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (387 >> 8) & 0xff, + 387 & 0xff} }, { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2940 >> 8) & 0xff, - 2940 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2961 >> 8) & 0xff, - 2961 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2509 >> 8) & 0xff, + 2509 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2969 >> 8) & 0xff, - 2969 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_etype.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2518 >> 8) & 0xff, + 2518 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2977 >> 8) & 0xff, - 2977 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2527 >> 8) & 0xff, + 2527 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2985 >> 8) & 0xff, - 2985 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2536 >> 8) & 0xff, + 2536 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2993 >> 8) & 0xff, - 2993 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2545 >> 8) & 0xff, + 2545 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3001 >> 8) & 0xff, - 3001 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2554 >> 8) & 0xff, + 2554 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (393 >> 8) & 0xff, + 393 & 0xff} }, { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3009 >> 8) & 0xff, - 3009 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2559 >> 8) & 0xff, + 2559 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (394 >> 8) & 0xff, + 394 & 0xff} }, { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3017 >> 8) & 0xff, - 3017 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2563 >> 8) & 0xff, + 2563 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3026 >> 8) & 0xff, - 3026 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2572 >> 8) & 0xff, + 2572 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3035 >> 8) & 0xff, - 3035 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2581 >> 8) & 0xff, + 2581 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3042 >> 8) & 0xff, - 3042 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2590 >> 8) & 0xff, + 2590 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3048 >> 8) & 0xff, - 3048 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2599 >> 8) & 0xff, + 2599 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (399 >> 8) & 0xff, + 399 & 0xff} }, { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3055 >> 8) & 0xff, - 3055 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2604 >> 8) & 0xff, + 2604 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (400 >> 8) & 0xff, + 400 & 0xff} }, { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3062 >> 8) & 0xff, - 3062 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2608 >> 8) & 0xff, + 2608 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3069 >> 8) & 0xff, - 3069 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2617 >> 8) & 0xff, + 2617 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (402 >> 8) & 0xff, + 402 & 0xff} }, { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3076 >> 8) & 0xff, - 3076 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2622 >> 8) & 0xff, + 2622 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (403 >> 8) & 0xff, + 403 & 0xff} }, { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3084 >> 8) & 0xff, - 3084 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2626 >> 8) & 0xff, + 2626 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3093 >> 8) & 0xff, - 3093 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2634 >> 8) & 0xff, + 2634 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (405 >> 8) & 0xff, + 405 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3102 >> 8) & 0xff, - 3102 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (502 >> 8) & 0xff, - 502 & 0xff} + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2638 >> 8) & 0xff, + 2638 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (406 >> 8) & 0xff, + 406 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3107 >> 8) & 0xff, - 3107 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (503 >> 8) & 0xff, - 503 & 0xff} + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2641 >> 8) & 0xff, + 2641 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (407 >> 8) & 0xff, + 407 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3111 >> 8) & 0xff, - 3111 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2644 >> 8) & 0xff, + 2644 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (408 >> 8) & 0xff, + 408 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2649 >> 8) & 0xff, + 2649 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (409 >> 8) & 0xff, + 409 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2654 >> 8) & 0xff, + 2654 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (410 >> 8) & 0xff, + 410 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2658 >> 8) & 0xff, + 2658 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2667 >> 8) & 0xff, + 2667 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (412 >> 8) & 0xff, + 412 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2672 >> 8) & 0xff, + 2672 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (413 >> 8) & 0xff, + 413 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2676 >> 8) & 0xff, + 2676 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2682 >> 8) & 0xff, + 2682 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2685 >> 8) & 0xff, + 2685 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (416 >> 8) & 0xff, + 416 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2686 >> 8) & 0xff, + 2686 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2691 >> 8) & 0xff, + 2691 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2694 >> 8) & 0xff, + 2694 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (419 >> 8) & 0xff, + 419 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2695 >> 8) & 0xff, + 2695 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 2, , table: control.profile_tcam_priority */ + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2701 >> 8) & 0xff, + 2701 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (421 >> 8) & 0xff, + 421 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2703 >> 8) & 0xff, + 2703 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (422 >> 8) & 0xff, + 422 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2705 >> 8) & 0xff, + 2705 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (423 >> 8) & 0xff, + 423 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2707 >> 8) & 0xff, + 2707 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (424 >> 8) & 0xff, + 424 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2709 >> 8) & 0xff, + 2709 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (425 >> 8) & 0xff, + 425 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2711 >> 8) & 0xff, + 2711 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (426 >> 8) & 0xff, + 426 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2713 >> 8) & 0xff, + 2713 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (427 >> 8) & 0xff, + 427 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2715 >> 8) & 0xff, + 2715 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L2} + }, + { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3120 >> 8) & 0xff, - 3120 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + (2719 >> 8) & 0xff, + 2719 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (505 >> 8) & 0xff, - 505 & 0xff} + (429 >> 8) & 0xff, + 429 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3125 >> 8) & 0xff, - 3125 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + (2721 >> 8) & 0xff, + 2721 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (506 >> 8) & 0xff, - 506 & 0xff} + (430 >> 8) & 0xff, + 430 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3129 >> 8) & 0xff, - 3129 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2723 >> 8) & 0xff, + 2723 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype", - .field_bit_size = 16, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3138 >> 8) & 0xff, - 3138 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2727 >> 8) & 0xff, + 2727 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (432 >> 8) & 0xff, + 432 & 0xff} }, { - .description = "l2_etype", - .field_bit_size = 16, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3147 >> 8) & 0xff, - 3147 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2729 >> 8) & 0xff, + 2729 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (433 >> 8) & 0xff, + 433 & 0xff} }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3155 >> 8) & 0xff, - 3155 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2731 >> 8) & 0xff, + 2731 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3162 >> 8) & 0xff, - 3162 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2735 >> 8) & 0xff, + 2735 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (435 >> 8) & 0xff, + 435 & 0xff} }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3169 >> 8) & 0xff, - 3169 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2737 >> 8) & 0xff, + 2737 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (436 >> 8) & 0xff, + 436 & 0xff} }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3176 >> 8) & 0xff, - 3176 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2739 >> 8) & 0xff, + 2739 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3183 >> 8) & 0xff, - 3183 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2743 >> 8) & 0xff, + 2743 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (438 >> 8) & 0xff, + 438 & 0xff} }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3190 >> 8) & 0xff, - 3190 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2745 >> 8) & 0xff, + 2745 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (439 >> 8) & 0xff, + 439 & 0xff} }, { - .description = "l3.dip.ipv6", - .field_bit_size = 128, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3197 >> 8) & 0xff, - 3197 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2747 >> 8) & 0xff, + 2747 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3204 >> 8) & 0xff, - 3204 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3211 >> 8) & 0xff, - 3211 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, + (2751 >> 8) & 0xff, + 2751 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (518 >> 8) & 0xff, - 518 & 0xff} + (441 >> 8) & 0xff, + 441 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3215 >> 8) & 0xff, - 3215 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + (2753 >> 8) & 0xff, + 2753 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (519 >> 8) & 0xff, - 519 & 0xff} + (442 >> 8) & 0xff, + 442 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3218 >> 8) & 0xff, - 3218 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2755 >> 8) & 0xff, + 2755 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3225 >> 8) & 0xff, - 3225 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, + (2759 >> 8) & 0xff, + 2759 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (521 >> 8) & 0xff, - 521 & 0xff} + (444 >> 8) & 0xff, + 444 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3229 >> 8) & 0xff, - 3229 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + (2761 >> 8) & 0xff, + 2761 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (522 >> 8) & 0xff, - 522 & 0xff} + (445 >> 8) & 0xff, + 445 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3232 >> 8) & 0xff, - 3232 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2763 >> 8) & 0xff, + 2763 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3238 >> 8) & 0xff, - 3238 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2767 >> 8) & 0xff, + 2767 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (524 >> 8) & 0xff, - 524 & 0xff} + (447 >> 8) & 0xff, + 447 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3241 >> 8) & 0xff, - 3241 & 0xff, + (2769 >> 8) & 0xff, + 2769 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (525 >> 8) & 0xff, - 525 & 0xff} + (448 >> 8) & 0xff, + 448 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3243 >> 8) & 0xff, - 3243 & 0xff, + (2771 >> 8) & 0xff, + 2771 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (526 >> 8) & 0xff, - 526 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3245 >> 8) & 0xff, - 3245 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2775 >> 8) & 0xff, + 2775 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + ULP_THOR2_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (527 >> 8) & 0xff, - 527 & 0xff} + (450 >> 8) & 0xff, + 450 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3249 >> 8) & 0xff, - 3249 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2777 >> 8) & 0xff, + 2777 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + ULP_THOR2_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (528 >> 8) & 0xff, - 528 & 0xff} + (451 >> 8) & 0xff, + 451 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3253 >> 8) & 0xff, - 3253 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2779 >> 8) & 0xff, + 2779 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (529 >> 8) & 0xff, - 529 & 0xff} + ULP_THOR2_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3256 >> 8) & 0xff, - 3256 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2783 >> 8) & 0xff, + 2783 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (453 >> 8) & 0xff, + 453 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3262 >> 8) & 0xff, - 3262 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_UDP}, + (2785 >> 8) & 0xff, + 2785 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (531 >> 8) & 0xff, - 531 & 0xff} + (454 >> 8) & 0xff, + 454 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2787 >> 8) & 0xff, + 2787 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3265 >> 8) & 0xff, - 3265 & 0xff, + (2791 >> 8) & 0xff, + 2791 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_TCP}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (532 >> 8) & 0xff, - 532 & 0xff} + (456 >> 8) & 0xff, + 456 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3267 >> 8) & 0xff, - 3267 & 0xff, + (2793 >> 8) & 0xff, + 2793 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_UDP}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (533 >> 8) & 0xff, - 533 & 0xff} + (457 >> 8) & 0xff, + 457 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3269 >> 8) & 0xff, - 3269 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2795 >> 8) & 0xff, + 2795 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (534 >> 8) & 0xff, - 534 & 0xff} + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3273 >> 8) & 0xff, - 3273 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + (2799 >> 8) & 0xff, + 2799 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (535 >> 8) & 0xff, - 535 & 0xff} + (459 >> 8) & 0xff, + 459 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3277 >> 8) & 0xff, - 3277 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + (2801 >> 8) & 0xff, + 2801 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (536 >> 8) & 0xff, - 536 & 0xff} + (460 >> 8) & 0xff, + 460 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3280 >> 8) & 0xff, - 3280 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2803 >> 8) & 0xff, + 2803 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3287 >> 8) & 0xff, - 3287 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2807 >> 8) & 0xff, + 2807 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (538 >> 8) & 0xff, - 538 & 0xff} + (462 >> 8) & 0xff, + 462 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3291 >> 8) & 0xff, - 3291 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (2809 >> 8) & 0xff, + 2809 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (539 >> 8) & 0xff, - 539 & 0xff} + (463 >> 8) & 0xff, + 463 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3294 >> 8) & 0xff, - 3294 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2811 >> 8) & 0xff, + 2811 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3301 >> 8) & 0xff, - 3301 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + (2815 >> 8) & 0xff, + 2815 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (541 >> 8) & 0xff, - 541 & 0xff} + (465 >> 8) & 0xff, + 465 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3305 >> 8) & 0xff, - 3305 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (2817 >> 8) & 0xff, + 2817 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (542 >> 8) & 0xff, - 542 & 0xff} + (466 >> 8) & 0xff, + 466 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3308 >> 8) & 0xff, - 3308 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2819 >> 8) & 0xff, + 2819 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3315 >> 8) & 0xff, - 3315 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + (2823 >> 8) & 0xff, + 2823 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (544 >> 8) & 0xff, - 544 & 0xff} + (468 >> 8) & 0xff, + 468 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3319 >> 8) & 0xff, - 3319 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + (2825 >> 8) & 0xff, + 2825 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (545 >> 8) & 0xff, - 545 & 0xff} + (469 >> 8) & 0xff, + 469 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3322 >> 8) & 0xff, - 3322 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (546 >> 8) & 0xff, - 546 & 0xff} + (2827 >> 8) & 0xff, + 2827 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3325 >> 8) & 0xff, - 3325 & 0xff, + (2831 >> 8) & 0xff, + 2831 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (471 >> 8) & 0xff, + 471 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3331 >> 8) & 0xff, - 3331 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + (2833 >> 8) & 0xff, + 2833 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (548 >> 8) & 0xff, - 548 & 0xff} + (472 >> 8) & 0xff, + 472 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3335 >> 8) & 0xff, - 3335 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2835 >> 8) & 0xff, + 2835 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2839 >> 8) & 0xff, + 2839 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + ULP_THOR2_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (549 >> 8) & 0xff, - 549 & 0xff} + (474 >> 8) & 0xff, + 474 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3338 >> 8) & 0xff, - 3338 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2841 >> 8) & 0xff, + 2841 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + ULP_THOR2_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (550 >> 8) & 0xff, - 550 & 0xff} + (475 >> 8) & 0xff, + 475 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3341 >> 8) & 0xff, - 3341 & 0xff, + (2843 >> 8) & 0xff, + 2843 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3347 >> 8) & 0xff, - 3347 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2848 >> 8) & 0xff, + 2848 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (552 >> 8) & 0xff, - 552 & 0xff} + ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3351 >> 8) & 0xff, - 3351 & 0xff, + (2854 >> 8) & 0xff, + 2854 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2861 >> 8) & 0xff, + 2861 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2865 >> 8) & 0xff, + 2865 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2869 >> 8) & 0xff, + 2869 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2873 >> 8) & 0xff, + 2873 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (553 >> 8) & 0xff, - 553 & 0xff} + (482 >> 8) & 0xff, + 482 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3354 >> 8) & 0xff, - 3354 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + (2875 >> 8) & 0xff, + 2875 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (554 >> 8) & 0xff, - 554 & 0xff} + (483 >> 8) & 0xff, + 483 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3357 >> 8) & 0xff, - 3357 & 0xff, + (2877 >> 8) & 0xff, + 2877 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (484 >> 8) & 0xff, + 484 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3363 >> 8) & 0xff, - 3363 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + (2879 >> 8) & 0xff, + 2879 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (556 >> 8) & 0xff, - 556 & 0xff} + (485 >> 8) & 0xff, + 485 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3367 >> 8) & 0xff, - 3367 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2881 >> 8) & 0xff, + 2881 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2885 >> 8) & 0xff, + 2885 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (557 >> 8) & 0xff, - 557 & 0xff} + (487 >> 8) & 0xff, + 487 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3370 >> 8) & 0xff, - 3370 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2887 >> 8) & 0xff, + 2887 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (558 >> 8) & 0xff, - 558 & 0xff} + (488 >> 8) & 0xff, + 488 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3373 >> 8) & 0xff, - 3373 & 0xff, + (2889 >> 8) & 0xff, + 2889 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_GRE}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (489 >> 8) & 0xff, + 489 & 0xff} }, { - .description = "tl2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3410 >> 8) & 0xff, - 3410 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2891 >> 8) & 0xff, + 2891 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (490 >> 8) & 0xff, + 490 & 0xff} }, { - .description = "tl3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3436 >> 8) & 0xff, - 3436 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2893 >> 8) & 0xff, + 2893 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_dip0.en", + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3456 >> 8) & 0xff, - 3456 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2900 >> 8) & 0xff, + 2900 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_ttl.en", + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3464 >> 8) & 0xff, - 3464 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2904 >> 8) & 0xff, + 2904 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3472 >> 8) & 0xff, - 3472 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2908 >> 8) & 0xff, + 2908 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3480 >> 8) & 0xff, - 3480 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2912 >> 8) & 0xff, + 2912 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_src.en", + .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3488 >> 8) & 0xff, - 3488 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2916 >> 8) & 0xff, + 2916 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_dst.en", + .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3497 >> 8) & 0xff, - 3497 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2920 >> 8) & 0xff, + 2920 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tids.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3504 >> 8) & 0xff, - 3504 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2924 >> 8) & 0xff, + 2924 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (498 >> 8) & 0xff, + 498 & 0xff} }, { - .description = "l2_dmac.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3512 >> 8) & 0xff, - 3512 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2926 >> 8) & 0xff, + 2926 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ONES }, { - .description = "l2_smac.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3520 >> 8) & 0xff, - 3520 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ovv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3528 >> 8) & 0xff, - 3528 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2929 >> 8) & 0xff, + 2929 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (500 >> 8) & 0xff, + 500 & 0xff} }, { - .description = "l2_ivv.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3537 >> 8) & 0xff, - 3537 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (572 >> 8) & 0xff, - 572 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2931 >> 8) & 0xff, + 2931 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv.en", + .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3542 >> 8) & 0xff, - 3542 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (573 >> 8) & 0xff, - 573 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2934 >> 8) & 0xff, + 2934 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv.en", + .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3546 >> 8) & 0xff, - 3546 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2938 >> 8) & 0xff, + 2938 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3555 >> 8) & 0xff, - 3555 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2942 >> 8) & 0xff, + 2942 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip3.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3563 >> 8) & 0xff, - 3563 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2946 >> 8) & 0xff, + 2946 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip2.en", + .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3570 >> 8) & 0xff, - 3570 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2950 >> 8) & 0xff, + 2950 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip1.en", + .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3577 >> 8) & 0xff, - 3577 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2954 >> 8) & 0xff, + 2954 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3584 >> 8) & 0xff, - 3584 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (579 >> 8) & 0xff, - 579 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2958 >> 8) & 0xff, + 2958 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3588 >> 8) & 0xff, - 3588 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (580 >> 8) & 0xff, - 580 & 0xff} + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2994 >> 8) & 0xff, + 2994 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} }, { - .description = "l3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3591 >> 8) & 0xff, - 3591 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3001 >> 8) & 0xff, + 3001 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} }, { - .description = "l3_dip3.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3598 >> 8) & 0xff, - 3598 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3019 >> 8) & 0xff, + 3019 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip2.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3605 >> 8) & 0xff, - 3605 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3029 >> 8) & 0xff, + 3029 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip1.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3612 >> 8) & 0xff, - 3612 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3056 >> 8) & 0xff, + 3056 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3619 >> 8) & 0xff, - 3619 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (585 >> 8) & 0xff, - 585 & 0xff} + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3061 >> 8) & 0xff, + 3061 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3623 >> 8) & 0xff, - 3623 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (586 >> 8) & 0xff, - 586 & 0xff} + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3082 >> 8) & 0xff, + 3082 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3626 >> 8) & 0xff, - 3626 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3090 >> 8) & 0xff, + 3090 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3633 >> 8) & 0xff, - 3633 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (588 >> 8) & 0xff, - 588 & 0xff} + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3098 >> 8) & 0xff, + 3098 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3637 >> 8) & 0xff, - 3637 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (589 >> 8) & 0xff, - 589 & 0xff} + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3106 >> 8) & 0xff, + 3106 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3640 >> 8) & 0xff, - 3640 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3114 >> 8) & 0xff, + 3114 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3647 >> 8) & 0xff, - 3647 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (591 >> 8) & 0xff, - 591 & 0xff} + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3122 >> 8) & 0xff, + 3122 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3651 >> 8) & 0xff, - 3651 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (592 >> 8) & 0xff, - 592 & 0xff} - }, - { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3654 >> 8) & 0xff, - 3654 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3661 >> 8) & 0xff, - 3661 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (594 >> 8) & 0xff, - 594 & 0xff} - }, - { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3665 >> 8) & 0xff, - 3665 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (595 >> 8) & 0xff, - 595 & 0xff} - }, - { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3668 >> 8) & 0xff, - 3668 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3675 >> 8) & 0xff, - 3675 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (597 >> 8) & 0xff, - 597 & 0xff} - }, - { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3679 >> 8) & 0xff, - 3679 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (598 >> 8) & 0xff, - 598 & 0xff} - }, - { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3682 >> 8) & 0xff, - 3682 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3689 >> 8) & 0xff, - 3689 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (600 >> 8) & 0xff, - 600 & 0xff} - }, - { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3693 >> 8) & 0xff, - 3693 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (601 >> 8) & 0xff, - 601 & 0xff} - }, - { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3696 >> 8) & 0xff, - 3696 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3742 >> 8) & 0xff, - 3742 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3752 >> 8) & 0xff, - 3752 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3803 >> 8) & 0xff, - 3803 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3811 >> 8) & 0xff, - 3811 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3819 >> 8) & 0xff, - 3819 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3827 >> 8) & 0xff, - 3827 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3835 >> 8) & 0xff, - 3835 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3843 >> 8) & 0xff, - 3843 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3851 >> 8) & 0xff, - 3851 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3130 >> 8) & 0xff, + 3130 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { .description = "tl4.src", @@ -47752,8 +50135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3859 >> 8) & 0xff, - 3859 & 0xff, + (3138 >> 8) & 0xff, + 3138 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47768,11 +50151,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3868 >> 8) & 0xff, - 3868 & 0xff, + (3147 >> 8) & 0xff, + 3147 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47781,8 +50167,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3877 >> 8) & 0xff, - 3877 & 0xff, + (3156 >> 8) & 0xff, + 3156 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47797,11 +50183,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3884 >> 8) & 0xff, - 3884 & 0xff, + (3163 >> 8) & 0xff, + 3163 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47810,8 +50199,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3890 >> 8) & 0xff, - 3890 & 0xff, + (3169 >> 8) & 0xff, + 3169 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47826,11 +50215,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3898 >> 8) & 0xff, - 3898 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (3176 >> 8) & 0xff, + 3176 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47839,10 +50231,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3907 >> 8) & 0xff, - 3907 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (3183 >> 8) & 0xff, + 3183 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -47855,11 +50247,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3915 >> 8) & 0xff, - 3915 & 0xff, + (3190 >> 8) & 0xff, + 3190 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47868,8 +50263,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3922 >> 8) & 0xff, - 3922 & 0xff, + (3197 >> 8) & 0xff, + 3197 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47884,11 +50279,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3930 >> 8) & 0xff, - 3930 & 0xff, + (3205 >> 8) & 0xff, + 3205 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47897,8 +50295,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3939 >> 8) & 0xff, - 3939 & 0xff, + (3214 >> 8) & 0xff, + 3214 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47913,15 +50311,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3948 >> 8) & 0xff, - 3948 & 0xff, + (3223 >> 8) & 0xff, + 3223 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (623 >> 8) & 0xff, - 623 & 0xff} + (533 >> 8) & 0xff, + 533 & 0xff} }, { .description = "l2_ivv", @@ -47929,15 +50330,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3953 >> 8) & 0xff, - 3953 & 0xff, + (3228 >> 8) & 0xff, + 3228 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (624 >> 8) & 0xff, - 624 & 0xff} + (534 >> 8) & 0xff, + 534 & 0xff} }, { .description = "l2_ivv", @@ -47945,11 +50349,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3957 >> 8) & 0xff, - 3957 & 0xff, + (3232 >> 8) & 0xff, + 3232 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47958,8 +50365,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3966 >> 8) & 0xff, - 3966 & 0xff, + (3241 >> 8) & 0xff, + 3241 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47968,8 +50375,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (626 >> 8) & 0xff, - 626 & 0xff} + (536 >> 8) & 0xff, + 536 & 0xff} }, { .description = "l2_ivv", @@ -47977,8 +50384,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3971 >> 8) & 0xff, - 3971 & 0xff, + (3246 >> 8) & 0xff, + 3246 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47987,8 +50394,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (627 >> 8) & 0xff, - 627 & 0xff} + (537 >> 8) & 0xff, + 537 & 0xff} }, { .description = "l2_ivv", @@ -47996,8 +50403,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3975 >> 8) & 0xff, - 3975 & 0xff, + (3250 >> 8) & 0xff, + 3250 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48012,11 +50419,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3984 >> 8) & 0xff, - 3984 & 0xff, + (3259 >> 8) & 0xff, + 3259 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48025,8 +50435,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3993 >> 8) & 0xff, - 3993 & 0xff, + (3268 >> 8) & 0xff, + 3268 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48041,11 +50451,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4001 >> 8) & 0xff, - 4001 & 0xff, + (3276 >> 8) & 0xff, + 3276 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48054,8 +50467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4008 >> 8) & 0xff, - 4008 & 0xff, + (3283 >> 8) & 0xff, + 3283 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48070,11 +50483,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4015 >> 8) & 0xff, - 4015 & 0xff, + (3290 >> 8) & 0xff, + 3290 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48083,8 +50499,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4022 >> 8) & 0xff, - 4022 & 0xff, + (3297 >> 8) & 0xff, + 3297 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48099,11 +50515,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4029 >> 8) & 0xff, - 4029 & 0xff, + (3304 >> 8) & 0xff, + 3304 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48112,8 +50531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4036 >> 8) & 0xff, - 4036 & 0xff, + (3311 >> 8) & 0xff, + 3311 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48128,11 +50547,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4043 >> 8) & 0xff, - 4043 & 0xff, + (3318 >> 8) & 0xff, + 3318 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48141,8 +50563,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4050 >> 8) & 0xff, - 4050 & 0xff, + (3325 >> 8) & 0xff, + 3325 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48157,15 +50579,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4057 >> 8) & 0xff, - 4057 & 0xff, + (3332 >> 8) & 0xff, + 3332 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (639 >> 8) & 0xff, - 639 & 0xff} + (549 >> 8) & 0xff, + 549 & 0xff} }, { .description = "l3.ttl", @@ -48173,15 +50598,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4061 >> 8) & 0xff, - 4061 & 0xff, + (3336 >> 8) & 0xff, + 3336 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (640 >> 8) & 0xff, - 640 & 0xff} + (550 >> 8) & 0xff, + 550 & 0xff} }, { .description = "l3.ttl", @@ -48189,11 +50617,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4064 >> 8) & 0xff, - 4064 & 0xff, + (3339 >> 8) & 0xff, + 3339 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48202,8 +50633,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4071 >> 8) & 0xff, - 4071 & 0xff, + (3346 >> 8) & 0xff, + 3346 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48212,443 +50643,4831 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (642 >> 8) & 0xff, - 642 & 0xff} + (552 >> 8) & 0xff, + 552 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3350 >> 8) & 0xff, + 3350 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (553 >> 8) & 0xff, + 553 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3353 >> 8) & 0xff, + 3353 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3359 >> 8) & 0xff, + 3359 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (555 >> 8) & 0xff, + 555 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3362 >> 8) & 0xff, + 3362 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (556 >> 8) & 0xff, + 556 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3364 >> 8) & 0xff, + 3364 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (557 >> 8) & 0xff, + 557 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3366 >> 8) & 0xff, + 3366 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (558 >> 8) & 0xff, + 558 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4075 >> 8) & 0xff, - 4075 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (643 >> 8) & 0xff, - 643 & 0xff} - }, + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3370 >> 8) & 0xff, + 3370 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (559 >> 8) & 0xff, + 559 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3374 >> 8) & 0xff, + 3374 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (560 >> 8) & 0xff, + 560 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3377 >> 8) & 0xff, + 3377 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3383 >> 8) & 0xff, + 3383 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (562 >> 8) & 0xff, + 562 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3386 >> 8) & 0xff, + 3386 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (563 >> 8) & 0xff, + 563 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3388 >> 8) & 0xff, + 3388 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (564 >> 8) & 0xff, + 564 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3390 >> 8) & 0xff, + 3390 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (565 >> 8) & 0xff, + 565 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3394 >> 8) & 0xff, + 3394 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (566 >> 8) & 0xff, + 566 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3398 >> 8) & 0xff, + 3398 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (567 >> 8) & 0xff, + 567 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3401 >> 8) & 0xff, + 3401 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3408 >> 8) & 0xff, + 3408 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (569 >> 8) & 0xff, + 569 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3412 >> 8) & 0xff, + 3412 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (570 >> 8) & 0xff, + 570 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3415 >> 8) & 0xff, + 3415 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3422 >> 8) & 0xff, + 3422 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (572 >> 8) & 0xff, + 572 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3426 >> 8) & 0xff, + 3426 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (573 >> 8) & 0xff, + 573 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3429 >> 8) & 0xff, + 3429 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3436 >> 8) & 0xff, + 3436 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (575 >> 8) & 0xff, + 575 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3440 >> 8) & 0xff, + 3440 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (576 >> 8) & 0xff, + 576 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3443 >> 8) & 0xff, + 3443 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (577 >> 8) & 0xff, + 577 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3446 >> 8) & 0xff, + 3446 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3452 >> 8) & 0xff, + 3452 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (579 >> 8) & 0xff, + 579 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3456 >> 8) & 0xff, + 3456 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (580 >> 8) & 0xff, + 580 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3459 >> 8) & 0xff, + 3459 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (581 >> 8) & 0xff, + 581 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3462 >> 8) & 0xff, + 3462 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3468 >> 8) & 0xff, + 3468 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (583 >> 8) & 0xff, + 583 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3472 >> 8) & 0xff, + 3472 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (584 >> 8) & 0xff, + 584 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3475 >> 8) & 0xff, + 3475 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (585 >> 8) & 0xff, + 585 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3478 >> 8) & 0xff, + 3478 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3484 >> 8) & 0xff, + 3484 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (587 >> 8) & 0xff, + 587 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3488 >> 8) & 0xff, + 3488 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (588 >> 8) & 0xff, + 588 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3491 >> 8) & 0xff, + 3491 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (589 >> 8) & 0xff, + 589 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3494 >> 8) & 0xff, + 3494 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "tl2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3531 >> 8) & 0xff, + 3531 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3557 >> 8) & 0xff, + 3557 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3577 >> 8) & 0xff, + 3577 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3585 >> 8) & 0xff, + 3585 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3593 >> 8) & 0xff, + 3593 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3601 >> 8) & 0xff, + 3601 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3609 >> 8) & 0xff, + 3609 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3618 >> 8) & 0xff, + 3618 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tids.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3625 >> 8) & 0xff, + 3625 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_dmac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3633 >> 8) & 0xff, + 3633 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_smac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3641 >> 8) & 0xff, + 3641 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_ovv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3649 >> 8) & 0xff, + 3649 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3658 >> 8) & 0xff, + 3658 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (603 >> 8) & 0xff, + 603 & 0xff} + }, + { + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3663 >> 8) & 0xff, + 3663 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (604 >> 8) & 0xff, + 604 & 0xff} + }, + { + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3667 >> 8) & 0xff, + 3667 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_etype.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3676 >> 8) & 0xff, + 3676 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3684 >> 8) & 0xff, + 3684 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3691 >> 8) & 0xff, + 3691 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3698 >> 8) & 0xff, + 3698 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3705 >> 8) & 0xff, + 3705 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (610 >> 8) & 0xff, + 610 & 0xff} + }, + { + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3709 >> 8) & 0xff, + 3709 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (611 >> 8) & 0xff, + 611 & 0xff} + }, + { + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3712 >> 8) & 0xff, + 3712 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3719 >> 8) & 0xff, + 3719 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3726 >> 8) & 0xff, + 3726 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3733 >> 8) & 0xff, + 3733 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3740 >> 8) & 0xff, + 3740 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (616 >> 8) & 0xff, + 616 & 0xff} + }, + { + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3744 >> 8) & 0xff, + 3744 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (617 >> 8) & 0xff, + 617 & 0xff} + }, + { + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3747 >> 8) & 0xff, + 3747 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3754 >> 8) & 0xff, + 3754 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (619 >> 8) & 0xff, + 619 & 0xff} + }, + { + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3758 >> 8) & 0xff, + 3758 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (620 >> 8) & 0xff, + 620 & 0xff} + }, + { + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3761 >> 8) & 0xff, + 3761 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3768 >> 8) & 0xff, + 3768 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (622 >> 8) & 0xff, + 622 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3772 >> 8) & 0xff, + 3772 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (623 >> 8) & 0xff, + 623 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3775 >> 8) & 0xff, + 3775 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3782 >> 8) & 0xff, + 3782 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (625 >> 8) & 0xff, + 625 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3786 >> 8) & 0xff, + 3786 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (626 >> 8) & 0xff, + 626 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3789 >> 8) & 0xff, + 3789 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3796 >> 8) & 0xff, + 3796 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (628 >> 8) & 0xff, + 628 & 0xff} + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3800 >> 8) & 0xff, + 3800 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (629 >> 8) & 0xff, + 629 & 0xff} + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3803 >> 8) & 0xff, + 3803 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3810 >> 8) & 0xff, + 3810 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (631 >> 8) & 0xff, + 631 & 0xff} + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3814 >> 8) & 0xff, + 3814 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (632 >> 8) & 0xff, + 632 & 0xff} + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3817 >> 8) & 0xff, + 3817 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3863 >> 8) & 0xff, + 3863 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3873 >> 8) & 0xff, + 3873 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3924 >> 8) & 0xff, + 3924 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3932 >> 8) & 0xff, + 3932 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3940 >> 8) & 0xff, + 3940 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3948 >> 8) & 0xff, + 3948 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3956 >> 8) & 0xff, + 3956 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3964 >> 8) & 0xff, + 3964 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3972 >> 8) & 0xff, + 3972 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3980 >> 8) & 0xff, + 3980 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3989 >> 8) & 0xff, + 3989 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3998 >> 8) & 0xff, + 3998 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4005 >> 8) & 0xff, + 4005 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4011 >> 8) & 0xff, + 4011 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4019 >> 8) & 0xff, + 4019 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4028 >> 8) & 0xff, + 4028 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4036 >> 8) & 0xff, + 4036 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4043 >> 8) & 0xff, + 4043 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4051 >> 8) & 0xff, + 4051 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4060 >> 8) & 0xff, + 4060 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4069 >> 8) & 0xff, + 4069 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (654 >> 8) & 0xff, + 654 & 0xff} + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4074 >> 8) & 0xff, + 4074 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (655 >> 8) & 0xff, + 655 & 0xff} + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4078 >> 8) & 0xff, + 4078 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4087 >> 8) & 0xff, + 4087 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (657 >> 8) & 0xff, + 657 & 0xff} + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4092 >> 8) & 0xff, + 4092 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (658 >> 8) & 0xff, + 658 & 0xff} + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4096 >> 8) & 0xff, + 4096 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4105 >> 8) & 0xff, + 4105 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4114 >> 8) & 0xff, + 4114 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4122 >> 8) & 0xff, + 4122 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4129 >> 8) & 0xff, + 4129 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4136 >> 8) & 0xff, + 4136 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4143 >> 8) & 0xff, + 4143 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4150 >> 8) & 0xff, + 4150 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4157 >> 8) & 0xff, + 4157 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4164 >> 8) & 0xff, + 4164 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4171 >> 8) & 0xff, + 4171 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4178 >> 8) & 0xff, + 4178 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (670 >> 8) & 0xff, + 670 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4182 >> 8) & 0xff, + 4182 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (671 >> 8) & 0xff, + 671 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4185 >> 8) & 0xff, + 4185 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4192 >> 8) & 0xff, + 4192 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (673 >> 8) & 0xff, + 673 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4196 >> 8) & 0xff, + 4196 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (674 >> 8) & 0xff, + 674 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4199 >> 8) & 0xff, + 4199 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4206 >> 8) & 0xff, + 4206 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (676 >> 8) & 0xff, + 676 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4210 >> 8) & 0xff, + 4210 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (677 >> 8) & 0xff, + 677 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4213 >> 8) & 0xff, + 4213 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4220 >> 8) & 0xff, + 4220 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (679 >> 8) & 0xff, + 679 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4224 >> 8) & 0xff, + 4224 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (680 >> 8) & 0xff, + 680 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4227 >> 8) & 0xff, + 4227 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4234 >> 8) & 0xff, + 4234 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (682 >> 8) & 0xff, + 682 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4238 >> 8) & 0xff, + 4238 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (683 >> 8) & 0xff, + 683 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4241 >> 8) & 0xff, + 4241 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4248 >> 8) & 0xff, + 4248 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (685 >> 8) & 0xff, + 685 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4252 >> 8) & 0xff, + 4252 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (686 >> 8) & 0xff, + 686 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4255 >> 8) & 0xff, + 4255 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4262 >> 8) & 0xff, + 4262 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (688 >> 8) & 0xff, + 688 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4266 >> 8) & 0xff, + 4266 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (689 >> 8) & 0xff, + 689 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4269 >> 8) & 0xff, + 4269 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4276 >> 8) & 0xff, + 4276 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (691 >> 8) & 0xff, + 691 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4280 >> 8) & 0xff, + 4280 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (692 >> 8) & 0xff, + 692 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4283 >> 8) & 0xff, + 4283 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4290 >> 8) & 0xff, + 4290 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (694 >> 8) & 0xff, + 694 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4294 >> 8) & 0xff, + 4294 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (695 >> 8) & 0xff, + 695 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4297 >> 8) & 0xff, + 4297 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4304 >> 8) & 0xff, + 4304 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (697 >> 8) & 0xff, + 697 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4308 >> 8) & 0xff, + 4308 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (698 >> 8) & 0xff, + 698 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4311 >> 8) & 0xff, + 4311 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } +}; + +struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { + /* class_tid: 1, , table: dyn_upar_tbl.srv6_alloc */ + { + .description = "l2_upar_tun.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_id.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_context.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_option_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_be.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_be_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "re_gparse_l3_enables.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "res01", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_tun", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_en_tun", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_tun_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_res02", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat_tun", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat_en_tun", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_res01", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_res01", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_encap", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_nib_peek_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_chksum_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_chksum_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_res01", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_res01", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_res01", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_dest_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_dest_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_res01", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_dest_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_dest_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_chksum_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_chksum_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_res01", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_id_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_id_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_id_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_qos_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_qos_slice", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_qos_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_res01", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_id_mask", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_1_context_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_1_context_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_1_context_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_1_res01", + .field_bit_size = 19, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_context_mask", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_encap", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_nib_peek_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar2_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar3_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar4_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar5_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar6_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar7_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_be_res01", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar2s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar3s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar4s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar5s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar6s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar7s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_pat_be_res01", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_udp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_icmpv4", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_icmpv6", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_ipv4_encap", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_ipv6_encap", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_hopbyhop", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_dest_opt", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_routing", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_fragment", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_esp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_ah", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_mob", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre_ipv4", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre_ipv6", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre_nvgre", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre_6558", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_udp_4500", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre_ext_mode", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_res02", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_ipsec_ah", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_ipsec_esp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_res03", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_disables", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_enables", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 1, , table: dyn_upar_tbl.srv6_wr */ + { + .description = "l2_upar_tun.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "l4_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "gre_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_id.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_context.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "tun_upar_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "tun_upar_option_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_be.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "tun_upar_pat_be_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "re_gparse_l3_enables.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "res01", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_tun", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_en_tun", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_tun_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_res02", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat_tun", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_IP_PROTO_IPV6_ROUTE} + }, + { + .description = "l3_upar_pat_en_tun", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "l3_upar_res01", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_res01", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_SRV6_IPV6_ENCAP >> 8) & 0xff, + ULP_THOR2_SYM_SRV6_IPV6_ENCAP & 0xff} + }, + { + .description = "tun_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_HDR_SIZE} + }, + { + .description = "tun_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "tun_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "tun_upar_encap", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_V6_ENCAP} + }, + { + .description = "tun_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_nib_peek_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_chksum_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_chksum_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_res01", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_res01", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_res01", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_dest_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_dest_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_res01", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_dest_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_dest_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_chksum_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_chksum_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_res01", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_id_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_upar_id_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_ID_EXTRACTION_OFFSET} + }, + { + .description = "t_upar_id_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_ID_EXTRACTION_LENGTH} + }, + { + .description = "t_upar_qos_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_qos_slice", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_qos_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_upar_res01", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_id_mask", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_SRV6_ID_MASK >> 24) & 0xff, + (ULP_THOR2_SYM_SRV6_ID_MASK >> 16) & 0xff, + (ULP_THOR2_SYM_SRV6_ID_MASK >> 8) & 0xff, + ULP_THOR2_SYM_SRV6_ID_MASK & 0xff} + }, + { + .description = "t_upar_1_context_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_upar_1_context_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_CTXT_EXTRACTION_OFFSET} + }, + { + .description = "t_upar_1_context_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_CTXT_EXTRACTION_LENGTH} + }, + { + .description = "t_upar_1_res01", + .field_bit_size = 19, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_context_mask", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_SRV6_CTXT_MASK >> 24) & 0xff, + (ULP_THOR2_SYM_SRV6_CTXT_MASK >> 16) & 0xff, + (ULP_THOR2_SYM_SRV6_CTXT_MASK >> 8) & 0xff, + ULP_THOR2_SYM_SRV6_CTXT_MASK & 0xff} + }, + { + .description = "tun_upars_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_encap", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_nib_peek_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_HDR_LEN_OFFSET} + }, + { + .description = "tun_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_8BIT_FLD} + }, + { + .description = "tun_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_8BYTE_UNIT} + }, + { + .description = "tun_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_PATTERN} + }, + { + .description = "tun_upar1_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar2_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar3_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar4_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar5_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar6_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar7_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_be_res01", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar2s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar3s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar4s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar5s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar6s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar7s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_pat_be_res01", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_udp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_icmpv4", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_icmpv6", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4078 >> 8) & 0xff, - 4078 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_ipv4_encap", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4085 >> 8) & 0xff, - 4085 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (645 >> 8) & 0xff, - 645 & 0xff} - }, + .description = "regp_l3_en_ipv6_encap", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4089 >> 8) & 0xff, - 4089 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (646 >> 8) & 0xff, - 646 & 0xff} - }, + .description = "regp_l3_en_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4092 >> 8) & 0xff, - 4092 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_hopbyhop", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4099 >> 8) & 0xff, - 4099 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (648 >> 8) & 0xff, - 648 & 0xff} - }, + .description = "regp_l3_en_dest_opt", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4103 >> 8) & 0xff, - 4103 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (649 >> 8) & 0xff, - 649 & 0xff} - }, + .description = "regp_l3_en_routing", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4106 >> 8) & 0xff, - 4106 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_fragment", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4113 >> 8) & 0xff, - 4113 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (651 >> 8) & 0xff, - 651 & 0xff} - }, + .description = "regp_l3_en_esp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4117 >> 8) & 0xff, - 4117 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (652 >> 8) & 0xff, - 652 & 0xff} - }, + .description = "regp_l3_en_ah", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4120 >> 8) & 0xff, - 4120 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_mob", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4127 >> 8) & 0xff, - 4127 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (654 >> 8) & 0xff, - 654 & 0xff} - }, + .description = "regp_l3_en_gre_ipv4", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4131 >> 8) & 0xff, - 4131 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (655 >> 8) & 0xff, - 655 & 0xff} - }, + .description = "regp_l3_en_gre_ipv6", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4134 >> 8) & 0xff, - 4134 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_gre_nvgre", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4141 >> 8) & 0xff, - 4141 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (657 >> 8) & 0xff, - 657 & 0xff} - }, + .description = "regp_l3_en_gre_6558", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4145 >> 8) & 0xff, - 4145 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (658 >> 8) & 0xff, - 658 & 0xff} - }, + .description = "regp_l3_en_udp_4500", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4148 >> 8) & 0xff, - 4148 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_gre_ext_mode", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4155 >> 8) & 0xff, - 4155 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (660 >> 8) & 0xff, - 660 & 0xff} - }, + .description = "regp_l3_en_res02", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4159 >> 8) & 0xff, - 4159 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (661 >> 8) & 0xff, - 661 & 0xff} - }, + .description = "regp_l3_en_ipsec_ah", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4162 >> 8) & 0xff, - 4162 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_ipsec_esp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4169 >> 8) & 0xff, - 4169 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (663 >> 8) & 0xff, - 663 & 0xff} - }, + .description = "regp_l3_en_res03", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4173 >> 8) & 0xff, - 4173 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (664 >> 8) & 0xff, - 664 & 0xff} - }, + .description = "regp_l3_en_disables", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4176 >> 8) & 0xff, - 4176 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_enables", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 1, , table: tunnel_gparse_cache.dyn_upar_wr */ { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4183 >> 8) & 0xff, - 4183 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (666 >> 8) & 0xff, - 666 & 0xff} - }, + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4187 >> 8) & 0xff, - 4187 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (667 >> 8) & 0xff, - 667 & 0xff} - }, + .description = "udp_port", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_TUNNEL_PORT >> 8) & 0xff, + BNXT_ULP_CF_IDX_TUNNEL_PORT & 0xff} + }, { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4190 >> 8) & 0xff, - 4190 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - } -}; - -struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { + .description = "global_handle", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "alloc_tun", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6} + }, + { + .description = "dyn_tun_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0 & 0xff} + }, + { + .description = "dyn_upar_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DYN_UPAR_ID >> 8) & 0xff, + BNXT_ULP_RF_IDX_DYN_UPAR_ID & 0xff} + }, /* class_tid: 1, , table: cust_tunnel.configure_vxlan_port */ { .description = "udp_port", @@ -48704,6 +55523,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + { + .description = "alloc_tun", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "dyn_tun_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "dyn_upar_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, /* class_tid: 1, , table: cmm_stat_record.add_stat_tunnel_cache */ { .description = "packet_count", @@ -48924,6 +55761,128 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ + { + .description = "l2ip_dest_data", + .field_bit_size = 17, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_dest_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_data", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_rec_ptr", + .field_bit_size = 26, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} + }, + { + .description = "l2ip_act_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + }, + { + .description = "l2ip_act_hint", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_meta", + .field_bit_size = 35, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_meta_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ctxt_opcode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW} + }, + { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, + { + .description = "prsv_prof_func_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "prsv_l2ip_cntxt_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} + }, + { + .description = "prsv_parif", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ { .description = "rid", @@ -48943,6 +55902,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */ /* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */ { .description = "l2ip_dest_data", @@ -49064,6 +56024,127 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ + { + .description = "l2ip_dest_data", + .field_bit_size = 17, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_dest_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_data", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_rec_ptr", + .field_bit_size = 26, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} + }, + { + .description = "l2ip_act_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + }, + { + .description = "l2ip_act_hint", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "l2ip_meta", + .field_bit_size = 35, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_meta_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ctxt_opcode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW} + }, + { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, + { + .description = "prsv_prof_func_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "prsv_l2ip_cntxt_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "prsv_parif", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, /* class_tid: 1, , table: mac_addr_cache.l2_table_wr */ { .description = "rid", @@ -49117,6 +56198,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */ /* class_tid: 1, , table: fkb_select.wc_gen_template */ { .description = "l2_cntxt_id.en", @@ -49124,8 +56206,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (146 >> 8) & 0xff, - 146 & 0xff, + (179 >> 8) & 0xff, + 179 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49169,8 +56251,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (148 >> 8) & 0xff, - 148 & 0xff, + (181 >> 8) & 0xff, + 181 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49184,8 +56266,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (150 >> 8) & 0xff, - 150 & 0xff, + (183 >> 8) & 0xff, + 183 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49199,8 +56281,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (152 >> 8) & 0xff, - 152 & 0xff, + (185 >> 8) & 0xff, + 185 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49556,8 +56638,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (153 >> 8) & 0xff, - 153 & 0xff, + (186 >> 8) & 0xff, + 186 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49571,8 +56653,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (157 >> 8) & 0xff, - 157 & 0xff, + (190 >> 8) & 0xff, + 190 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49616,8 +56698,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (161 >> 8) & 0xff, - 161 & 0xff, + (194 >> 8) & 0xff, + 194 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49649,8 +56731,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (166 >> 8) & 0xff, - 166 & 0xff, + (199 >> 8) & 0xff, + 199 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49673,8 +56755,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (176 >> 8) & 0xff, - 176 & 0xff, + (209 >> 8) & 0xff, + 209 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49694,8 +56776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (181 >> 8) & 0xff, - 181 & 0xff, + (214 >> 8) & 0xff, + 214 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49709,8 +56791,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (186 >> 8) & 0xff, - 186 & 0xff, + (219 >> 8) & 0xff, + 219 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49724,8 +56806,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (191 >> 8) & 0xff, - 191 & 0xff, + (224 >> 8) & 0xff, + 224 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49739,8 +56821,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (196 >> 8) & 0xff, - 196 & 0xff, + (229 >> 8) & 0xff, + 229 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, @@ -49758,8 +56840,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (205 >> 8) & 0xff, - 205 & 0xff, + (238 >> 8) & 0xff, + 238 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49773,8 +56855,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (209 >> 8) & 0xff, - 209 & 0xff, + (242 >> 8) & 0xff, + 242 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49788,8 +56870,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (213 >> 8) & 0xff, - 213 & 0xff, + (246 >> 8) & 0xff, + 246 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49803,8 +56885,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (217 >> 8) & 0xff, - 217 & 0xff, + (250 >> 8) & 0xff, + 250 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49821,8 +56903,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (225 >> 8) & 0xff, - 225 & 0xff, + (258 >> 8) & 0xff, + 258 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49839,8 +56921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (233 >> 8) & 0xff, - 233 & 0xff, + (266 >> 8) & 0xff, + 266 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49863,8 +56945,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (241 >> 8) & 0xff, - 241 & 0xff, + (274 >> 8) & 0xff, + 274 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49947,8 +57029,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (249 >> 8) & 0xff, - 249 & 0xff, + (282 >> 8) & 0xff, + 282 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49965,8 +57047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (257 >> 8) & 0xff, - 257 & 0xff, + (290 >> 8) & 0xff, + 290 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50031,8 +57113,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (266 >> 8) & 0xff, - 266 & 0xff, + (299 >> 8) & 0xff, + 299 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50046,8 +57128,20 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { { .description = "tid.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (305 >> 8) & 0xff, + 305 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (20 >> 8) & 0xff, + 20 & 0xff} }, { .description = "tctxts.en", @@ -50085,8 +57179,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (272 >> 8) & 0xff, - 272 & 0xff, + (309 >> 8) & 0xff, + 309 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50094,8 +57188,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (20 >> 8) & 0xff, - 20 & 0xff} + (21 >> 8) & 0xff, + 21 & 0xff} }, { .description = "l2_smac.en", @@ -50103,8 +57197,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (279 >> 8) & 0xff, - 279 & 0xff, + (316 >> 8) & 0xff, + 316 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50112,8 +57206,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (21 >> 8) & 0xff, - 21 & 0xff} + (22 >> 8) & 0xff, + 22 & 0xff} }, { .description = "l2_dt.en", @@ -50151,8 +57245,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (286 >> 8) & 0xff, - 286 & 0xff, + (323 >> 8) & 0xff, + 323 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50160,8 +57254,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (22 >> 8) & 0xff, - 22 & 0xff} + (23 >> 8) & 0xff, + 23 & 0xff} }, { .description = "l2_ovt.en", @@ -50187,8 +57281,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (295 >> 8) & 0xff, - 295 & 0xff, + (332 >> 8) & 0xff, + 332 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50196,8 +57290,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (23 >> 8) & 0xff, - 23 & 0xff} + (24 >> 8) & 0xff, + 24 & 0xff} }, { .description = "l2_ivt.en", @@ -50211,8 +57305,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (313 >> 8) & 0xff, - 313 & 0xff, + (350 >> 8) & 0xff, + 350 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50220,8 +57314,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (26 >> 8) & 0xff, - 26 & 0xff} + (27 >> 8) & 0xff, + 27 & 0xff} }, { .description = "l3_l3type.en", @@ -50235,8 +57329,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (322 >> 8) & 0xff, - 322 & 0xff, + (359 >> 8) & 0xff, + 359 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50244,8 +57338,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (27 >> 8) & 0xff, - 27 & 0xff} + (28 >> 8) & 0xff, + 28 & 0xff} }, { .description = "l3_sip2.en", @@ -50253,8 +57347,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (331 >> 8) & 0xff, - 331 & 0xff, + (368 >> 8) & 0xff, + 368 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50262,8 +57356,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (28 >> 8) & 0xff, - 28 & 0xff} + (29 >> 8) & 0xff, + 29 & 0xff} }, { .description = "l3_sip1.en", @@ -50271,8 +57365,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (340 >> 8) & 0xff, - 340 & 0xff, + (377 >> 8) & 0xff, + 377 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50280,8 +57374,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (29 >> 8) & 0xff, - 29 & 0xff} + (30 >> 8) & 0xff, + 30 & 0xff} }, { .description = "l3_sip0.en", @@ -50289,8 +57383,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (349 >> 8) & 0xff, - 349 & 0xff, + (386 >> 8) & 0xff, + 386 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50298,8 +57392,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (30 >> 8) & 0xff, - 30 & 0xff} + (31 >> 8) & 0xff, + 31 & 0xff} }, { .description = "l3_dip3.en", @@ -50307,8 +57401,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (367 >> 8) & 0xff, - 367 & 0xff, + (404 >> 8) & 0xff, + 404 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50316,8 +57410,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (33 >> 8) & 0xff, - 33 & 0xff} + (34 >> 8) & 0xff, + 34 & 0xff} }, { .description = "l3_dip2.en", @@ -50325,8 +57419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (376 >> 8) & 0xff, - 376 & 0xff, + (413 >> 8) & 0xff, + 413 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50334,8 +57428,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (34 >> 8) & 0xff, - 34 & 0xff} + (35 >> 8) & 0xff, + 35 & 0xff} }, { .description = "l3_dip1.en", @@ -50343,8 +57437,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (385 >> 8) & 0xff, - 385 & 0xff, + (422 >> 8) & 0xff, + 422 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50352,8 +57446,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (35 >> 8) & 0xff, - 35 & 0xff} + (36 >> 8) & 0xff, + 36 & 0xff} }, { .description = "l3_dip0.en", @@ -50361,8 +57455,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (394 >> 8) & 0xff, - 394 & 0xff, + (431 >> 8) & 0xff, + 431 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50370,8 +57464,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (36 >> 8) & 0xff, - 36 & 0xff} + (37 >> 8) & 0xff, + 37 & 0xff} }, { .description = "l3_ttl.en", @@ -50379,8 +57473,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (412 >> 8) & 0xff, - 412 & 0xff, + (449 >> 8) & 0xff, + 449 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50388,8 +57482,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (39 >> 8) & 0xff, - 39 & 0xff} + (40 >> 8) & 0xff, + 40 & 0xff} }, { .description = "l3_prot.en", @@ -50397,8 +57491,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (430 >> 8) & 0xff, - 430 & 0xff, + (467 >> 8) & 0xff, + 467 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50406,8 +57500,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (42 >> 8) & 0xff, - 42 & 0xff} + (43 >> 8) & 0xff, + 43 & 0xff} }, { .description = "l3_fid.en", @@ -50421,8 +57515,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (462 >> 8) & 0xff, - 462 & 0xff, + (499 >> 8) & 0xff, + 499 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50430,8 +57524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (49 >> 8) & 0xff, - 49 & 0xff} + (50 >> 8) & 0xff, + 50 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -50505,18 +57599,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (480 >> 8) & 0xff, - 480 & 0xff, + (517 >> 8) & 0xff, + 517 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (52 >> 8) & 0xff, - 52 & 0xff}, + (53 >> 8) & 0xff, + 53 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (53 >> 8) & 0xff, - 53 & 0xff} + (54 >> 8) & 0xff, + 54 & 0xff} }, { .description = "l4_dst.en", @@ -50524,18 +57618,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (489 >> 8) & 0xff, - 489 & 0xff, + (526 >> 8) & 0xff, + 526 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (55 >> 8) & 0xff, - 55 & 0xff}, + (56 >> 8) & 0xff, + 56 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (56 >> 8) & 0xff, - 56 & 0xff} + (57 >> 8) & 0xff, + 57 & 0xff} }, { .description = "l4_flags.en", @@ -51664,6 +58758,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */ /* class_tid: 1, , table: profile_tcam.gen_template */ { .description = "wc_scope", @@ -51832,8 +58927,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1301 >> 8) & 0xff, - 1301 & 0xff, + (1403 >> 8) & 0xff, + 1403 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51877,8 +58972,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1303 >> 8) & 0xff, - 1303 & 0xff, + (1405 >> 8) & 0xff, + 1405 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51892,8 +58987,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1305 >> 8) & 0xff, - 1305 & 0xff, + (1407 >> 8) & 0xff, + 1407 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51907,8 +59002,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1307 >> 8) & 0xff, - 1307 & 0xff, + (1409 >> 8) & 0xff, + 1409 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52264,8 +59359,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1308 >> 8) & 0xff, - 1308 & 0xff, + (1410 >> 8) & 0xff, + 1410 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52279,8 +59374,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1313 >> 8) & 0xff, - 1313 & 0xff, + (1415 >> 8) & 0xff, + 1415 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52324,8 +59419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1317 >> 8) & 0xff, - 1317 & 0xff, + (1419 >> 8) & 0xff, + 1419 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52357,8 +59452,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1322 >> 8) & 0xff, - 1322 & 0xff, + (1424 >> 8) & 0xff, + 1424 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52366,8 +59461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (227 >> 8) & 0xff, - 227 & 0xff} + (255 >> 8) & 0xff, + 255 & 0xff} }, { .description = "tl2_ivt.en", @@ -52381,8 +59476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1332 >> 8) & 0xff, - 1332 & 0xff, + (1434 >> 8) & 0xff, + 1434 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52402,8 +59497,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1337 >> 8) & 0xff, - 1337 & 0xff, + (1439 >> 8) & 0xff, + 1439 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52417,8 +59512,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1341 >> 8) & 0xff, - 1341 & 0xff, + (1443 >> 8) & 0xff, + 1443 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52432,8 +59527,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1345 >> 8) & 0xff, - 1345 & 0xff, + (1447 >> 8) & 0xff, + 1447 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52447,8 +59542,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1349 >> 8) & 0xff, - 1349 & 0xff, + (1451 >> 8) & 0xff, + 1451 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52456,8 +59551,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (228 >> 8) & 0xff, - 228 & 0xff} + (256 >> 8) & 0xff, + 256 & 0xff} }, { .description = "tl3_dip3.en", @@ -52465,8 +59560,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1357 >> 8) & 0xff, - 1357 & 0xff, + (1459 >> 8) & 0xff, + 1459 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52480,8 +59575,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1361 >> 8) & 0xff, - 1361 & 0xff, + (1463 >> 8) & 0xff, + 1463 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52495,8 +59590,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1365 >> 8) & 0xff, - 1365 & 0xff, + (1467 >> 8) & 0xff, + 1467 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52510,8 +59605,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1369 >> 8) & 0xff, - 1369 & 0xff, + (1471 >> 8) & 0xff, + 1471 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52519,8 +59614,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (229 >> 8) & 0xff, - 229 & 0xff} + (257 >> 8) & 0xff, + 257 & 0xff} }, { .description = "tl3_ttl.en", @@ -52528,8 +59623,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1377 >> 8) & 0xff, - 1377 & 0xff, + (1479 >> 8) & 0xff, + 1479 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52537,8 +59632,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (230 >> 8) & 0xff, - 230 & 0xff} + (258 >> 8) & 0xff, + 258 & 0xff} }, { .description = "tl3_prot.en", @@ -52546,8 +59641,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1385 >> 8) & 0xff, - 1385 & 0xff, + (1487 >> 8) & 0xff, + 1487 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52555,8 +59650,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (231 >> 8) & 0xff, - 231 & 0xff} + (259 >> 8) & 0xff, + 259 & 0xff} }, { .description = "tl3_fid.en", @@ -52570,8 +59665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1393 >> 8) & 0xff, - 1393 & 0xff, + (1495 >> 8) & 0xff, + 1495 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52579,8 +59674,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (232 >> 8) & 0xff, - 232 & 0xff} + (260 >> 8) & 0xff, + 260 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -52654,8 +59749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1401 >> 8) & 0xff, - 1401 & 0xff, + (1503 >> 8) & 0xff, + 1503 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52663,8 +59758,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (233 >> 8) & 0xff, - 233 & 0xff} + (261 >> 8) & 0xff, + 261 & 0xff} }, { .description = "tl4_dst.en", @@ -52672,8 +59767,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1409 >> 8) & 0xff, - 1409 & 0xff, + (1511 >> 8) & 0xff, + 1511 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52681,8 +59776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (234 >> 8) & 0xff, - 234 & 0xff} + (262 >> 8) & 0xff, + 262 & 0xff} }, { .description = "tl4_flags.en", @@ -52738,8 +59833,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1418 >> 8) & 0xff, - 1418 & 0xff, + (1520 >> 8) & 0xff, + 1520 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52747,14 +59842,26 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (235 >> 8) & 0xff, - 235 & 0xff} + (263 >> 8) & 0xff, + 263 & 0xff} }, { .description = "tid.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1526 >> 8) & 0xff, + 1526 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (264 >> 8) & 0xff, + 264 & 0xff} }, { .description = "tctxts.en", @@ -52792,8 +59899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1424 >> 8) & 0xff, - 1424 & 0xff, + (1530 >> 8) & 0xff, + 1530 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52801,8 +59908,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (236 >> 8) & 0xff, - 236 & 0xff} + (265 >> 8) & 0xff, + 265 & 0xff} }, { .description = "l2_smac.en", @@ -52810,8 +59917,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1433 >> 8) & 0xff, - 1433 & 0xff, + (1539 >> 8) & 0xff, + 1539 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52819,8 +59926,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (237 >> 8) & 0xff, - 237 & 0xff} + (266 >> 8) & 0xff, + 266 & 0xff} }, { .description = "l2_dt.en", @@ -52858,8 +59965,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1440 >> 8) & 0xff, - 1440 & 0xff, + (1546 >> 8) & 0xff, + 1546 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52867,8 +59974,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (238 >> 8) & 0xff, - 238 & 0xff} + (267 >> 8) & 0xff, + 267 & 0xff} }, { .description = "l2_ovt.en", @@ -52894,8 +60001,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1449 >> 8) & 0xff, - 1449 & 0xff, + (1555 >> 8) & 0xff, + 1555 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52903,8 +60010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (239 >> 8) & 0xff, - 239 & 0xff} + (268 >> 8) & 0xff, + 268 & 0xff} }, { .description = "l2_ivt.en", @@ -52918,8 +60025,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1467 >> 8) & 0xff, - 1467 & 0xff, + (1573 >> 8) & 0xff, + 1573 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52927,8 +60034,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (242 >> 8) & 0xff, - 242 & 0xff} + (271 >> 8) & 0xff, + 271 & 0xff} }, { .description = "l3_l3type.en", @@ -52942,8 +60049,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1476 >> 8) & 0xff, - 1476 & 0xff, + (1582 >> 8) & 0xff, + 1582 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52951,8 +60058,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (243 >> 8) & 0xff, - 243 & 0xff} + (272 >> 8) & 0xff, + 272 & 0xff} }, { .description = "l3_sip2.en", @@ -52960,8 +60067,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1483 >> 8) & 0xff, - 1483 & 0xff, + (1589 >> 8) & 0xff, + 1589 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52969,8 +60076,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (244 >> 8) & 0xff, - 244 & 0xff} + (273 >> 8) & 0xff, + 273 & 0xff} }, { .description = "l3_sip1.en", @@ -52978,8 +60085,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1490 >> 8) & 0xff, - 1490 & 0xff, + (1596 >> 8) & 0xff, + 1596 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52987,8 +60094,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (245 >> 8) & 0xff, - 245 & 0xff} + (274 >> 8) & 0xff, + 274 & 0xff} }, { .description = "l3_sip0.en", @@ -52996,8 +60103,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1497 >> 8) & 0xff, - 1497 & 0xff, + (1603 >> 8) & 0xff, + 1603 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53005,8 +60112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (246 >> 8) & 0xff, - 246 & 0xff} + (275 >> 8) & 0xff, + 275 & 0xff} }, { .description = "l3_dip3.en", @@ -53014,8 +60121,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1511 >> 8) & 0xff, - 1511 & 0xff, + (1617 >> 8) & 0xff, + 1617 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53023,8 +60130,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (249 >> 8) & 0xff, - 249 & 0xff} + (278 >> 8) & 0xff, + 278 & 0xff} }, { .description = "l3_dip2.en", @@ -53032,8 +60139,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1518 >> 8) & 0xff, - 1518 & 0xff, + (1624 >> 8) & 0xff, + 1624 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53041,8 +60148,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (250 >> 8) & 0xff, - 250 & 0xff} + (279 >> 8) & 0xff, + 279 & 0xff} }, { .description = "l3_dip1.en", @@ -53050,8 +60157,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1525 >> 8) & 0xff, - 1525 & 0xff, + (1631 >> 8) & 0xff, + 1631 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53059,8 +60166,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (251 >> 8) & 0xff, - 251 & 0xff} + (280 >> 8) & 0xff, + 280 & 0xff} }, { .description = "l3_dip0.en", @@ -53068,8 +60175,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1532 >> 8) & 0xff, - 1532 & 0xff, + (1638 >> 8) & 0xff, + 1638 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53077,8 +60184,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (252 >> 8) & 0xff, - 252 & 0xff} + (281 >> 8) & 0xff, + 281 & 0xff} }, { .description = "l3_ttl.en", @@ -53086,8 +60193,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1546 >> 8) & 0xff, - 1546 & 0xff, + (1652 >> 8) & 0xff, + 1652 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53095,8 +60202,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (255 >> 8) & 0xff, - 255 & 0xff} + (284 >> 8) & 0xff, + 284 & 0xff} }, { .description = "l3_prot.en", @@ -53104,8 +60211,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1560 >> 8) & 0xff, - 1560 & 0xff, + (1666 >> 8) & 0xff, + 1666 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53113,8 +60220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (258 >> 8) & 0xff, - 258 & 0xff} + (287 >> 8) & 0xff, + 287 & 0xff} }, { .description = "l3_fid.en", @@ -53128,8 +60235,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1574 >> 8) & 0xff, - 1574 & 0xff, + (1680 >> 8) & 0xff, + 1680 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53137,8 +60244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (261 >> 8) & 0xff, - 261 & 0xff} + (290 >> 8) & 0xff, + 290 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -53212,8 +60319,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1588 >> 8) & 0xff, - 1588 & 0xff, + (1694 >> 8) & 0xff, + 1694 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53221,8 +60328,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (264 >> 8) & 0xff, - 264 & 0xff} + (293 >> 8) & 0xff, + 293 & 0xff} }, { .description = "l4_dst.en", @@ -53230,8 +60337,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1602 >> 8) & 0xff, - 1602 & 0xff, + (1708 >> 8) & 0xff, + 1708 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53239,8 +60346,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (267 >> 8) & 0xff, - 267 & 0xff} + (296 >> 8) & 0xff, + 296 & 0xff} }, { .description = "l4_flags.en", @@ -53657,7 +60764,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .description = "meta_prof", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr1 = { + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0 & 0xff} }, { .description = "prof_func", @@ -53734,6 +60844,37 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: hot_upgrade_tcam_cache.wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tcam_id", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 & 0xff} + }, + { + .description = "priority", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_APP_PRIO >> 8) & 0xff, + BNXT_ULP_RF_IDX_APP_PRIO & 0xff} + }, + { + .description = "track_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, /* class_tid: 2, , table: jump_index_table.multi_flow_alloc */ /* class_tid: 2, , table: multi_flow_tunnel_cache.wr */ { @@ -53781,8 +60922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2222 >> 8) & 0xff, - 2222 & 0xff, + (2343 >> 8) & 0xff, + 2343 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53826,8 +60967,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2224 >> 8) & 0xff, - 2224 & 0xff, + (2345 >> 8) & 0xff, + 2345 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53841,8 +60982,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2226 >> 8) & 0xff, - 2226 & 0xff, + (2347 >> 8) & 0xff, + 2347 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53856,8 +60997,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2228 >> 8) & 0xff, - 2228 & 0xff, + (2349 >> 8) & 0xff, + 2349 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54213,8 +61354,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2229 >> 8) & 0xff, - 2229 & 0xff, + (2350 >> 8) & 0xff, + 2350 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54228,14 +61369,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2233 >> 8) & 0xff, - 2233 & 0xff, + (2354 >> 8) & 0xff, + 2354 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (340 >> 8) & 0xff, - 340 & 0xff}, + (371 >> 8) & 0xff, + 371 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -54274,8 +61415,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2240 >> 8) & 0xff, - 2240 & 0xff, + (2361 >> 8) & 0xff, + 2361 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54307,8 +61448,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2245 >> 8) & 0xff, - 2245 & 0xff, + (2366 >> 8) & 0xff, + 2366 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54316,8 +61457,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (341 >> 8) & 0xff, - 341 & 0xff} + (372 >> 8) & 0xff, + 372 & 0xff} }, { .description = "tl2_ivt.en", @@ -54331,8 +61472,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2255 >> 8) & 0xff, - 2255 & 0xff, + (2376 >> 8) & 0xff, + 2376 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54352,8 +61493,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2260 >> 8) & 0xff, - 2260 & 0xff, + (2381 >> 8) & 0xff, + 2381 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54367,8 +61508,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2265 >> 8) & 0xff, - 2265 & 0xff, + (2386 >> 8) & 0xff, + 2386 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54382,8 +61523,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2270 >> 8) & 0xff, - 2270 & 0xff, + (2391 >> 8) & 0xff, + 2391 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54397,18 +61538,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2275 >> 8) & 0xff, - 2275 & 0xff, + (2396 >> 8) & 0xff, + 2396 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (342 >> 8) & 0xff, - 342 & 0xff}, + (373 >> 8) & 0xff, + 373 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (343 >> 8) & 0xff, - 343 & 0xff} + (374 >> 8) & 0xff, + 374 & 0xff} }, { .description = "tl3_dip3.en", @@ -54416,8 +61557,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2284 >> 8) & 0xff, - 2284 & 0xff, + (2405 >> 8) & 0xff, + 2405 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54431,8 +61572,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2288 >> 8) & 0xff, - 2288 & 0xff, + (2409 >> 8) & 0xff, + 2409 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54446,8 +61587,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2292 >> 8) & 0xff, - 2292 & 0xff, + (2413 >> 8) & 0xff, + 2413 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54461,8 +61602,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2296 >> 8) & 0xff, - 2296 & 0xff, + (2417 >> 8) & 0xff, + 2417 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54470,8 +61611,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (344 >> 8) & 0xff, - 344 & 0xff} + (375 >> 8) & 0xff, + 375 & 0xff} }, { .description = "tl3_ttl.en", @@ -54479,8 +61620,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2304 >> 8) & 0xff, - 2304 & 0xff, + (2425 >> 8) & 0xff, + 2425 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54488,8 +61629,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (345 >> 8) & 0xff, - 345 & 0xff} + (376 >> 8) & 0xff, + 376 & 0xff} }, { .description = "tl3_prot.en", @@ -54497,8 +61638,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2312 >> 8) & 0xff, - 2312 & 0xff, + (2433 >> 8) & 0xff, + 2433 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54506,8 +61647,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (346 >> 8) & 0xff, - 346 & 0xff} + (377 >> 8) & 0xff, + 377 & 0xff} }, { .description = "tl3_fid.en", @@ -54521,8 +61662,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2320 >> 8) & 0xff, - 2320 & 0xff, + (2441 >> 8) & 0xff, + 2441 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54530,8 +61671,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (347 >> 8) & 0xff, - 347 & 0xff} + (378 >> 8) & 0xff, + 378 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -54605,8 +61746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2328 >> 8) & 0xff, - 2328 & 0xff, + (2449 >> 8) & 0xff, + 2449 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54614,8 +61755,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (348 >> 8) & 0xff, - 348 & 0xff} + (379 >> 8) & 0xff, + 379 & 0xff} }, { .description = "tl4_dst.en", @@ -54623,8 +61764,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2336 >> 8) & 0xff, - 2336 & 0xff, + (2457 >> 8) & 0xff, + 2457 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54632,8 +61773,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (349 >> 8) & 0xff, - 349 & 0xff} + (380 >> 8) & 0xff, + 380 & 0xff} }, { .description = "tl4_flags.en", @@ -54689,8 +61830,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2345 >> 8) & 0xff, - 2345 & 0xff, + (2466 >> 8) & 0xff, + 2466 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54698,8 +61839,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (350 >> 8) & 0xff, - 350 & 0xff} + (381 >> 8) & 0xff, + 381 & 0xff} }, { .description = "tid.en", @@ -54743,8 +61884,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2351 >> 8) & 0xff, - 2351 & 0xff, + (2472 >> 8) & 0xff, + 2472 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54752,8 +61893,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (351 >> 8) & 0xff, - 351 & 0xff} + (382 >> 8) & 0xff, + 382 & 0xff} }, { .description = "l2_smac.en", @@ -54761,8 +61902,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2358 >> 8) & 0xff, - 2358 & 0xff, + (2479 >> 8) & 0xff, + 2479 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54770,8 +61911,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (352 >> 8) & 0xff, - 352 & 0xff} + (383 >> 8) & 0xff, + 383 & 0xff} }, { .description = "l2_dt.en", @@ -54809,8 +61950,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2365 >> 8) & 0xff, - 2365 & 0xff, + (2486 >> 8) & 0xff, + 2486 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54818,8 +61959,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (353 >> 8) & 0xff, - 353 & 0xff} + (384 >> 8) & 0xff, + 384 & 0xff} }, { .description = "l2_ovt.en", @@ -54845,8 +61986,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2374 >> 8) & 0xff, - 2374 & 0xff, + (2495 >> 8) & 0xff, + 2495 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54854,8 +61995,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (354 >> 8) & 0xff, - 354 & 0xff} + (385 >> 8) & 0xff, + 385 & 0xff} }, { .description = "l2_ivt.en", @@ -54869,8 +62010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2392 >> 8) & 0xff, - 2392 & 0xff, + (2513 >> 8) & 0xff, + 2513 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54878,8 +62019,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (357 >> 8) & 0xff, - 357 & 0xff} + (388 >> 8) & 0xff, + 388 & 0xff} }, { .description = "l3_l3type.en", @@ -54893,8 +62034,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2401 >> 8) & 0xff, - 2401 & 0xff, + (2522 >> 8) & 0xff, + 2522 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54902,8 +62043,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (358 >> 8) & 0xff, - 358 & 0xff} + (389 >> 8) & 0xff, + 389 & 0xff} }, { .description = "l3_sip2.en", @@ -54911,8 +62052,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2410 >> 8) & 0xff, - 2410 & 0xff, + (2531 >> 8) & 0xff, + 2531 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54920,8 +62061,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (359 >> 8) & 0xff, - 359 & 0xff} + (390 >> 8) & 0xff, + 390 & 0xff} }, { .description = "l3_sip1.en", @@ -54929,8 +62070,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2419 >> 8) & 0xff, - 2419 & 0xff, + (2540 >> 8) & 0xff, + 2540 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54938,8 +62079,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (360 >> 8) & 0xff, - 360 & 0xff} + (391 >> 8) & 0xff, + 391 & 0xff} }, { .description = "l3_sip0.en", @@ -54947,8 +62088,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2428 >> 8) & 0xff, - 2428 & 0xff, + (2549 >> 8) & 0xff, + 2549 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54956,8 +62097,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (361 >> 8) & 0xff, - 361 & 0xff} + (392 >> 8) & 0xff, + 392 & 0xff} }, { .description = "l3_dip3.en", @@ -54965,8 +62106,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2446 >> 8) & 0xff, - 2446 & 0xff, + (2567 >> 8) & 0xff, + 2567 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54974,8 +62115,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (364 >> 8) & 0xff, - 364 & 0xff} + (395 >> 8) & 0xff, + 395 & 0xff} }, { .description = "l3_dip2.en", @@ -54983,8 +62124,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2455 >> 8) & 0xff, - 2455 & 0xff, + (2576 >> 8) & 0xff, + 2576 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54992,8 +62133,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (365 >> 8) & 0xff, - 365 & 0xff} + (396 >> 8) & 0xff, + 396 & 0xff} }, { .description = "l3_dip1.en", @@ -55001,8 +62142,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2464 >> 8) & 0xff, - 2464 & 0xff, + (2585 >> 8) & 0xff, + 2585 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55010,8 +62151,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (366 >> 8) & 0xff, - 366 & 0xff} + (397 >> 8) & 0xff, + 397 & 0xff} }, { .description = "l3_dip0.en", @@ -55019,8 +62160,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2473 >> 8) & 0xff, - 2473 & 0xff, + (2594 >> 8) & 0xff, + 2594 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55028,8 +62169,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (367 >> 8) & 0xff, - 367 & 0xff} + (398 >> 8) & 0xff, + 398 & 0xff} }, { .description = "l3_ttl.en", @@ -55037,8 +62178,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2491 >> 8) & 0xff, - 2491 & 0xff, + (2612 >> 8) & 0xff, + 2612 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55046,8 +62187,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (370 >> 8) & 0xff, - 370 & 0xff} + (401 >> 8) & 0xff, + 401 & 0xff} }, { .description = "l3_prot.en", @@ -55055,8 +62196,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2509 >> 8) & 0xff, - 2509 & 0xff, + (2630 >> 8) & 0xff, + 2630 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55064,8 +62205,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (373 >> 8) & 0xff, - 373 & 0xff} + (404 >> 8) & 0xff, + 404 & 0xff} }, { .description = "l3_fid.en", @@ -55079,8 +62220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2541 >> 8) & 0xff, - 2541 & 0xff, + (2662 >> 8) & 0xff, + 2662 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55088,8 +62229,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (380 >> 8) & 0xff, - 380 & 0xff} + (411 >> 8) & 0xff, + 411 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -55163,18 +62304,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2559 >> 8) & 0xff, - 2559 & 0xff, + (2680 >> 8) & 0xff, + 2680 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (383 >> 8) & 0xff, - 383 & 0xff}, + (414 >> 8) & 0xff, + 414 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (384 >> 8) & 0xff, - 384 & 0xff} + (415 >> 8) & 0xff, + 415 & 0xff} }, { .description = "l4_dst.en", @@ -55182,18 +62323,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2568 >> 8) & 0xff, - 2568 & 0xff, + (2689 >> 8) & 0xff, + 2689 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (386 >> 8) & 0xff, - 386 & 0xff}, + (417 >> 8) & 0xff, + 417 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (387 >> 8) & 0xff, - 387 & 0xff} + (418 >> 8) & 0xff, + 418 & 0xff} }, { .description = "l4_flags.en", @@ -56489,8 +63630,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3384 >> 8) & 0xff, - 3384 & 0xff, + (3505 >> 8) & 0xff, + 3505 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56534,8 +63675,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3386 >> 8) & 0xff, - 3386 & 0xff, + (3507 >> 8) & 0xff, + 3507 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56549,8 +63690,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3388 >> 8) & 0xff, - 3388 & 0xff, + (3509 >> 8) & 0xff, + 3509 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56564,8 +63705,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3390 >> 8) & 0xff, - 3390 & 0xff, + (3511 >> 8) & 0xff, + 3511 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56921,8 +64062,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3391 >> 8) & 0xff, - 3391 & 0xff, + (3512 >> 8) & 0xff, + 3512 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56936,8 +64077,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3396 >> 8) & 0xff, - 3396 & 0xff, + (3517 >> 8) & 0xff, + 3517 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56981,8 +64122,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3400 >> 8) & 0xff, - 3400 & 0xff, + (3521 >> 8) & 0xff, + 3521 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57014,8 +64155,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3405 >> 8) & 0xff, - 3405 & 0xff, + (3526 >> 8) & 0xff, + 3526 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57023,8 +64164,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (559 >> 8) & 0xff, - 559 & 0xff} + (590 >> 8) & 0xff, + 590 & 0xff} }, { .description = "tl2_ivt.en", @@ -57038,8 +64179,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3415 >> 8) & 0xff, - 3415 & 0xff, + (3536 >> 8) & 0xff, + 3536 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57059,8 +64200,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3420 >> 8) & 0xff, - 3420 & 0xff, + (3541 >> 8) & 0xff, + 3541 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57074,8 +64215,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3424 >> 8) & 0xff, - 3424 & 0xff, + (3545 >> 8) & 0xff, + 3545 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57089,8 +64230,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3428 >> 8) & 0xff, - 3428 & 0xff, + (3549 >> 8) & 0xff, + 3549 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57104,8 +64245,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3432 >> 8) & 0xff, - 3432 & 0xff, + (3553 >> 8) & 0xff, + 3553 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57113,8 +64254,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (560 >> 8) & 0xff, - 560 & 0xff} + (591 >> 8) & 0xff, + 591 & 0xff} }, { .description = "tl3_dip3.en", @@ -57122,8 +64263,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3440 >> 8) & 0xff, - 3440 & 0xff, + (3561 >> 8) & 0xff, + 3561 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57137,8 +64278,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3444 >> 8) & 0xff, - 3444 & 0xff, + (3565 >> 8) & 0xff, + 3565 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57152,8 +64293,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3448 >> 8) & 0xff, - 3448 & 0xff, + (3569 >> 8) & 0xff, + 3569 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57167,8 +64308,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3452 >> 8) & 0xff, - 3452 & 0xff, + (3573 >> 8) & 0xff, + 3573 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57176,8 +64317,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (561 >> 8) & 0xff, - 561 & 0xff} + (592 >> 8) & 0xff, + 592 & 0xff} }, { .description = "tl3_ttl.en", @@ -57185,8 +64326,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3460 >> 8) & 0xff, - 3460 & 0xff, + (3581 >> 8) & 0xff, + 3581 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57194,8 +64335,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (562 >> 8) & 0xff, - 562 & 0xff} + (593 >> 8) & 0xff, + 593 & 0xff} }, { .description = "tl3_prot.en", @@ -57203,8 +64344,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3468 >> 8) & 0xff, - 3468 & 0xff, + (3589 >> 8) & 0xff, + 3589 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57212,8 +64353,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (563 >> 8) & 0xff, - 563 & 0xff} + (594 >> 8) & 0xff, + 594 & 0xff} }, { .description = "tl3_fid.en", @@ -57227,8 +64368,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3476 >> 8) & 0xff, - 3476 & 0xff, + (3597 >> 8) & 0xff, + 3597 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57236,8 +64377,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (564 >> 8) & 0xff, - 564 & 0xff} + (595 >> 8) & 0xff, + 595 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -57311,8 +64452,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3484 >> 8) & 0xff, - 3484 & 0xff, + (3605 >> 8) & 0xff, + 3605 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57320,8 +64461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (565 >> 8) & 0xff, - 565 & 0xff} + (596 >> 8) & 0xff, + 596 & 0xff} }, { .description = "tl4_dst.en", @@ -57329,8 +64470,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3492 >> 8) & 0xff, - 3492 & 0xff, + (3613 >> 8) & 0xff, + 3613 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57338,8 +64479,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (566 >> 8) & 0xff, - 566 & 0xff} + (597 >> 8) & 0xff, + 597 & 0xff} }, { .description = "tl4_flags.en", @@ -57395,8 +64536,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3501 >> 8) & 0xff, - 3501 & 0xff, + (3622 >> 8) & 0xff, + 3622 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57404,8 +64545,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (567 >> 8) & 0xff, - 567 & 0xff} + (598 >> 8) & 0xff, + 598 & 0xff} }, { .description = "tid.en", @@ -57449,8 +64590,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3507 >> 8) & 0xff, - 3507 & 0xff, + (3628 >> 8) & 0xff, + 3628 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57458,8 +64599,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (568 >> 8) & 0xff, - 568 & 0xff} + (599 >> 8) & 0xff, + 599 & 0xff} }, { .description = "l2_smac.en", @@ -57467,8 +64608,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3516 >> 8) & 0xff, - 3516 & 0xff, + (3637 >> 8) & 0xff, + 3637 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57476,8 +64617,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (569 >> 8) & 0xff, - 569 & 0xff} + (600 >> 8) & 0xff, + 600 & 0xff} }, { .description = "l2_dt.en", @@ -57515,8 +64656,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3523 >> 8) & 0xff, - 3523 & 0xff, + (3644 >> 8) & 0xff, + 3644 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57524,8 +64665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (570 >> 8) & 0xff, - 570 & 0xff} + (601 >> 8) & 0xff, + 601 & 0xff} }, { .description = "l2_ovt.en", @@ -57551,8 +64692,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3532 >> 8) & 0xff, - 3532 & 0xff, + (3653 >> 8) & 0xff, + 3653 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57560,8 +64701,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (571 >> 8) & 0xff, - 571 & 0xff} + (602 >> 8) & 0xff, + 602 & 0xff} }, { .description = "l2_ivt.en", @@ -57575,8 +64716,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3550 >> 8) & 0xff, - 3550 & 0xff, + (3671 >> 8) & 0xff, + 3671 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57584,8 +64725,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (574 >> 8) & 0xff, - 574 & 0xff} + (605 >> 8) & 0xff, + 605 & 0xff} }, { .description = "l3_l3type.en", @@ -57599,8 +64740,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3559 >> 8) & 0xff, - 3559 & 0xff, + (3680 >> 8) & 0xff, + 3680 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57608,8 +64749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (575 >> 8) & 0xff, - 575 & 0xff} + (606 >> 8) & 0xff, + 606 & 0xff} }, { .description = "l3_sip2.en", @@ -57617,8 +64758,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3566 >> 8) & 0xff, - 3566 & 0xff, + (3687 >> 8) & 0xff, + 3687 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57626,8 +64767,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (576 >> 8) & 0xff, - 576 & 0xff} + (607 >> 8) & 0xff, + 607 & 0xff} }, { .description = "l3_sip1.en", @@ -57635,8 +64776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3573 >> 8) & 0xff, - 3573 & 0xff, + (3694 >> 8) & 0xff, + 3694 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57644,8 +64785,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (577 >> 8) & 0xff, - 577 & 0xff} + (608 >> 8) & 0xff, + 608 & 0xff} }, { .description = "l3_sip0.en", @@ -57653,8 +64794,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3580 >> 8) & 0xff, - 3580 & 0xff, + (3701 >> 8) & 0xff, + 3701 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57662,8 +64803,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (578 >> 8) & 0xff, - 578 & 0xff} + (609 >> 8) & 0xff, + 609 & 0xff} }, { .description = "l3_dip3.en", @@ -57671,8 +64812,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3594 >> 8) & 0xff, - 3594 & 0xff, + (3715 >> 8) & 0xff, + 3715 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57680,8 +64821,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (581 >> 8) & 0xff, - 581 & 0xff} + (612 >> 8) & 0xff, + 612 & 0xff} }, { .description = "l3_dip2.en", @@ -57689,8 +64830,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3601 >> 8) & 0xff, - 3601 & 0xff, + (3722 >> 8) & 0xff, + 3722 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57698,8 +64839,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (582 >> 8) & 0xff, - 582 & 0xff} + (613 >> 8) & 0xff, + 613 & 0xff} }, { .description = "l3_dip1.en", @@ -57707,8 +64848,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3608 >> 8) & 0xff, - 3608 & 0xff, + (3729 >> 8) & 0xff, + 3729 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57716,8 +64857,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (583 >> 8) & 0xff, - 583 & 0xff} + (614 >> 8) & 0xff, + 614 & 0xff} }, { .description = "l3_dip0.en", @@ -57725,8 +64866,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3615 >> 8) & 0xff, - 3615 & 0xff, + (3736 >> 8) & 0xff, + 3736 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57734,8 +64875,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (584 >> 8) & 0xff, - 584 & 0xff} + (615 >> 8) & 0xff, + 615 & 0xff} }, { .description = "l3_ttl.en", @@ -57743,8 +64884,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3629 >> 8) & 0xff, - 3629 & 0xff, + (3750 >> 8) & 0xff, + 3750 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57752,8 +64893,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (587 >> 8) & 0xff, - 587 & 0xff} + (618 >> 8) & 0xff, + 618 & 0xff} }, { .description = "l3_prot.en", @@ -57761,8 +64902,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3643 >> 8) & 0xff, - 3643 & 0xff, + (3764 >> 8) & 0xff, + 3764 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57770,8 +64911,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (590 >> 8) & 0xff, - 590 & 0xff} + (621 >> 8) & 0xff, + 621 & 0xff} }, { .description = "l3_fid.en", @@ -57785,8 +64926,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3657 >> 8) & 0xff, - 3657 & 0xff, + (3778 >> 8) & 0xff, + 3778 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57794,8 +64935,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (593 >> 8) & 0xff, - 593 & 0xff} + (624 >> 8) & 0xff, + 624 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -57869,8 +65010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3671 >> 8) & 0xff, - 3671 & 0xff, + (3792 >> 8) & 0xff, + 3792 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57878,8 +65019,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (596 >> 8) & 0xff, - 596 & 0xff} + (627 >> 8) & 0xff, + 627 & 0xff} }, { .description = "l4_dst.en", @@ -57887,8 +65028,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3685 >> 8) & 0xff, - 3685 & 0xff, + (3806 >> 8) & 0xff, + 3806 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57896,8 +65037,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (599 >> 8) & 0xff, - 599 & 0xff} + (630 >> 8) & 0xff, + 630 & 0xff} }, { .description = "l4_flags.en", @@ -58314,7 +65455,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .description = "meta_prof", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr1 = { + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0 & 0xff} }, { .description = "prof_func", @@ -58394,6 +65538,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_rx */ /* class_tid: 3, , table: metadata_record.act_rx_wr */ { .description = "meta_mask", @@ -58406,6 +65551,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_rx */ /* class_tid: 3, , table: metadata_record.prof_rx_wr */ { .description = "meta_mask", @@ -58418,6 +65564,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_rx */ /* class_tid: 3, , table: metadata_record.lkup_rx_wr */ { .description = "meta_mask", @@ -58430,6 +65577,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_tx */ /* class_tid: 3, , table: metadata_record.act_tx_wr */ { .description = "meta_mask", @@ -58442,6 +65590,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_tx */ /* class_tid: 3, , table: metadata_record.prof_tx_wr */ { .description = "meta_mask", @@ -58454,6 +65603,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_tx */ /* class_tid: 3, , table: metadata_record.lkup_tx_wr */ { .description = "meta_mask", @@ -58466,6 +65616,16 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_regfiles_cache.metadata_record_wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, /* class_tid: 3, , table: cmm_full_act_record.ing_default_0 */ { .description = "type", @@ -58603,9 +65763,21 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { { .description = "vnic_or_vport", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { + (4332 >> 8) & 0xff, + 4332 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr2 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_CF, + .field_opr3 = { (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff, BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff} }, @@ -58693,6 +65865,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */ /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */ { .description = "act_rec_ptr", @@ -58828,172 +66001,6 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} }, - /* class_tid: 3, , table: l2_cntxt_tcam.svif_ing */ - { - .description = "l2ip_dest_data", - .field_bit_size = 17, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_dest_enb", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_rfs_data", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_rfs_enb", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_act_rec_ptr", - .field_bit_size = 26, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, - BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} - }, - { - .description = "l2ip_act_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} - }, - { - .description = "l2ip_act_hint", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_act_enb", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - { - .description = "l2ip_meta", - .field_bit_size = 35, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_meta_enb", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "ctxt_opcode", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW} - }, - { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} - }, - { - .description = "prsv_prof_func_id", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} - }, - { - .description = "prsv_l2ip_cntxt_id", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "parif", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "prsv_parif", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */ - { - .description = "rid", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} - }, - { - .description = "l2_cntxt_tcam_index", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} - }, - { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} - }, - { - .description = "src_property_ptr", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} - }, /* class_tid: 3, , table: cmm_full_act_record.throw_away_egr */ { .description = "type", @@ -60768,6 +67775,212 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */ + { + .description = "l2ip_dest_data", + .field_bit_size = 17, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_dest_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_data", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_rec_ptr", + .field_bit_size = 26, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} + }, + { + .description = "l2ip_act_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + }, + { + .description = "l2ip_act_hint", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "l2ip_meta", + .field_bit_size = 35, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_meta_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ctxt_opcode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW} + }, + { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4342 >> 8) & 0xff, + 4342 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, + { + .description = "prsv_prof_func_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4344 >> 8) & 0xff, + 4344 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "prsv_l2ip_cntxt_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "prsv_parif", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "l2_cntxt_tcam_index", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4346 >> 8) & 0xff, + 4346 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "src_property_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4348 >> 8) & 0xff, + 4348 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }; @@ -60785,6 +67998,37 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 128 }, + /* class_tid: 1, , table: tunnel_gparse_cache.dynupar_tunnel_rd */ + { + .description = "alloc_tun", + .regfile_idx = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0, + .ident_bit_size = 8, + .ident_bit_pos = 80 + }, + { + .description = "dyn_tun_type", + .regfile_idx = BNXT_ULP_RF_IDX_DYN_TUN_TYPE, + .ident_bit_size = 8, + .ident_bit_pos = 88 + }, + { + .description = "dyn_upar_id", + .regfile_idx = BNXT_ULP_RF_IDX_DYN_UPAR_ID, + .ident_bit_size = 8, + .ident_bit_pos = 96 + }, + { + .description = "rid", + .regfile_idx = BNXT_ULP_RF_IDX_RID, + .ident_bit_size = 32, + .ident_bit_pos = 0 + }, + { + .description = "udp_port", + .regfile_idx = BNXT_ULP_RF_IDX_TUNNEL_PORT, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */ { .description = "rid", @@ -60801,7 +68045,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */ { .description = "l2_cntxt_id", - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, .ident_bit_size = 11, .ident_bit_pos = 43 }, @@ -60817,6 +68061,19 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 86 }, + /* class_tid: 1, , table: table_scope_cache.tsid_ing_rd */ + { + .description = "default_arec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR, + .ident_bit_size = 32, + .ident_bit_pos = 32 + }, + { + .description = "prof_func", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, + .ident_bit_size = 8, + .ident_bit_pos = 64 + }, /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ { .description = "cmm_stat_hndl", @@ -60891,6 +68148,15 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 11, .ident_bit_pos = 109 }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */ + { + .description = "l2_cntxt_id", + .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 0, + .ident_bit_pos = 0 + }, /* class_tid: 1, , table: proto_header_cache.rd */ { .description = "em_key_id", @@ -60956,7 +68222,16 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 12 }, - /* class_tid: 1, , table: profile_tcam.gen_template */ + /* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */ + { + .description = "wc_profile_id", + .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, + .ident_type = CFA_RSUBTYPE_IDENT_WC_PROF, + .regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0, + .ident_bit_size = 0, + .ident_bit_pos = 0 + }, + /* class_tid: 1, , table: profile_tcam.allocate_em_profile */ { .description = "em_profile_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -60965,6 +68240,15 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 33 }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */ + { + .description = "em_profile_id", + .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, + .ident_type = CFA_RSUBTYPE_IDENT_EM_PROF, + .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, + .ident_bit_size = 0, + .ident_bit_pos = 0 + }, /* class_tid: 1, , table: em_flow_conflict_cache.rd */ { .description = "flow_sig_id", @@ -61100,7 +68384,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 64 }, - /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */ + /* class_tid: 3, , table: profile_tcam_bypass.allocate_prof_func */ { .description = "prof_func_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -61109,21 +68393,14 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 0, .ident_bit_pos = 0 }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */ - { - .description = "l2_cntxt_id", - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, - .ident_bit_size = 11, - .ident_bit_pos = 43 - }, - /* class_tid: 3, , table: l2_cntxt_tcam.svif_ing */ + /* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */ { - .description = "l2_cntxt_id", + .description = "prof_func_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, - .ident_bit_size = 11, - .ident_bit_pos = 109 + .ident_type = CFA_RSUBTYPE_IDENT_PROF_FUNC, + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, + .ident_bit_size = 0, + .ident_bit_pos = 0 }, /* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_svif_egr */ { @@ -61201,6 +68478,74 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, .ident_bit_size = 11, .ident_bit_pos = 109 + }, + /* class_tid: 5, , table: table_scope_cache.tsid_ing_rd */ + { + .description = "default_arec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR, + .ident_bit_size = 32, + .ident_bit_pos = 32 + }, + { + .description = "prof_func", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, + .ident_bit_size = 8, + .ident_bit_pos = 64 + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 11, + .ident_bit_pos = 43 + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, + .ident_bit_size = 11, + .ident_bit_pos = 43 + }, + { + .description = "prof_func_id", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_1, + .ident_bit_size = 8, + .ident_bit_pos = 86 + }, + /* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */ + { + .description = "l2_cntxt_id", + .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 11, + .ident_bit_pos = 109 + }, + /* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */ + { + .description = "rid", + .regfile_idx = BNXT_ULP_RF_IDX_RID, + .ident_bit_size = 32, + .ident_bit_pos = 0 + }, + /* class_tid: 8, , table: hot_upgrade_tcam_cache.iterate_read */ + { + .description = "priority", + .regfile_idx = BNXT_ULP_RF_IDX_APP_PRIO, + .ident_bit_size = 16, + .ident_bit_pos = 48 + }, + { + .description = "tcam_id", + .regfile_idx = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, + { + .description = "track_type", + .regfile_idx = BNXT_ULP_RF_IDX_RF_0, + .ident_bit_size = 4, + .ident_bit_pos = 64 } }; diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_act.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_act.c index 79850b2ad6..a6dc8e93cf 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_act.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_act.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -5719,9 +5719,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -5877,9 +5875,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -8994,9 +8990,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c index 4a0e294aee..d523e5c240 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = { /* class_tid: 1, ingress */ [1] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, - .num_tbls = 78, + .num_tbls = 82, .start_tbl_idx = 0, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, @@ -24,60 +24,70 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = { [2] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 48, - .start_tbl_idx = 78, + .start_tbl_idx = 82, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 2471, + .cond_start_idx = 2539, .cond_nums = 0 } }, /* class_tid: 3, ingress */ [3] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 22, - .start_tbl_idx = 126, + .start_tbl_idx = 130, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 } }, /* class_tid: 4, egress */ [4] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 35, - .start_tbl_idx = 148, + .start_tbl_idx = 152, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4886, + .cond_start_idx = 4955, .cond_nums = 0 } }, /* class_tid: 5, ingress */ [5] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 7, - .start_tbl_idx = 183, + .start_tbl_idx = 187, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 } }, /* class_tid: 6, ingress */ [6] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 3, - .start_tbl_idx = 190, + .start_tbl_idx = 194, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4900, + .cond_start_idx = 4969, .cond_nums = 0 } }, /* class_tid: 7, ingress */ [7] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 21, - .start_tbl_idx = 193, + .start_tbl_idx = 197, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4902, + .cond_start_idx = 4971, + .cond_nums = 0 } + }, + /* class_tid: 8, ingress */ + [8] = { + .device_name = BNXT_ULP_DEVICE_ID_THOR, + .num_tbls = 1, + .start_tbl_idx = 218, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 4978, .cond_nums = 0 } } }; @@ -282,6 +292,29 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .ident_start_idx = 4, .ident_nums = 1 }, + { /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */ + .description = "l2_cntxt_tcam_cache.def_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 28, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 6, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 5, + .ident_nums = 1 + }, { /* class_tid: 1, , table: control.check_f1_f2_flow */ .description = "control.check_f1_f2_flow", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -311,11 +344,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 6, + .key_start_idx = 7, .blob_key_bit_size = 19, .key_bit_size = 19, .key_num_fields = 2, - .ident_start_idx = 5, + .ident_start_idx = 6, .ident_nums = 1 }, { /* class_tid: 1, , table: control.tunnel_cache_check */ @@ -351,7 +384,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 6, + .ident_start_idx = 7, .ident_nums = 1 }, { /* class_tid: 1, , table: tunnel_cache.f1_f2_wr */ @@ -370,7 +403,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 8, + .key_start_idx = 9, .blob_key_bit_size = 19, .key_bit_size = 19, .key_num_fields = 2, @@ -383,7 +416,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = 31, + .cond_true_goto = 33, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, .cond_start_idx = 31, @@ -426,11 +459,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 10, + .key_start_idx = 11, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 7, + .ident_start_idx = 8, .ident_nums = 2 }, { /* class_tid: 1, , table: control.prof_func_miss */ @@ -490,11 +523,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 11, + .key_start_idx = 12, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .ident_start_idx = 9, + .ident_start_idx = 10, .ident_nums = 1 }, { /* class_tid: 1, , table: control.multi_flow_cache_check */ @@ -588,7 +621,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 20, + .key_start_idx = 21, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, @@ -644,11 +677,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 29, + .key_start_idx = 30, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 10, + .ident_start_idx = 11, .ident_nums = 1 }, { /* class_tid: 1, , table: control.flow_chain_group_id */ @@ -723,7 +756,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 30, + .key_start_idx = 31, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, @@ -747,11 +780,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 31, + .key_start_idx = 32, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 11, + .ident_start_idx = 12, .ident_nums = 1 }, { /* class_tid: 1, , table: control.flow_chain_group_l2_cntxt_check */ @@ -787,14 +820,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 32, + .key_start_idx = 33, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 14, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 12, + .ident_start_idx = 13, .ident_nums = 1 }, { /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ @@ -816,14 +849,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 53, + .key_start_idx = 54, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 20, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 13, + .ident_start_idx = 14, .ident_nums = 0 }, { /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ @@ -842,7 +875,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 74, + .key_start_idx = 75, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -866,11 +899,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 75, + .key_start_idx = 76, .blob_key_bit_size = 110, .key_bit_size = 110, .key_num_fields = 8, - .ident_start_idx = 13, + .ident_start_idx = 14, .ident_nums = 1 }, { /* class_tid: 1, , table: control.mac_addr_cache_miss */ @@ -906,7 +939,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 14, + .ident_start_idx = 15, .ident_nums = 1 }, { /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry */ @@ -928,14 +961,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 83, + .key_start_idx = 84, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 28, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 15, + .ident_start_idx = 16, .ident_nums = 0 }, { /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ @@ -957,14 +990,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 104, + .key_start_idx = 105, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 34, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 15, + .ident_start_idx = 16, .ident_nums = 0 }, { /* class_tid: 1, , table: mac_addr_cache.wr */ @@ -983,7 +1016,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 125, + .key_start_idx = 126, .blob_key_bit_size = 110, .key_bit_size = 110, .key_num_fields = 8, @@ -991,6 +1024,37 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .result_bit_size = 69, .result_num_fields = 5 }, + { /* class_tid: 1, , table: control.update_default_l2_context */ + .description = "control.update_default_l2_context", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 130, + .cond_nums = 2 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 1, , table: control.update_default_l2_context_done */ + .description = "control.update_default_l2_context_done", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 132, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, + .func_dst_opr = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 } + }, { /* class_tid: 1, , table: control.check_f1_flow */ .description = "control.check_f1_flow", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -999,7 +1063,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 130, + .cond_start_idx = 132, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1040,7 +1104,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 146, + .cond_start_idx = 148, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1061,17 +1125,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 157, + .cond_start_idx = 159, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 133, + .key_start_idx = 134, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, - .ident_start_idx = 15, + .ident_start_idx = 16, .ident_nums = 7 }, { /* class_tid: 1, , table: control.proto_header_cache_miss */ @@ -1080,9 +1144,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 15, + .cond_false_goto = 16, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 159, + .cond_start_idx = 161, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1098,20 +1162,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 160, + .cond_start_idx = 162, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 136, + .key_start_idx = 137, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 138, + .partial_key_start_idx = 139, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .ident_start_idx = 22, + .ident_start_idx = 23, .ident_nums = 2 }, { /* class_tid: 1, , table: control.overlap_miss */ @@ -1122,7 +1186,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 162, + .cond_start_idx = 164, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1138,17 +1202,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 163, + .cond_start_idx = 165, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 139, + .key_start_idx = 140, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, - .ident_start_idx = 24, + .ident_start_idx = 25, .ident_nums = 1 }, { /* class_tid: 1, , table: control.ing_catch_all */ @@ -1159,7 +1223,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 165, + .cond_start_idx = 167, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1181,7 +1245,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 165, + .cond_start_idx = 167, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -1191,7 +1255,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 25, + .ident_start_idx = 26, .ident_nums = 1 }, { /* class_tid: 1, , table: fkb_select.wc_gen_template */ @@ -1203,7 +1267,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 165, + .cond_start_idx = 167, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, @@ -1224,7 +1288,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 421, + .cond_start_idx = 429, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -1236,10 +1300,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 141, + .key_start_idx = 142, .blob_key_bit_size = 0, .key_bit_size = 0, - .key_num_fields = 33, + .key_num_fields = 34, .result_start_idx = 151, .result_bit_size = 38, .result_num_fields = 5 @@ -1254,18 +1318,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 942, + .cond_start_idx = 962, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 174, + .key_start_idx = 176, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 176, + .partial_key_start_idx = 178, .partial_key_num_fields = 1, .partial_key_bit_size = 64, .result_start_idx = 156, @@ -1281,7 +1345,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 944, + .cond_start_idx = 964, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -1303,7 +1367,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 945, + .cond_start_idx = 965, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, @@ -1322,7 +1386,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 945, + .cond_start_idx = 965, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1330,7 +1394,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 128, + .func_opr1 = 131, .func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY } }, { /* class_tid: 1, , table: profile_tcam.gen_template */ @@ -1342,7 +1406,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 961, + .cond_start_idx = 981, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -1354,14 +1418,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 177, + .key_start_idx = 179, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 265, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 26, + .ident_start_idx = 27, .ident_nums = 1 }, { /* class_tid: 1, , table: wm_key_recipe.0 */ @@ -1374,21 +1438,40 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1208, + .cond_start_idx = 1242, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 220, + .key_start_idx = 222, .blob_key_bit_size = 0, .key_bit_size = 0, - .key_num_fields = 33, + .key_num_fields = 34, .result_start_idx = 273, .result_bit_size = 0, .result_num_fields = 0 }, + { /* class_tid: 1, , table: control.outer_present_mode_2 */ + .description = "control.outer_present_mode_2", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 1755, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_oper_size = 8, + .func_src1 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr1 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_OUTER_ADD } + }, { /* class_tid: 1, , table: proto_header_cache.wr */ .description = "proto_header_cache.wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -1399,13 +1482,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1709, + .cond_start_idx = 1756, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 253, + .key_start_idx = 256, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, @@ -1423,17 +1506,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1711, + .cond_start_idx = 1758, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 256, + .key_start_idx = 259, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, - .ident_start_idx = 27, + .ident_start_idx = 28, .ident_nums = 1 }, { /* class_tid: 1, , table: control.em_flow_conflict_cache_miss */ @@ -1444,7 +1527,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1717, + .cond_start_idx = 1764, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1459,7 +1542,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1718, + .cond_start_idx = 1765, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -1480,16 +1563,16 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1965, + .cond_start_idx = 2018, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 260, + .key_start_idx = 263, .blob_key_bit_size = 0, .key_bit_size = 0, - .key_num_fields = 33, + .key_num_fields = 34, .result_start_idx = 387, .result_bit_size = 0, .result_num_fields = 0 @@ -1504,13 +1587,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 3, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2459, + .cond_start_idx = 2524, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 293, + .key_start_idx = 297, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, @@ -1526,7 +1609,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 4, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2461, + .cond_start_idx = 2526, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1546,7 +1629,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 5, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2463, + .cond_start_idx = 2528, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1560,7 +1643,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2465, + .cond_start_idx = 2530, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -1580,7 +1663,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2469, + .cond_start_idx = 2534, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1593,9 +1676,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2470, - .cond_nums = 0 }, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, + .cond_start_idx = 9, + .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_DYN_KEY, @@ -1617,7 +1700,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2470, + .cond_start_idx = 2538, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1630,7 +1713,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2471, + .cond_start_idx = 2539, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1646,10 +1729,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = -29, + .cond_true_goto = -30, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2471, + .cond_start_idx = 2539, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1670,17 +1753,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2471, + .cond_start_idx = 2539, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 297, + .key_start_idx = 301, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 28, + .ident_start_idx = 29, .ident_nums = 2 }, { /* class_tid: 2, , table: control.l2_only_check */ @@ -1692,7 +1775,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 9, + .cond_start_idx = 11, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1706,7 +1789,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 11, + .cond_start_idx = 13, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1719,7 +1802,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, - .cond_start_idx = 13, + .cond_start_idx = 15, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1733,7 +1816,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2493, + .cond_start_idx = 2561, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1748,17 +1831,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2495, + .cond_start_idx = 2563, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 298, + .key_start_idx = 302, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .ident_start_idx = 30, + .ident_start_idx = 31, .ident_nums = 1 }, { /* class_tid: 2, , table: control.multi_flow_cache_check */ @@ -1769,7 +1852,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2523, + .cond_start_idx = 2591, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1785,7 +1868,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2524, + .cond_start_idx = 2592, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, @@ -1804,7 +1887,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2524, + .cond_start_idx = 2592, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1825,7 +1908,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2524, + .cond_start_idx = 2592, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1846,13 +1929,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2524, + .cond_start_idx = 2592, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 307, + .key_start_idx = 311, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, @@ -1868,7 +1951,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2552, + .cond_start_idx = 2620, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1887,7 +1970,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2552, + .cond_start_idx = 2620, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1895,7 +1978,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 390, + .func_opr1 = 405, .func_dst_opr = BNXT_ULP_RF_IDX_TERM_FLOW } }, { /* class_tid: 2, , table: control.group_id_check */ @@ -1906,7 +1989,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2560, + .cond_start_idx = 2628, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1921,17 +2004,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2561, + .cond_start_idx = 2629, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 316, + .key_start_idx = 320, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 31, + .ident_start_idx = 32, .ident_nums = 1 }, { /* class_tid: 2, , table: control.flow_chain_group_id */ @@ -1942,7 +2025,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2561, + .cond_start_idx = 2629, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1958,7 +2041,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2562, + .cond_start_idx = 2630, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, @@ -1977,7 +2060,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2562, + .cond_start_idx = 2630, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2000,13 +2083,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2562, + .cond_start_idx = 2630, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 317, + .key_start_idx = 321, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, @@ -2024,17 +2107,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2562, + .cond_start_idx = 2630, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 318, + .key_start_idx = 322, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, - .ident_start_idx = 32, + .ident_start_idx = 33, .ident_nums = 7 }, { /* class_tid: 2, , table: control.proto_header_cache_miss */ @@ -2045,7 +2128,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 15, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2564, + .cond_start_idx = 2632, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2061,20 +2144,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2565, + .cond_start_idx = 2633, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 321, + .key_start_idx = 325, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 323, + .partial_key_start_idx = 327, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .ident_start_idx = 39, + .ident_start_idx = 40, .ident_nums = 2 }, { /* class_tid: 2, , table: control.overlap_miss */ @@ -2085,7 +2168,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2567, + .cond_start_idx = 2635, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2101,17 +2184,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2568, + .cond_start_idx = 2636, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 324, + .key_start_idx = 328, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, - .ident_start_idx = 41, + .ident_start_idx = 42, .ident_nums = 1 }, { /* class_tid: 2, , table: control.egr_catch_all */ @@ -2122,7 +2205,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2570, + .cond_start_idx = 2638, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2144,7 +2227,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2570, + .cond_start_idx = 2638, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2154,7 +2237,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 42, + .ident_start_idx = 43, .ident_nums = 1 }, { /* class_tid: 2, , table: fkb_select.wc_gen_template */ @@ -2166,7 +2249,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2570, + .cond_start_idx = 2638, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, @@ -2187,7 +2270,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2829, + .cond_start_idx = 2897, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -2199,7 +2282,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 326, + .key_start_idx = 330, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, @@ -2217,18 +2300,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3356, + .cond_start_idx = 3424, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 359, + .key_start_idx = 363, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 361, + .partial_key_start_idx = 365, .partial_key_num_fields = 1, .partial_key_bit_size = 64, .result_start_idx = 515, @@ -2244,7 +2327,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3358, + .cond_start_idx = 3426, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -2266,7 +2349,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3359, + .cond_start_idx = 3427, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, @@ -2285,7 +2368,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3359, + .cond_start_idx = 3427, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2293,7 +2376,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 515, + .func_opr1 = 530, .func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY } }, { /* class_tid: 2, , table: profile_tcam.gen_template */ @@ -2305,7 +2388,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3375, + .cond_start_idx = 3443, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2317,14 +2400,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 362, + .key_start_idx = 366, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 624, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 43, + .ident_start_idx = 44, .ident_nums = 1 }, { /* class_tid: 2, , table: wm_key_recipe.0 */ @@ -2337,14 +2420,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3619, + .cond_start_idx = 3688, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 405, + .key_start_idx = 409, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, @@ -2362,13 +2445,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4126, + .cond_start_idx = 4195, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 438, + .key_start_idx = 442, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, @@ -2386,17 +2469,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4128, + .cond_start_idx = 4197, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 441, + .key_start_idx = 445, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, - .ident_start_idx = 44, + .ident_start_idx = 45, .ident_nums = 1 }, { /* class_tid: 2, , table: control.em_flow_conflict_cache_miss */ @@ -2407,7 +2490,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4134, + .cond_start_idx = 4203, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2422,7 +2505,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4135, + .cond_start_idx = 4204, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -2443,13 +2526,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4379, + .cond_start_idx = 4448, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 445, + .key_start_idx = 449, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, @@ -2467,13 +2550,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 3, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4867, + .cond_start_idx = 4936, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 478, + .key_start_idx = 482, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, @@ -2489,7 +2572,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 4, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4869, + .cond_start_idx = 4938, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2509,7 +2592,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 5, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4871, + .cond_start_idx = 4940, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2523,7 +2606,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4873, + .cond_start_idx = 4942, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -2543,7 +2626,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4877, + .cond_start_idx = 4946, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2557,7 +2640,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4878, + .cond_start_idx = 4947, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -2580,7 +2663,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4878, + .cond_start_idx = 4947, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2593,7 +2676,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2612,7 +2695,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = -28, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2634,7 +2717,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR, @@ -2656,13 +2739,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 482, + .key_start_idx = 486, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, @@ -2680,17 +2763,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 483, + .key_start_idx = 487, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .ident_start_idx = 45, + .ident_start_idx = 46, .ident_nums = 2 }, { /* class_tid: 3, , table: control.prof_func_miss */ @@ -2701,7 +2784,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2716,7 +2799,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -2726,7 +2809,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 47, + .ident_start_idx = 48, .ident_nums = 1 }, { /* class_tid: 3, , table: profile_tcam.prof_func_catch_all */ @@ -2738,7 +2821,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2750,14 +2833,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 484, + .key_start_idx = 488, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 784, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 48, + .ident_start_idx = 49, .ident_nums = 0 }, { /* class_tid: 3, , table: prof_func_cache.ing_wr */ @@ -2770,13 +2853,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 527, + .key_start_idx = 531, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, @@ -2793,7 +2876,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, @@ -2812,7 +2895,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, @@ -2833,7 +2916,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -2856,13 +2939,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 528, + .key_start_idx = 532, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, @@ -2879,7 +2962,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF, @@ -2899,17 +2982,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 529, + .key_start_idx = 533, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 48, + .ident_start_idx = 49, .ident_nums = 0 }, { /* class_tid: 3, , table: control.non_vfr_egr_2 */ @@ -2920,7 +3003,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2935,7 +3018,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4881, + .cond_start_idx = 4950, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -2945,14 +3028,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 530, + .key_start_idx = 534, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 829, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 48, + .ident_start_idx = 49, .ident_nums = 2 }, { /* class_tid: 3, , table: profile_tcam.non_vfr_prof_func_egr_catch_all */ @@ -2964,7 +3047,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4881, + .cond_start_idx = 4950, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2975,14 +3058,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 551, + .key_start_idx = 555, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 835, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 50, + .ident_start_idx = 51, .ident_nums = 0 }, { /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ @@ -2995,13 +3078,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4881, + .cond_start_idx = 4950, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 594, + .key_start_idx = 598, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -3019,17 +3102,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 14, + .cond_start_idx = 16, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 595, + .key_start_idx = 599, .blob_key_bit_size = 16, .key_bit_size = 16, .key_num_fields = 2, - .ident_start_idx = 50, + .ident_start_idx = 51, .ident_nums = 2 }, { /* class_tid: 3, , table: control.default_custom_tunnel */ @@ -3040,7 +3123,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4883, + .cond_start_idx = 4952, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3056,7 +3139,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4884, + .cond_start_idx = 4953, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, @@ -3075,7 +3158,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4885, + .cond_start_idx = 4954, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, @@ -3094,13 +3177,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4886, + .cond_start_idx = 4955, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 597, + .key_start_idx = 601, .blob_key_bit_size = 16, .key_bit_size = 16, .key_num_fields = 2, @@ -3119,17 +3202,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4886, + .cond_start_idx = 4955, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 599, + .key_start_idx = 603, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, - .ident_start_idx = 52, + .ident_start_idx = 53, .ident_nums = 0 }, { /* class_tid: 4, , table: control.prof_tcam_cache.vfr_glb_act_rec_rd.0 */ @@ -3140,7 +3223,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4886, + .cond_start_idx = 4955, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3157,7 +3240,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_MODIFY_PTR, @@ -3180,7 +3263,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, @@ -3202,7 +3285,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF, @@ -3222,7 +3305,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF, @@ -3244,13 +3327,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 602, + .key_start_idx = 606, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, @@ -3268,17 +3351,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 605, + .key_start_idx = 609, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 52, + .ident_start_idx = 53, .ident_nums = 0 }, { /* class_tid: 4, , table: control.vf_2_vfr.0 */ @@ -3289,7 +3372,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3305,17 +3388,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 606, + .key_start_idx = 610, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 52, + .ident_start_idx = 53, .ident_nums = 1 }, { /* class_tid: 4, , table: l2_cntxt_tcam.vf_egr */ @@ -3327,7 +3410,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3337,14 +3420,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 607, + .key_start_idx = 611, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 900, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 53, + .ident_start_idx = 54, .ident_nums = 1 }, { /* class_tid: 4, , table: profile_tcam.prof_func_catch_all */ @@ -3356,7 +3439,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3368,14 +3451,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 628, + .key_start_idx = 632, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 906, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 0 }, { /* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_egr_wr */ @@ -3388,13 +3471,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 671, + .key_start_idx = 675, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -3413,7 +3496,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -3436,17 +3519,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 672, + .key_start_idx = 676, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 0 }, { /* class_tid: 4, , table: control.prof_tcam_cache.vfr.0 */ @@ -3457,7 +3540,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 10, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3474,7 +3557,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_DROP_AREC_PTR, @@ -3496,7 +3579,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3508,14 +3591,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 675, + .key_start_idx = 679, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 953, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 0 }, { /* class_tid: 4, , table: l2_cntxt_tcam.vfr_2_vf_ing.0 */ @@ -3527,7 +3610,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3539,14 +3622,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 696, + .key_start_idx = 700, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 959, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 0 }, { /* class_tid: 4, , table: fkb_select.vfr_em */ @@ -3558,7 +3641,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_0, @@ -3578,7 +3661,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_1, @@ -3598,7 +3681,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3610,7 +3693,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 717, + .key_start_idx = 721, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, @@ -3627,7 +3710,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3639,7 +3722,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 760, + .key_start_idx = 764, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, @@ -3658,13 +3741,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 803, + .key_start_idx = 807, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, @@ -3681,7 +3764,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_SVIF, @@ -3700,12 +3783,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, - .key_start_idx = 806, + .key_start_idx = 810, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 3, @@ -3724,17 +3807,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 809, + .key_start_idx = 813, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 0 }, { /* class_tid: 4, , table: control.0 */ @@ -3745,7 +3828,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3760,7 +3843,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF, @@ -3781,13 +3864,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 810, + .key_start_idx = 814, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -3804,7 +3887,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_SVIF, @@ -3825,7 +3908,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR, @@ -3848,7 +3931,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -3871,7 +3954,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -3892,12 +3975,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, - .key_start_idx = 811, + .key_start_idx = 815, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 2, @@ -3915,17 +3998,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 813, + .key_start_idx = 817, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 1 }, { /* class_tid: 5, , table: prof_func_cache.ing_rd */ @@ -3938,17 +4021,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 814, + .key_start_idx = 818, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .ident_start_idx = 55, + .ident_start_idx = 56, .ident_nums = 1 }, { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ @@ -3961,17 +4044,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 815, + .key_start_idx = 819, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 56, + .ident_start_idx = 57, .ident_nums = 1 }, { /* class_tid: 5, , table: control.ing_0 */ @@ -3982,7 +4065,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3998,7 +4081,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4891, + .cond_start_idx = 4960, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, @@ -4012,11 +4095,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = 1, .func_dst_opr = BNXT_ULP_RF_IDX_CC }, - .key_start_idx = 816, + .key_start_idx = 820, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 57, + .ident_start_idx = 58, .ident_nums = 2 }, { /* class_tid: 5, , table: l2_cntxt_tcam.ing_0 */ @@ -4028,7 +4111,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4892, + .cond_start_idx = 4961, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -4040,14 +4123,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 817, + .key_start_idx = 821, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 1295, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 59, + .ident_start_idx = 60, .ident_nums = 1 }, { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ @@ -4060,13 +4143,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4896, + .cond_start_idx = 4965, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 838, + .key_start_idx = 842, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -4084,18 +4167,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4900, + .cond_start_idx = 4969, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 839, + .key_start_idx = 843, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 60, + .ident_start_idx = 61, .ident_nums = 1 }, { /* class_tid: 6, , table: control.l2_cache_check */ @@ -4106,7 +4189,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4900, + .cond_start_idx = 4969, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -4120,7 +4203,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4901, + .cond_start_idx = 4970, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -4140,7 +4223,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4902, + .cond_start_idx = 4971, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -4162,17 +4245,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4903, + .cond_start_idx = 4972, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 840, + .key_start_idx = 844, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 61, + .ident_start_idx = 62, .ident_nums = 1 }, { /* class_tid: 7, , table: control.flow_chain_group_id */ @@ -4183,7 +4266,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4903, + .cond_start_idx = 4972, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -4199,7 +4282,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4904, + .cond_start_idx = 4973, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, @@ -4218,7 +4301,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4904, + .cond_start_idx = 4973, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -4241,13 +4324,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4904, + .cond_start_idx = 4973, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 841, + .key_start_idx = 845, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, @@ -4265,17 +4348,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4904, + .cond_start_idx = 4973, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 842, + .key_start_idx = 846, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, - .ident_start_idx = 62, + .ident_start_idx = 63, .ident_nums = 0 }, { /* class_tid: 7, , table: control.group_miss_action */ @@ -4286,7 +4369,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4904, + .cond_start_idx = 4973, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -4302,13 +4385,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4905, + .cond_start_idx = 4974, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 844, + .key_start_idx = 848, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, @@ -4326,17 +4409,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4905, + .cond_start_idx = 4974, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 846, + .key_start_idx = 850, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 62, + .ident_start_idx = 63, .ident_nums = 2 }, { /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all */ @@ -4348,7 +4431,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4905, + .cond_start_idx = 4974, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -4366,14 +4449,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 847, + .key_start_idx = 851, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 1310, .result_bit_size = 33, .result_num_fields = 4, - .ident_start_idx = 64, + .ident_start_idx = 65, .ident_nums = 0 }, { /* class_tid: 7, , table: flow_chain_cache.group_check_egr */ @@ -4386,17 +4469,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4906, + .cond_start_idx = 4975, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 890, + .key_start_idx = 894, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 64, + .ident_start_idx = 65, .ident_nums = 1 }, { /* class_tid: 7, , table: control.flow_chain_group_id_egr */ @@ -4407,7 +4490,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4906, + .cond_start_idx = 4975, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -4423,7 +4506,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4907, + .cond_start_idx = 4976, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, @@ -4442,7 +4525,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4907, + .cond_start_idx = 4976, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -4465,13 +4548,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4907, + .cond_start_idx = 4976, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 891, + .key_start_idx = 895, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, @@ -4489,17 +4572,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4907, + .cond_start_idx = 4976, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 892, + .key_start_idx = 896, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, - .ident_start_idx = 65, + .ident_start_idx = 66, .ident_nums = 0 }, { /* class_tid: 7, , table: control.group_miss_action_egr */ @@ -4510,7 +4593,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4907, + .cond_start_idx = 4976, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -4526,13 +4609,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4908, + .cond_start_idx = 4977, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 894, + .key_start_idx = 898, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, @@ -4550,17 +4633,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4908, + .cond_start_idx = 4977, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 896, + .key_start_idx = 900, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 65, + .ident_start_idx = 66, .ident_nums = 2 }, { /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all_egr */ @@ -4572,7 +4655,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4908, + .cond_start_idx = 4977, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -4590,15 +4673,29 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 897, + .key_start_idx = 901, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 1318, .result_bit_size = 33, .result_num_fields = 4, - .ident_start_idx = 67, + .ident_start_idx = 68, .ident_nums = 0 + }, + { /* class_tid: 8, , table: control.reject */ + .description = "control.reject", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "Reject: Thor not supporting hot upgrade template", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4978, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP } }; @@ -4639,58 +4736,70 @@ struct bnxt_ulp_mapper_cond_list_info ulp_thor_class_cond_oper_list[] = { .cond_start_idx = 38, .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.l2_only_check:131*/ + /* cond_execute: class_tid: 1, control.l2_only_check:133*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 131, + .cond_start_idx = 133, .cond_nums = 5 }, - /* cond_execute: class_tid: 1, control.l2_only_check:131*/ + /* cond_execute: class_tid: 1, control.l2_only_check:133*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 136, + .cond_start_idx = 138, .cond_nums = 5 }, - /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:141*/ + /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:143*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 141, + .cond_start_idx = 143, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.l2_only_check:2471*/ + /* cond_execute: class_tid: 1, wm.ingress_generic_template:2535*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2535, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, wm.ingress_generic_template:2535*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 2537, + .cond_nums = 1 + }, + /* cond_execute: class_tid: 2, control.l2_only_check:2539*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2471, + .cond_start_idx = 2539, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.l2_only_check:2471*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2539*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2476, + .cond_start_idx = 2544, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2481*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2549*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2481, + .cond_start_idx = 2549, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2481*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2549*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2486, + .cond_start_idx = 2554, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2491*/ + /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2559*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2491, + .cond_start_idx = 2559, .cond_nums = 2 }, - /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4881*/ + /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4950*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 4881, + .cond_start_idx = 4950, .cond_nums = 2 } }; @@ -5296,12 +5405,21 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.check_f1_flow:130*/ + /* cond_execute: class_tid: 1, control.update_default_l2_context:130*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_O_DMAC + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + /* cond_execute: class_tid: 1, control.check_f1_flow:132*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 }, - /* cond_execute: class_tid: 1, control.l2_only_check:131*/ + /* cond_execute: class_tid: 1, control.l2_only_check:133*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5322,7 +5440,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* cond_execute: class_tid: 1, control.l2_only_check:131*/ + /* cond_execute: class_tid: 1, control.l2_only_check:133*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5343,7 +5461,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:141*/ + /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:143*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -5364,7 +5482,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, control.terminating_flow:146*/ + /* field_cond: class_tid: 1, control.terminating_flow:148*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5377,7 +5495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, control.terminating_flow:149*/ + /* field_cond: class_tid: 1, control.terminating_flow:151*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5390,7 +5508,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, control.terminating_flow:152*/ + /* field_cond: class_tid: 1, control.terminating_flow:154*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5399,7 +5517,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, control.terminating_flow:154*/ + /* field_cond: class_tid: 1, control.terminating_flow:156*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5408,12 +5526,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, control.terminating_flow:156*/ + /* field_cond: class_tid: 1, control.terminating_flow:158*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, proto_header_cache.rd:157*/ + /* field_cond: class_tid: 1, proto_header_cache.rd:159*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -5422,12 +5540,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.proto_header_cache_miss:159*/ + /* cond_execute: class_tid: 1, control.proto_header_cache_miss:161*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:160*/ + /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:162*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -5436,22 +5554,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.overlap_miss:162*/ + /* cond_execute: class_tid: 1, control.overlap_miss:164*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, group_miss_action_cache.rd:163*/ + /* cond_execute: class_tid: 1, group_miss_action_cache.rd:165*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, group_miss_action_cache.rd:164*/ + /* field_cond: class_tid: 1, group_miss_action_cache.rd:166*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:165*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:167*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5460,7 +5578,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:167*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:169*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -5473,12 +5591,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:170*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:172*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:171*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:173*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5495,7 +5613,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:175*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:177*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5512,7 +5630,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:179*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:181*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5533,7 +5651,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:184*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:186*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5554,7 +5672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:189*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:191*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5575,7 +5693,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:194*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:196*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5596,7 +5714,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:199*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:201*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5613,12 +5731,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:203*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:205*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:204*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:206*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5635,7 +5753,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:208*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:210*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5652,7 +5770,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:212*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:214*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5669,7 +5787,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:216*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:218*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5686,7 +5804,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:220*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:222*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5703,7 +5821,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:224*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:226*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5720,7 +5838,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:228*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:230*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5737,7 +5855,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:232*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:234*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5754,7 +5872,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:236*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:238*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5771,7 +5889,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:240*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5788,7 +5906,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:244*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:246*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5805,7 +5923,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:248*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:250*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5826,7 +5944,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:253*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:255*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5843,7 +5961,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:257*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:259*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5856,7 +5974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:260*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:262*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5869,7 +5987,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:263*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:265*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:268*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:271*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5886,7 +6030,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:267*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:275*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5899,7 +6043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:270*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:278*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5916,7 +6060,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:274*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:282*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5929,7 +6073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:277*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:285*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5950,7 +6094,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:282*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:290*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5967,7 +6111,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:286*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:294*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5988,7 +6132,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:291*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:299*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -6009,7 +6153,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:296*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:304*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6026,7 +6170,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:300*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:308*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6043,7 +6187,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:304*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:312*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6064,7 +6208,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:309*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:317*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6081,7 +6225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:313*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:321*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6102,7 +6246,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:318*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:326*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6123,7 +6267,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:323*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:331*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6140,7 +6284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:327*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:335*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6157,7 +6301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:331*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:339*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6178,7 +6322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:336*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:344*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6199,7 +6343,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:341*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:349*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6216,7 +6360,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:345*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:353*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6233,7 +6377,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:349*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:357*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6254,7 +6398,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:354*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:362*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6275,7 +6419,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:359*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:367*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6292,7 +6436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:363*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:371*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6309,7 +6453,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:367*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:375*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6330,7 +6474,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:372*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:380*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6351,7 +6495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:377*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:385*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6368,7 +6512,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:381*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:389*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6385,7 +6529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:385*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:393*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6406,7 +6550,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:390*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:398*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6427,7 +6571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:395*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:403*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6444,7 +6588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:399*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:407*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6461,7 +6605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:403*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:411*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -6470,7 +6614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:405*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:413*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -6483,12 +6627,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:408*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:416*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:409*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:417*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -6501,7 +6645,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:412*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:420*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -6510,7 +6654,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:414*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:422*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -6523,12 +6667,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:417*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:425*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:418*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:426*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -6541,12 +6685,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* cond_execute: class_tid: 1, wm.ingress_generic_template_grp_catch_all:421*/ + /* cond_execute: class_tid: 1, wm.ingress_generic_template_grp_catch_all:429*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:422*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:430*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6555,7 +6699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:424*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:432*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6564,7 +6708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:426*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:434*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -6577,7 +6721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:429*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:437*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -6590,17 +6734,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:432*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:440*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:433*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:441*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:434*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:442*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6617,7 +6761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:438*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:446*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6634,7 +6778,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:442*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:450*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6651,7 +6795,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:446*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:454*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6668,7 +6812,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:450*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:458*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6689,7 +6833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:455*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:463*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6710,7 +6854,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:460*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:468*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6731,7 +6875,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:465*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:473*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6752,7 +6896,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:470*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:478*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6773,7 +6917,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:475*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:483*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6794,7 +6938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:480*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:488*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6815,7 +6959,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:485*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:493*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6836,7 +6980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:490*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:498*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6853,7 +6997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:494*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:502*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6870,7 +7014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:498*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:506*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6887,12 +7031,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:502*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:510*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:503*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:511*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6909,12 +7053,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:507*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:515*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:508*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:516*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6931,7 +7075,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:512*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:520*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6948,7 +7092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:516*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:524*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6965,7 +7109,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:520*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:528*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6982,7 +7126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:524*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:532*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6999,7 +7143,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:528*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:536*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7016,7 +7160,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:532*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:540*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7033,7 +7177,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:536*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:544*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7050,7 +7194,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:540*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:548*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7067,7 +7211,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:544*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:552*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7084,7 +7228,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:548*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:556*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7101,7 +7245,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:552*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:560*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7118,7 +7262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:556*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:564*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7135,7 +7279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:560*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:568*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7152,7 +7296,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:564*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:572*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7169,7 +7313,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:568*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:576*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7186,7 +7330,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:572*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:580*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7203,7 +7347,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:576*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:584*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7220,7 +7364,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:580*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:588*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7237,7 +7381,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:584*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:592*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7254,7 +7398,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:588*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:596*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7275,7 +7419,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:593*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:601*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7292,7 +7436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:597*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:605*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7313,7 +7457,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:602*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:610*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7330,7 +7474,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:606*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:614*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7343,7 +7487,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:609*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:617*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7356,7 +7500,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:612*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:620*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:623*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7369,7 +7526,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:615*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:626*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7382,7 +7539,46 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:618*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:629*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:632*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:635*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:638*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7399,7 +7595,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:622*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:642*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7412,7 +7608,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:625*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:645*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7429,7 +7625,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:629*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:649*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7442,7 +7638,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:632*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:652*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7459,7 +7655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:636*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:656*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7472,7 +7668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:639*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:659*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7489,7 +7685,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:643*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:663*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7502,7 +7698,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:646*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:666*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7523,7 +7719,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:651*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:671*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7540,7 +7736,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:655*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:675*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7561,7 +7757,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:660*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:680*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7578,7 +7774,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:664*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:684*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7599,7 +7795,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:669*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:689*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7620,7 +7816,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:674*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:694*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7637,7 +7833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:678*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7654,7 +7850,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:682*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:702*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7675,7 +7871,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:687*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:707*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7696,7 +7892,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:692*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:712*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7713,7 +7909,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:696*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:716*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7730,7 +7926,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:700*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:720*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7751,7 +7947,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:705*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:725*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7768,7 +7964,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:709*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:729*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7789,7 +7985,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:714*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:734*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7806,7 +8002,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:718*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:738*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7823,7 +8019,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:722*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:742*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7836,7 +8032,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:725*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:745*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7853,7 +8049,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:729*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:749*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7866,7 +8062,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:732*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:752*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7883,7 +8079,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:736*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:756*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7896,7 +8092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:739*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:759*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7913,7 +8109,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:743*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:763*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7926,7 +8122,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:746*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:766*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7943,7 +8139,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:750*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:770*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7956,7 +8152,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:753*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:773*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7973,7 +8169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:757*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:777*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7986,7 +8182,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:760*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:780*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8003,7 +8199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:764*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:784*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8016,7 +8212,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:767*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:787*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8033,7 +8229,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:771*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:791*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8046,7 +8242,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:774*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:794*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8063,7 +8259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:778*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:798*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8080,7 +8276,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:782*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:802*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8093,7 +8289,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:785*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:805*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8106,7 +8302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:788*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:808*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8123,7 +8319,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:792*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:812*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8140,7 +8336,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:796*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:816*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8153,7 +8349,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:799*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:819*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8166,7 +8362,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:802*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:822*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8179,7 +8375,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:805*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:825*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8192,7 +8388,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:808*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:828*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8201,7 +8397,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:810*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:830*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8210,7 +8406,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:812*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:832*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8227,7 +8423,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:816*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:836*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8244,7 +8440,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:820*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:840*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8257,7 +8453,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:823*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:843*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8270,7 +8466,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:826*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:846*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8283,7 +8479,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:829*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:849*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8296,7 +8492,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:832*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:852*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8305,7 +8501,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:834*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:854*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8314,7 +8510,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:836*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:856*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8331,7 +8527,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:840*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:860*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8348,7 +8544,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:844*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:864*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8361,7 +8557,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:847*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:867*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8374,7 +8570,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:850*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:870*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8391,7 +8587,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:854*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:874*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8408,7 +8604,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:858*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:878*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8421,7 +8617,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:861*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:881*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8434,7 +8630,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:864*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:884*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8451,7 +8647,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:868*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:888*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8468,7 +8664,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:872*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:892*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8481,7 +8677,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:875*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:895*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8494,7 +8690,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:878*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8511,7 +8707,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:882*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:902*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8528,7 +8724,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:886*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:906*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8541,7 +8737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:889*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:909*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8554,7 +8750,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:892*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:912*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8563,7 +8759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:894*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:914*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8580,7 +8776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:898*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:918*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8597,7 +8793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:902*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:922*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8610,7 +8806,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:905*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:925*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8623,7 +8819,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:908*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:928*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8632,7 +8828,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:910*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:930*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8649,7 +8845,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:914*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:934*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8666,7 +8862,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:918*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:938*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8679,7 +8875,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:921*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:941*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8692,7 +8888,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:924*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:944*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8701,7 +8897,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:926*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:946*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8718,7 +8914,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:930*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:950*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8735,7 +8931,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:934*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:954*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8748,7 +8944,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:937*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:957*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8761,7 +8957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:940*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:960*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8770,7 +8966,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:942*/ + /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:962*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -8779,12 +8975,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:944*/ + /* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:964*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:945*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:965*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8793,7 +8989,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:947*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:967*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8802,7 +8998,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:949*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:969*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8811,7 +9007,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:951*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:971*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8820,7 +9016,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:953*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:973*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8829,7 +9025,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:955*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:975*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8838,7 +9034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:957*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:977*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8847,7 +9043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:959*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:979*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8856,7 +9052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:961*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:981*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8865,7 +9061,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:963*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:983*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8874,7 +9070,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:965*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:985*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8883,7 +9079,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:967*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:987*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8892,7 +9088,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:969*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:989*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8901,7 +9097,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:971*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:991*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8910,7 +9106,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:973*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:993*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8919,7 +9115,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:975*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:995*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8928,7 +9124,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:977*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:997*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8937,7 +9133,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:979*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:999*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8946,7 +9142,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:981*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1001*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8955,7 +9151,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:983*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1003*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8964,7 +9160,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:985*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1005*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8973,7 +9169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:987*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1007*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8982,7 +9178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:989*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1009*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8991,7 +9187,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:991*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1011*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9000,7 +9196,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:993*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1013*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9009,7 +9205,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:995*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1015*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9018,7 +9214,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:997*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1017*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9027,7 +9223,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:999*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1019*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9036,7 +9232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1001*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1021*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9045,7 +9241,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1003*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1023*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9054,7 +9250,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1005*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1025*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9063,7 +9259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1007*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1027*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9072,7 +9268,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1009*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1029*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9081,7 +9277,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1011*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1031*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9090,7 +9286,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1013*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1033*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9099,7 +9295,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1015*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1035*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9108,7 +9304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1017*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1037*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9117,7 +9313,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1019*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1039*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9126,7 +9322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1021*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1041*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9135,7 +9331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1023*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1043*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9144,7 +9340,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1025*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1045*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9153,7 +9349,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1027*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1047*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9162,7 +9358,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1029*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1049*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9171,7 +9367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1031*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1051*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9180,7 +9376,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1033*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1053*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1055*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9189,7 +9394,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1035*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1057*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9198,7 +9403,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1037*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1059*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9207,7 +9412,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1039*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1061*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9216,7 +9421,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1041*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1063*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9225,7 +9430,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1043*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1065*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9234,7 +9439,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1045*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1067*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9243,7 +9448,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1047*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1069*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9252,7 +9457,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1049*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1071*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9261,7 +9466,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1051*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1073*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9270,7 +9475,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1053*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1075*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9279,7 +9484,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1055*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1077*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9288,7 +9493,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1057*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1079*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9297,7 +9502,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1059*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1081*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9306,7 +9511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1061*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1083*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9315,7 +9520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1063*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1085*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9324,7 +9529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1065*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1087*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9333,7 +9538,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1067*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1089*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9342,7 +9547,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1069*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1091*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9351,7 +9556,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1071*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1093*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9360,7 +9565,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1073*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1095*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9369,7 +9574,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1075*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1097*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9378,7 +9583,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1077*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1099*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9387,7 +9592,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1079*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1101*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9396,7 +9601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1081*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1103*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9409,7 +9614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1084*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1106*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9422,7 +9627,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1087*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9435,7 +9640,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1090*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1112*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9448,17 +9653,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1093*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1115*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1094*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1116*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1095*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1117*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9467,7 +9672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1097*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1119*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9476,7 +9681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1099*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1121*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9485,7 +9690,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1101*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1123*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9494,7 +9699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1103*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1125*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9503,7 +9708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1105*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1127*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9512,7 +9717,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1107*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1129*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1131*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1133*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1135*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1137*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9521,7 +9762,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1109*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1139*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9530,7 +9771,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1111*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1141*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9539,7 +9780,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1113*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1143*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9548,7 +9789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1115*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1145*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9557,7 +9798,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1117*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1147*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9566,7 +9807,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1119*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1149*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1151*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9575,7 +9825,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1121*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1153*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9584,7 +9834,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1123*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1155*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9593,7 +9843,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1125*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1157*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9602,7 +9852,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1127*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1159*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9611,7 +9861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1129*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1161*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9620,22 +9870,31 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1131*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1163*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1165*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1132*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1166*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1133*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1167*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1134*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1168*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9644,7 +9903,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1136*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1170*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9653,7 +9912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1138*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1172*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9662,7 +9921,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1140*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1174*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9671,7 +9930,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1142*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1176*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9680,7 +9939,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1144*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1178*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9689,7 +9948,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1146*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1180*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9698,7 +9957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1148*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1182*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9707,7 +9966,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1150*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1184*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9716,7 +9975,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1152*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1186*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9725,7 +9984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1154*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1188*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9734,7 +9993,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1156*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1190*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9743,7 +10002,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1158*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1192*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9752,7 +10011,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1160*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1194*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9761,12 +10020,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1162*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1196*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1163*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1197*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9775,7 +10034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1165*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1199*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9784,12 +10043,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1167*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1201*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1168*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1202*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9798,7 +10057,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1170*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1204*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9807,7 +10066,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1172*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1206*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9816,7 +10075,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1174*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1208*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9825,7 +10084,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1176*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1210*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9834,7 +10093,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1178*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1212*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9843,7 +10102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1180*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1214*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9852,7 +10111,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1182*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1216*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9861,7 +10120,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1184*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1218*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9870,7 +10129,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1186*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1220*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9879,7 +10138,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1188*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1222*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9888,7 +10147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1190*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1224*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9897,7 +10156,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1192*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1226*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9910,7 +10169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1195*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1229*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9923,17 +10182,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1198*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1232*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1199*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1233*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1200*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1234*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9942,7 +10201,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1202*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1236*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9951,7 +10210,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1204*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1238*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -9960,16 +10219,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1240*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1207*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1208*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9978,7 +10237,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1210*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1244*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9987,7 +10246,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1212*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -10000,7 +10259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1215*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1249*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -10009,26 +10268,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1251*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1218*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1252*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1219*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1253*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1220*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1254*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1221*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1255*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10045,7 +10305,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1225*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1259*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10062,7 +10322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1229*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1263*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10079,7 +10339,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1233*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1267*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10096,7 +10356,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1237*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1271*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10117,7 +10377,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1242*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1276*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10138,7 +10398,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1247*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1281*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10159,7 +10419,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1252*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1286*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10180,7 +10440,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1257*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1291*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10201,7 +10461,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1262*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1296*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10222,7 +10482,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1267*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1301*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -10243,7 +10503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1272*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1306*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -10264,7 +10524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1277*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1311*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10281,7 +10541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1281*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1315*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10298,7 +10558,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1285*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1319*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10315,12 +10575,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1289*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1323*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1290*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1324*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10337,12 +10597,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1294*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1328*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1295*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1329*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10359,7 +10619,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1299*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1333*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10376,7 +10636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1303*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1337*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10393,7 +10653,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1307*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1341*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10410,7 +10670,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1311*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1345*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10427,7 +10687,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1315*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1349*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10444,7 +10704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1319*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1353*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10461,7 +10721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1323*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1357*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10478,7 +10738,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1327*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1361*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10495,7 +10755,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1331*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1365*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10512,7 +10772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1335*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1369*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10529,7 +10789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1339*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1373*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10546,7 +10806,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1343*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1377*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10563,7 +10823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1347*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1381*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10580,7 +10840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1351*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1385*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10597,7 +10857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1355*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1389*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10614,7 +10874,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1359*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1393*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10631,7 +10891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1363*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1397*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10648,7 +10908,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1367*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1401*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10665,7 +10925,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1371*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1405*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10682,7 +10942,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1375*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1409*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10703,7 +10963,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1380*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1414*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10720,7 +10980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1384*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1418*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10741,7 +11001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1389*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1423*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10758,7 +11018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1393*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1427*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10771,7 +11031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1396*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1430*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10784,7 +11044,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1399*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1433*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1436*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10797,7 +11070,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1402*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1439*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10810,7 +11083,46 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1405*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1442*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1445*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1448*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1451*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10827,7 +11139,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1409*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1455*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10840,7 +11152,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1412*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1458*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10857,7 +11169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1416*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1462*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10870,7 +11182,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1419*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1465*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10887,7 +11199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1423*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1469*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10900,7 +11212,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1426*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1472*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10917,7 +11229,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1430*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1476*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10930,7 +11242,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1433*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1479*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10951,7 +11263,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1438*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1484*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10968,7 +11280,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1442*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1488*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10989,7 +11301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1447*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1493*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11006,7 +11318,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1451*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1497*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11027,7 +11339,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1456*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1502*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11048,7 +11360,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1461*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1507*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11065,7 +11377,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1465*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1511*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11082,7 +11394,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1469*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1515*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11103,7 +11415,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1474*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1520*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11124,7 +11436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1479*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1525*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11141,7 +11453,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1483*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1529*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11158,7 +11470,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1487*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1533*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11179,7 +11491,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1492*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1538*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11196,7 +11508,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1496*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1542*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11217,7 +11529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1501*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1547*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11234,7 +11546,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1505*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1551*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11251,7 +11563,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1509*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1555*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11264,7 +11576,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1512*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1558*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11281,7 +11593,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1516*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1562*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11294,7 +11606,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1519*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1565*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11311,7 +11623,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1523*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1569*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11324,7 +11636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1526*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1572*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11341,7 +11653,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1530*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1576*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11354,7 +11666,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1533*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1579*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11371,7 +11683,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1537*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1583*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11384,7 +11696,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1540*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1586*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11401,7 +11713,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1544*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1590*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11414,7 +11726,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1547*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1593*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11431,7 +11743,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1551*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1597*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11444,7 +11756,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1554*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1600*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11461,7 +11773,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1558*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1604*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11474,7 +11786,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1561*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1607*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11491,7 +11803,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1565*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1611*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11508,7 +11820,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1569*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1615*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11521,7 +11833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1572*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1618*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11534,7 +11846,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1575*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1621*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11551,7 +11863,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1579*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1625*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11568,7 +11880,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1583*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1629*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11581,7 +11893,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1586*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1632*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11594,7 +11906,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1589*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1635*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11611,7 +11923,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1593*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1639*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11628,7 +11940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1597*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1643*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11641,7 +11953,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1600*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1646*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11654,7 +11966,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1603*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1649*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11671,7 +11983,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1607*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1653*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11688,7 +12000,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1611*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1657*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11701,7 +12013,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1614*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1660*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11714,7 +12026,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1617*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1663*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11731,7 +12043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1621*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1667*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11748,7 +12060,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1625*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1671*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11761,7 +12073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1628*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1674*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11774,7 +12086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1631*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1677*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11791,7 +12103,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1635*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1681*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11808,7 +12120,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1639*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1685*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11821,7 +12133,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1642*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1688*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11834,7 +12146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1645*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1691*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11851,7 +12163,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1649*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1695*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11868,7 +12180,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1653*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1699*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11881,7 +12193,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1656*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1702*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11894,7 +12206,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1659*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1705*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11903,7 +12215,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1661*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1707*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11920,7 +12232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1665*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1711*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11937,7 +12249,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1669*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1715*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11950,7 +12262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1672*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1718*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11963,7 +12275,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1675*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1721*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11972,7 +12284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1677*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1723*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11989,7 +12301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1681*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1727*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12006,7 +12318,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1685*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1731*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12019,7 +12331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1688*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1734*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12032,7 +12344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1691*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1737*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12041,7 +12353,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1693*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1739*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12058,7 +12370,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1697*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1743*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12075,7 +12387,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1701*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1747*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12088,7 +12400,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1704*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1750*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12101,7 +12413,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1707*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1753*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12110,7 +12422,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, proto_header_cache.wr:1709*/ + /* cond_execute: class_tid: 1, control.outer_present_mode_2:1755*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + /* field_cond: class_tid: 1, proto_header_cache.wr:1756*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -12119,7 +12436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1711*/ + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1758*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -12136,7 +12453,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1715*/ + /* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1762*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -12145,12 +12462,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1717*/ + /* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1764*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1718*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1765*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12159,7 +12476,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1720*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1767*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -12168,12 +12485,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1722*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1769*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1723*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1770*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12194,7 +12511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1728*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1775*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12211,7 +12528,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1732*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1779*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12232,7 +12549,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1737*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1784*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12253,7 +12570,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1742*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1789*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12274,7 +12591,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1747*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1794*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12295,7 +12612,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1752*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1799*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12312,7 +12629,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1756*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1803*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12329,7 +12646,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1760*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1807*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12346,7 +12663,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1764*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1811*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12363,7 +12680,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1768*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1815*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12380,7 +12697,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1772*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1819*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12397,7 +12714,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1776*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1823*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12414,7 +12731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1780*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1827*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12431,7 +12748,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1784*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1831*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12448,7 +12765,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1788*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1835*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12465,7 +12782,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1792*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1839*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12482,7 +12799,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1796*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1843*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12499,7 +12816,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1800*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1847*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12520,7 +12837,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1805*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1852*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12537,7 +12854,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1809*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1856*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12550,7 +12867,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1812*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1859*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12563,7 +12880,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1815*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1862*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1865*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1868*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12584,7 +12927,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1820*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1873*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12601,7 +12944,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1824*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1877*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12618,7 +12961,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1828*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1881*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12631,7 +12974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1831*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1884*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12652,7 +12995,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1836*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1889*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12669,7 +13012,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1840*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1893*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12690,7 +13033,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1845*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12711,7 +13054,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1850*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1903*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12728,7 +13071,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1854*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1907*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12745,7 +13088,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1858*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1911*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12766,7 +13109,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1863*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1916*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12783,7 +13126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1867*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1920*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12800,7 +13143,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1871*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1924*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12817,7 +13160,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1875*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1928*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12830,7 +13173,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1878*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1931*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12843,7 +13186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1881*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1934*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12860,7 +13203,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1885*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1938*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12877,7 +13220,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1889*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1942*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12890,7 +13233,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1892*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1945*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12903,7 +13246,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1895*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1948*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12920,7 +13263,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1899*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1952*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12937,7 +13280,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1903*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1956*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12950,7 +13293,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1906*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1959*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12963,7 +13306,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1909*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1962*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12980,7 +13323,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1913*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1966*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12997,7 +13340,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1917*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1970*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13010,7 +13353,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1920*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1973*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13023,7 +13366,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1923*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1976*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13040,7 +13383,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1927*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1980*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13057,7 +13400,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1931*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1984*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13070,7 +13413,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1934*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1987*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13083,7 +13426,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1937*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1990*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13100,7 +13443,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1941*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1994*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13117,7 +13460,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1945*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1998*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13130,7 +13473,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1948*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:2001*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13143,7 +13486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1951*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:2004*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13160,7 +13503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1955*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:2008*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13177,7 +13520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1959*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:2012*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13190,7 +13533,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1962*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:2015*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13203,7 +13546,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1965*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2018*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13212,7 +13555,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1967*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2020*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13221,7 +13564,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1969*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2022*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13230,7 +13573,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1971*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2024*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13239,17 +13582,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1973*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2026*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1974*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2027*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1975*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2028*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13270,7 +13613,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1980*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2033*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13291,7 +13634,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1985*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2038*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13308,7 +13651,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1989*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2042*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13325,7 +13668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1993*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2046*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13346,7 +13689,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1998*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2051*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13367,7 +13710,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2003*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2056*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13388,7 +13731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2008*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2061*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13409,7 +13752,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2013*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2066*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13430,7 +13773,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2018*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2071*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13451,7 +13794,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2023*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2076*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -13472,7 +13815,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2028*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2081*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -13493,7 +13836,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2033*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2086*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13510,7 +13853,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2037*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2090*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13527,7 +13870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2041*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2094*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13544,7 +13887,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2045*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2098*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13561,7 +13904,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2049*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2102*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13578,7 +13921,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2053*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2106*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13595,7 +13938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2057*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2110*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13612,7 +13955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2061*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2114*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13629,7 +13972,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2065*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2118*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13646,7 +13989,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2069*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2122*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13663,7 +14006,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2073*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2126*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13680,7 +14023,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2077*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2130*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13697,7 +14040,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2081*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2134*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13714,7 +14057,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2085*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2138*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13731,7 +14074,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2089*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2142*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13748,7 +14091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2093*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2146*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13765,7 +14108,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2097*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2150*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13782,7 +14125,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2101*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2154*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13799,7 +14142,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2105*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2158*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13816,7 +14159,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2109*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2162*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13833,7 +14176,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2113*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2166*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13850,7 +14193,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2117*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2170*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13867,7 +14210,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2121*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2174*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13884,7 +14227,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2125*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2178*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13901,7 +14244,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2129*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2182*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13922,7 +14265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2134*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2187*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13939,7 +14282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2138*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2191*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13960,7 +14303,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2143*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2196*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13977,7 +14320,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2147*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2200*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13990,7 +14333,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:2150*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2203*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14003,7 +14346,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:2153*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2206*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2209*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14016,7 +14372,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:2156*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2212*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14029,7 +14385,46 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:2159*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2215*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2218*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2221*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2224*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14050,7 +14445,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2164*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2229*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14067,7 +14462,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2168*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2233*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14088,7 +14483,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2173*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2238*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14105,7 +14500,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2177*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14122,7 +14517,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2181*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14135,7 +14530,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2184*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2249*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14152,7 +14547,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2188*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2253*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14165,7 +14560,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2191*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2256*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14186,7 +14581,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2196*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2261*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14203,7 +14598,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2200*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2265*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14224,7 +14619,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2205*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2270*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14241,7 +14636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2209*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2274*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14262,7 +14657,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2214*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2279*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14283,7 +14678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2219*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2284*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14300,7 +14695,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2223*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2288*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14317,7 +14712,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2227*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2292*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14338,7 +14733,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2232*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2297*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14359,7 +14754,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2237*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2302*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14376,7 +14771,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2241*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2306*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14393,7 +14788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2245*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2310*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14414,7 +14809,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2250*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2315*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14431,7 +14826,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2254*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2319*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14452,7 +14847,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2259*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2324*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14469,7 +14864,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2263*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2328*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14486,7 +14881,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2267*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2332*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14499,7 +14894,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2270*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2335*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14516,7 +14911,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2274*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2339*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14529,7 +14924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2277*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2342*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14546,7 +14941,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2281*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2346*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14559,7 +14954,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2284*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2349*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14576,7 +14971,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2288*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2353*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14589,7 +14984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2291*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2356*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14606,7 +15001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2295*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2360*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14619,7 +15014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2298*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2363*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14636,7 +15031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2302*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2367*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14649,7 +15044,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2305*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2370*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14666,7 +15061,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2309*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2374*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14679,7 +15074,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2312*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2377*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14696,7 +15091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2316*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2381*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14709,7 +15104,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2319*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2384*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14726,7 +15121,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2323*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2388*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14743,7 +15138,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2327*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2392*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14756,7 +15151,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2330*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2395*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14769,7 +15164,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2333*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2398*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14786,7 +15181,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2337*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2402*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14803,7 +15198,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2341*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2406*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14816,7 +15211,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2344*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2409*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14829,7 +15224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2347*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2412*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14846,7 +15241,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2351*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2416*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14863,7 +15258,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2355*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2420*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14876,7 +15271,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2358*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2423*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14889,7 +15284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2361*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2426*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14906,7 +15301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2365*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2430*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14923,7 +15318,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2369*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2434*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14936,7 +15331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2372*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2437*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14949,7 +15344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2375*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2440*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14966,7 +15361,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2379*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2444*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14983,7 +15378,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2383*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2448*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14996,7 +15391,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2386*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2451*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15009,7 +15404,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2389*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2454*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15026,7 +15421,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2393*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2458*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15043,7 +15438,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2397*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2462*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15056,7 +15451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2400*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2465*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15069,7 +15464,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2403*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2468*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15086,7 +15481,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2407*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2472*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15103,7 +15498,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2411*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2476*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15116,7 +15511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2414*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2479*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15129,7 +15524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2417*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2482*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15146,7 +15541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2421*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2486*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15163,7 +15558,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2425*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2490*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15176,7 +15571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2428*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2493*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15189,7 +15584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2431*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2496*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15206,7 +15601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2435*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2500*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15223,7 +15618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2439*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2504*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15236,7 +15631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2442*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2507*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15249,7 +15644,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2445*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2510*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15266,7 +15661,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2449*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2514*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15283,7 +15678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2453*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2518*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15296,7 +15691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2456*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2521*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15309,7 +15704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2459*/ + /* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2524*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -15318,7 +15713,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.field_sig_validation:2461*/ + /* cond_execute: class_tid: 1, control.field_sig_validation:2526*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_CC @@ -15327,7 +15722,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID }, - /* cond_execute: class_tid: 1, control.outer_loop_add_check:2463*/ + /* cond_execute: class_tid: 1, control.outer_loop_add_check:2528*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15336,7 +15731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD }, - /* cond_execute: class_tid: 1, em.ingress_generic_template:2465*/ + /* cond_execute: class_tid: 1, em.ingress_generic_template:2530*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -15353,17 +15748,31 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, control.em_add_check:2469*/ + /* cond_execute: class_tid: 1, control.em_add_check:2534*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL }, - /* cond_execute: class_tid: 1, control.outer_loop_check:2470*/ + /* cond_execute: class_tid: 1, wm.ingress_generic_template:2535*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD + }, + /* cond_execute: class_tid: 1, wm.ingress_generic_template:2535*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + /* cond_execute: class_tid: 1, control.outer_loop_check:2538*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.l2_only_check:2471*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2539*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15384,7 +15793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* cond_execute: class_tid: 2, control.l2_only_check:2471*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2539*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15405,7 +15814,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2481*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2549*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -15426,7 +15835,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2481*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2549*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -15447,7 +15856,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2491*/ + /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2559*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -15456,7 +15865,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* cond_execute: class_tid: 2, control.multi_tunnel_check:2493*/ + /* cond_execute: class_tid: 2, control.multi_tunnel_check:2561*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY @@ -15465,7 +15874,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2495*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2563*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15474,7 +15883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2497*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2565*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15483,7 +15892,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2499*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2567*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15492,7 +15901,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2501*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2569*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15501,7 +15910,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2503*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2571*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15510,7 +15919,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2505*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2573*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15519,7 +15928,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2507*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2575*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15528,7 +15937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2509*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2577*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15537,7 +15946,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2511*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2579*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15546,7 +15955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2513*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2581*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15555,7 +15964,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2515*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2583*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15564,7 +15973,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2517*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2585*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15573,7 +15982,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2519*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2587*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -15582,7 +15991,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2521*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2589*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -15591,12 +16000,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* cond_execute: class_tid: 2, control.multi_flow_cache_check:2523*/ + /* cond_execute: class_tid: 2, control.multi_flow_cache_check:2591*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2524*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2592*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15605,7 +16014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2526*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2594*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15614,7 +16023,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2528*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2596*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15623,7 +16032,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2530*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2598*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15632,7 +16041,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2532*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2600*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15641,7 +16050,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2534*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2602*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15650,7 +16059,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2536*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2604*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15659,7 +16068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2538*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2606*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15668,7 +16077,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2540*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2608*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15677,7 +16086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2542*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2610*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15686,7 +16095,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2544*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2612*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15695,7 +16104,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2546*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2614*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15704,7 +16113,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2548*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2616*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -15713,7 +16122,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2550*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2618*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -15722,7 +16131,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, control.terminating_flow:2552*/ + /* field_cond: class_tid: 2, control.terminating_flow:2620*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15731,7 +16140,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, control.terminating_flow:2554*/ + /* field_cond: class_tid: 2, control.terminating_flow:2622*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15740,7 +16149,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, control.terminating_flow:2556*/ + /* field_cond: class_tid: 2, control.terminating_flow:2624*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15749,7 +16158,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, control.terminating_flow:2558*/ + /* field_cond: class_tid: 2, control.terminating_flow:2626*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15758,17 +16167,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* cond_execute: class_tid: 2, control.group_id_check:2560*/ + /* cond_execute: class_tid: 2, control.group_id_check:2628*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* cond_execute: class_tid: 2, control.flow_chain_group_id:2561*/ + /* cond_execute: class_tid: 2, control.flow_chain_group_id:2629*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, proto_header_cache.rd:2562*/ + /* field_cond: class_tid: 2, proto_header_cache.rd:2630*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -15777,12 +16186,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.proto_header_cache_miss:2564*/ + /* cond_execute: class_tid: 2, control.proto_header_cache_miss:2632*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2565*/ + /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2633*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -15791,22 +16200,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.overlap_miss:2567*/ + /* cond_execute: class_tid: 2, control.overlap_miss:2635*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 2, group_miss_action_cache.rd:2568*/ + /* cond_execute: class_tid: 2, group_miss_action_cache.rd:2636*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, group_miss_action_cache.rd:2569*/ + /* field_cond: class_tid: 2, group_miss_action_cache.rd:2637*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2570*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2638*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15815,7 +16224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2572*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2640*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -15828,12 +16237,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2575*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2643*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2576*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2644*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15850,7 +16259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2580*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2648*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15867,7 +16276,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2584*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2652*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -15880,7 +16289,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2587*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2655*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15901,7 +16310,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2592*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2660*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15922,7 +16331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2597*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2665*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15943,7 +16352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2602*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2670*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -15964,7 +16373,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2607*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2675*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15981,12 +16390,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2611*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2679*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2612*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2680*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16003,7 +16412,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2616*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2684*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16020,7 +16429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2620*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2688*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16037,7 +16446,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2624*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2692*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16054,7 +16463,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2628*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2696*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16071,7 +16480,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2632*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2700*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16088,7 +16497,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2636*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2704*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16105,7 +16514,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2640*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2708*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16122,7 +16531,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2644*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2712*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16139,7 +16548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2648*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2716*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16156,7 +16565,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2652*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2720*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16173,7 +16582,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2656*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2724*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16194,7 +16603,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2661*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2729*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16211,7 +16620,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2665*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2733*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16224,7 +16633,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2668*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2736*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16237,7 +16646,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2671*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2739*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16254,7 +16663,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2675*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2743*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16267,7 +16676,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2678*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2746*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16284,7 +16693,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2682*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2750*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16297,7 +16706,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2685*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2753*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16318,7 +16727,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2690*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2758*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16335,7 +16744,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2694*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2762*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16356,7 +16765,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2699*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2767*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16377,7 +16786,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2704*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2772*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16394,7 +16803,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2708*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2776*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16411,7 +16820,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2712*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2780*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16432,7 +16841,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2717*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2785*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16449,7 +16858,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2721*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2789*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16470,7 +16879,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2726*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2794*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16491,7 +16900,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2731*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2799*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16508,7 +16917,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2735*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2803*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16525,7 +16934,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2739*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2807*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16546,7 +16955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2744*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2812*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16567,7 +16976,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2749*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2817*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16584,7 +16993,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2753*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2821*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16601,7 +17010,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2757*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2825*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16622,7 +17031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2762*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2830*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16643,7 +17052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2767*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2835*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16660,7 +17069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2771*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2839*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16677,7 +17086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2775*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2843*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16698,7 +17107,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2780*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2848*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16719,7 +17128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2785*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2853*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16736,7 +17145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2789*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2857*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16753,7 +17162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2793*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2861*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16774,7 +17183,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2798*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2866*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16795,7 +17204,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2803*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2871*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16812,7 +17221,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2807*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2875*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16829,7 +17238,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2811*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2879*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16838,7 +17247,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2813*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2881*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -16851,12 +17260,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2816*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2884*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2817*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2885*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -16869,7 +17278,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2820*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2888*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16878,7 +17287,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2822*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2890*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -16891,12 +17300,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2825*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2893*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2826*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2894*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -16909,12 +17318,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* cond_execute: class_tid: 2, wm.egress_generic_template_grp_catch_all:2829*/ + /* cond_execute: class_tid: 2, wm.egress_generic_template_grp_catch_all:2897*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2830*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16923,7 +17332,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2832*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2900*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16932,7 +17341,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2834*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2902*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -16945,7 +17354,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2837*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2905*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -16958,17 +17367,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2840*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2908*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2841*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2909*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2842*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2910*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16985,7 +17394,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2846*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2914*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17002,7 +17411,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2850*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2918*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17019,7 +17428,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2854*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2922*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -17032,7 +17441,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2857*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2925*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17049,7 +17458,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2861*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2929*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -17062,7 +17471,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2864*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2932*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17083,7 +17492,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2869*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2937*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17104,7 +17513,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2874*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2942*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17125,7 +17534,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2879*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2947*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17146,7 +17555,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2884*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2952*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17167,7 +17576,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2889*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2957*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17188,7 +17597,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2894*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2962*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17209,7 +17618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2899*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2967*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17230,7 +17639,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2904*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2972*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17247,7 +17656,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2908*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2976*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17264,7 +17673,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2912*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2980*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17281,12 +17690,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2916*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2984*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2917*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2985*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17303,12 +17712,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2921*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2989*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2922*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2990*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17325,7 +17734,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2926*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2994*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17342,7 +17751,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2930*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2998*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17359,7 +17768,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2934*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3002*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17376,7 +17785,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2938*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3006*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17393,7 +17802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2942*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3010*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17410,7 +17819,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2946*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3014*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17427,7 +17836,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2950*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3018*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17444,7 +17853,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2954*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3022*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17461,7 +17870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2958*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3026*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17478,7 +17887,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2962*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3030*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17495,7 +17904,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2966*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3034*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17512,7 +17921,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2970*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3038*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17529,7 +17938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2974*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3042*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17546,7 +17955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2978*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3046*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17563,7 +17972,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2982*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3050*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17580,7 +17989,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2986*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3054*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17597,7 +18006,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2990*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3058*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17614,7 +18023,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2994*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3062*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17631,7 +18040,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2998*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3066*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17648,7 +18057,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3002*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3070*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17669,7 +18078,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3007*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3075*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17686,7 +18095,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3011*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3079*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17707,7 +18116,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3016*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3084*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17724,7 +18133,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3020*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3088*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17737,7 +18146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3023*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3091*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17750,7 +18159,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3026*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3094*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17763,7 +18172,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3029*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3097*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17776,7 +18185,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3032*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3100*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17793,7 +18202,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3036*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3104*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17806,7 +18215,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3039*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3107*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17823,7 +18232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3043*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3111*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17836,7 +18245,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3046*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3114*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17853,7 +18262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3050*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3118*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17866,7 +18275,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3053*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3121*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17883,7 +18292,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3057*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3125*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17896,7 +18305,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3060*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3128*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17917,7 +18326,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3065*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3133*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17934,7 +18343,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3069*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3137*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17955,7 +18364,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3074*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3142*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17972,7 +18381,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3078*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3146*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17993,7 +18402,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3083*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3151*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18014,7 +18423,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3088*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3156*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18031,7 +18440,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3092*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3160*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18048,7 +18457,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3096*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3164*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18069,7 +18478,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3101*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3169*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18090,7 +18499,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3106*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3174*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18107,7 +18516,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3110*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3178*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18124,7 +18533,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3114*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3182*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -18145,7 +18554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3119*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3187*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -18162,7 +18571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3123*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3191*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -18183,7 +18592,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3128*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3196*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -18200,7 +18609,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3132*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3200*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18217,7 +18626,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3136*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3204*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18230,7 +18639,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3139*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3207*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18247,7 +18656,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3143*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3211*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18260,7 +18669,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3146*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3214*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18277,7 +18686,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3150*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3218*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18290,7 +18699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3153*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3221*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18307,7 +18716,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3157*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3225*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18320,7 +18729,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3160*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3228*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18337,7 +18746,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3164*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3232*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18350,7 +18759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3167*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3235*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18367,7 +18776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3171*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3239*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18380,7 +18789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3174*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18397,7 +18806,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3178*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18410,7 +18819,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3181*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3249*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18427,7 +18836,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3185*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3253*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18440,7 +18849,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3188*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3256*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18457,7 +18866,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3192*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3260*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18474,7 +18883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3196*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3264*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18487,7 +18896,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3199*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3267*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18500,7 +18909,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3202*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3270*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18517,7 +18926,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3206*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3274*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18534,7 +18943,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3210*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3278*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18547,7 +18956,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3213*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3281*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18560,7 +18969,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3216*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3284*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18573,7 +18982,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3219*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3287*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18586,7 +18995,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3222*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3290*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18595,7 +19004,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3224*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3292*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18604,7 +19013,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3226*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3294*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18621,7 +19030,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3230*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3298*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18638,7 +19047,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3234*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3302*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18651,7 +19060,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3237*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3305*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18664,7 +19073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3240*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3308*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18677,7 +19086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3243*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3311*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18690,7 +19099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3246*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3314*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18699,7 +19108,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3248*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3316*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18708,7 +19117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3250*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3318*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18725,7 +19134,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3254*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3322*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18742,7 +19151,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3258*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3326*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18755,7 +19164,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3261*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3329*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18768,7 +19177,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3264*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3332*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18785,7 +19194,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3268*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3336*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18802,7 +19211,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3272*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3340*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18815,7 +19224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3275*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3343*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18828,7 +19237,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3278*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3346*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18845,7 +19254,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3282*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3350*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18862,7 +19271,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3286*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3354*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18875,7 +19284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3289*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3357*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18888,7 +19297,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3292*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3360*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18905,7 +19314,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3296*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3364*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18922,7 +19331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3300*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3368*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18935,7 +19344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3303*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3371*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18948,7 +19357,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3306*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3374*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18957,7 +19366,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3308*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3376*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18974,7 +19383,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3312*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3380*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18991,7 +19400,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3316*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3384*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19004,7 +19413,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3319*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3387*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19017,7 +19426,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3322*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3390*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19026,7 +19435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3324*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3392*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19043,7 +19452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3328*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3396*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19060,7 +19469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3332*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3400*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19073,7 +19482,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3335*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3403*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19086,7 +19495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3338*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3406*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19095,7 +19504,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3340*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3408*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19112,7 +19521,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3344*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3412*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19129,7 +19538,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3348*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3416*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19142,7 +19551,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3351*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3419*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19155,7 +19564,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3354*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3422*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19164,7 +19573,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:3356*/ + /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:3424*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -19173,12 +19582,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:3358*/ + /* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:3426*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3359*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3427*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19187,7 +19596,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3361*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3429*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19196,7 +19605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3363*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3431*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19205,7 +19614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3365*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3433*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19214,7 +19623,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3367*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3435*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19223,7 +19632,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3369*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3437*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19232,7 +19641,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3371*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3439*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19241,7 +19650,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3373*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3441*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19250,7 +19659,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3375*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3443*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19259,7 +19668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3377*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3445*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19268,7 +19677,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3379*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3447*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19277,7 +19686,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3381*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3449*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19286,7 +19695,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3383*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3451*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19295,7 +19704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3385*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3453*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19304,7 +19713,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3387*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3455*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19313,7 +19722,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3389*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3457*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19322,7 +19731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3391*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3459*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19331,7 +19740,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3393*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3461*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19340,7 +19749,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3395*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3463*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19349,7 +19758,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3397*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3465*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19358,7 +19767,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3399*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3467*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19367,7 +19776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3401*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3469*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19376,7 +19785,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3403*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3471*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19385,7 +19794,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3405*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3473*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19394,7 +19803,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3407*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3475*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19403,7 +19812,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3409*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3477*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19412,7 +19821,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3411*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3479*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19421,7 +19830,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3413*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3481*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19430,7 +19839,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3415*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3483*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19439,7 +19848,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3417*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3485*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19448,7 +19857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3419*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3487*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19457,7 +19866,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3421*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3489*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19466,7 +19875,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3423*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3491*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19475,7 +19884,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3425*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3493*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19484,7 +19893,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3427*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3495*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19493,7 +19902,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3429*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3497*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19502,7 +19911,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3431*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3499*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19511,7 +19920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3433*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3501*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19520,7 +19929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3435*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3503*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19529,7 +19938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3437*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3505*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19538,7 +19947,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3439*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3507*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19547,7 +19956,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3441*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3509*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19556,7 +19965,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3443*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3511*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19565,7 +19974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3445*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3513*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19574,7 +19983,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3447*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3515*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19583,7 +19992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3449*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3517*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19592,7 +20001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3451*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3519*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19601,7 +20010,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3453*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3521*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19610,7 +20019,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3455*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3523*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19619,7 +20028,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3457*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3525*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19628,7 +20037,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3459*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3527*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19637,7 +20046,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3461*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3529*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19646,7 +20055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3463*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3531*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19655,7 +20064,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3465*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3533*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19664,7 +20073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3467*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3535*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19673,7 +20082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3469*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3537*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19682,7 +20091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3471*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3539*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19691,7 +20100,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3473*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3541*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19700,7 +20109,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3475*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3543*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19709,7 +20118,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3477*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3545*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19718,7 +20127,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3479*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3547*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19727,7 +20136,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3481*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3549*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19736,7 +20145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3483*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3551*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19745,7 +20154,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3485*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3553*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19754,7 +20163,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3487*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3555*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19763,7 +20172,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3489*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3557*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19772,7 +20181,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3491*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3559*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19781,7 +20190,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3493*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3561*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19790,7 +20199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3495*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3563*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19803,7 +20212,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3498*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3566*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19816,7 +20225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3501*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3569*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19829,7 +20238,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3504*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3572*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19842,17 +20251,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3507*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3575*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3508*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3576*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3509*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3577*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19861,7 +20270,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3511*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3579*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19870,7 +20279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3513*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3581*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19879,7 +20288,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3515*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3583*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19888,7 +20297,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3517*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3585*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19897,7 +20306,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3519*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3587*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19906,7 +20315,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3521*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3589*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19915,7 +20324,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3523*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3591*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19924,7 +20333,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3525*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3593*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19933,7 +20342,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3527*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3595*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19942,7 +20351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3529*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3597*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19951,7 +20360,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3531*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3599*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19960,7 +20369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3533*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3601*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19969,7 +20378,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3535*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3603*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19978,7 +20387,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3537*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3605*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19987,7 +20396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3539*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3607*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19996,7 +20405,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3541*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3609*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20005,7 +20414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3543*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3611*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20014,22 +20423,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3545*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3613*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3546*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3614*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3547*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3615*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3548*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3616*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20038,7 +20447,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3550*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3618*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20047,7 +20456,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3552*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3620*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20056,7 +20465,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3554*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3622*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20065,7 +20474,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3556*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3624*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20074,7 +20483,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3558*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3626*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20083,7 +20492,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3560*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3628*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20092,7 +20501,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3562*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3630*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20101,7 +20510,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3564*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3632*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20110,7 +20519,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3566*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3634*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20119,7 +20528,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3568*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3636*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20128,7 +20537,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3570*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3638*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20137,7 +20546,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3572*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3640*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20146,7 +20555,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3574*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3642*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20155,12 +20564,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3576*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3644*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3577*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3645*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20169,7 +20578,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3579*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3647*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20178,12 +20587,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3581*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3649*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3582*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3650*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20192,7 +20601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3584*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3652*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20201,7 +20610,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3586*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3654*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20210,7 +20619,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3588*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3656*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20219,7 +20628,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3590*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3658*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20228,7 +20637,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3592*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3660*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20237,7 +20646,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3594*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3662*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20246,7 +20655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3596*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3664*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20255,7 +20664,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3598*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3666*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20264,7 +20673,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3600*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3668*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20273,7 +20682,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3602*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3670*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20282,7 +20691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3604*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3672*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20291,7 +20700,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3606*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3674*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20304,7 +20713,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3609*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3677*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20317,17 +20726,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3612*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3680*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3613*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3681*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3614*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3682*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20336,7 +20745,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3616*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3684*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -20345,12 +20754,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3618*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3686*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET + }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3619*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3688*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20359,7 +20772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3621*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3690*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20368,7 +20781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3623*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3692*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -20381,7 +20794,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3626*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3695*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -20390,26 +20803,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3697*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3629*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3630*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3699*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3631*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3700*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3632*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3701*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20426,7 +20840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3636*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3705*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20443,7 +20857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3640*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3709*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20460,7 +20874,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3644*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3713*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -20473,7 +20887,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3647*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3716*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20490,7 +20904,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3651*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3720*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -20503,7 +20917,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3654*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3723*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20524,7 +20938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3659*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3728*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20545,7 +20959,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3664*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3733*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20566,7 +20980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3669*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3738*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20587,7 +21001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3674*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3743*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20608,7 +21022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3679*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3748*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20629,7 +21043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3684*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3753*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -20650,7 +21064,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3689*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3758*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -20671,7 +21085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3694*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3763*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20688,7 +21102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3698*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3767*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20705,7 +21119,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3702*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3771*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20722,12 +21136,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3706*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3775*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3707*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3776*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20744,12 +21158,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3711*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3780*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3712*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3781*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20766,7 +21180,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3716*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3785*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20783,7 +21197,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3720*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3789*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20800,7 +21214,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3724*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3793*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20817,7 +21231,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3728*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3797*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20834,7 +21248,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3732*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3801*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20851,7 +21265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3736*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3805*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20868,7 +21282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3740*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3809*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20885,7 +21299,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3744*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3813*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20902,7 +21316,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3748*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3817*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20919,7 +21333,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3752*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3821*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20936,7 +21350,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3756*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3825*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20953,7 +21367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3760*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3829*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20970,7 +21384,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3764*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3833*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20987,7 +21401,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3768*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3837*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21004,7 +21418,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3772*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3841*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21021,7 +21435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3776*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3845*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21038,7 +21452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3780*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3849*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21055,7 +21469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3784*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3853*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21072,7 +21486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3788*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3857*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21089,7 +21503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3792*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3861*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21110,7 +21524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3797*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3866*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21127,7 +21541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3801*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3870*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21148,7 +21562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3806*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3875*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21165,7 +21579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3810*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3879*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21178,7 +21592,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3813*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3882*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21191,7 +21605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3816*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3885*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21204,7 +21618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3819*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3888*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21217,7 +21631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3822*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3891*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21234,7 +21648,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3826*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3895*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21247,7 +21661,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3829*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21264,7 +21678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3833*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3902*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21277,7 +21691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3836*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3905*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21294,7 +21708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3840*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3909*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21307,7 +21721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3843*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3912*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21324,7 +21738,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3847*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3916*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21337,7 +21751,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3850*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3919*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21358,7 +21772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3855*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3924*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21375,7 +21789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3859*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3928*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21396,7 +21810,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3864*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3933*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21413,7 +21827,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3868*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3937*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21434,7 +21848,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3873*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3942*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21455,7 +21869,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3878*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3947*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21472,7 +21886,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3882*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3951*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21489,7 +21903,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3886*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3955*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21510,7 +21924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3891*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3960*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21531,7 +21945,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3896*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3965*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21548,7 +21962,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3900*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3969*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21565,7 +21979,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3904*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3973*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21586,7 +22000,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3909*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3978*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21603,7 +22017,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3913*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3982*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21624,7 +22038,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3918*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3987*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21641,7 +22055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3922*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3991*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21658,7 +22072,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3926*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3995*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21671,7 +22085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3929*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3998*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21688,7 +22102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3933*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4002*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21701,7 +22115,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3936*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4005*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21718,7 +22132,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3940*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4009*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21731,7 +22145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3943*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4012*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21748,7 +22162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3947*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4016*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21761,7 +22175,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3950*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4019*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21778,7 +22192,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3954*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4023*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21791,7 +22205,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3957*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4026*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21808,7 +22222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3961*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4030*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21821,7 +22235,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3964*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4033*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21838,7 +22252,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3968*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4037*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21851,7 +22265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3971*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4040*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21868,7 +22282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3975*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4044*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21881,7 +22295,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3978*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4047*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21898,7 +22312,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3982*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4051*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21915,7 +22329,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3986*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4055*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21928,7 +22342,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3989*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4058*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21941,7 +22355,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3992*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4061*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21958,7 +22372,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3996*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4065*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21975,7 +22389,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4000*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4069*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21988,7 +22402,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4003*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4072*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22001,7 +22415,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4006*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4075*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22018,7 +22432,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4010*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4079*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22035,7 +22449,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4014*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4083*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22048,7 +22462,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4017*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4086*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22061,7 +22475,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4020*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4089*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22078,7 +22492,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4024*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4093*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22095,7 +22509,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4028*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4097*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22108,7 +22522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4031*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4100*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22121,7 +22535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4034*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4103*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22138,7 +22552,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4038*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4107*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22155,7 +22569,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4042*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4111*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22168,7 +22582,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4045*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4114*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22181,7 +22595,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4048*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4117*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22198,7 +22612,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4052*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4121*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22215,7 +22629,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4056*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4125*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22228,7 +22642,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4059*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4128*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22241,7 +22655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4062*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4131*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22258,7 +22672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4066*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4135*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22275,7 +22689,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4070*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4139*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22288,7 +22702,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4073*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4142*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22301,7 +22715,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4076*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4145*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22310,7 +22724,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4078*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4147*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22327,7 +22741,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4082*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4151*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22344,7 +22758,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4086*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4155*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22357,7 +22771,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4089*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4158*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22370,7 +22784,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4092*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4161*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22379,7 +22793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4094*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4163*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22396,7 +22810,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4098*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4167*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22413,7 +22827,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4102*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4171*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22426,7 +22840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4105*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4174*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22439,7 +22853,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4108*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4177*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22448,7 +22862,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4110*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4179*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22465,7 +22879,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4114*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4183*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22482,7 +22896,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4118*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4187*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22495,7 +22909,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4121*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4190*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22508,7 +22922,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4124*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4193*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22517,7 +22931,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, proto_header_cache.wr:4126*/ + /* field_cond: class_tid: 2, proto_header_cache.wr:4195*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -22526,7 +22940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:4128*/ + /* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:4197*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -22543,7 +22957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, em_flow_conflict_cache.rd:4132*/ + /* field_cond: class_tid: 2, em_flow_conflict_cache.rd:4201*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -22552,12 +22966,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:4134*/ + /* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:4203*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4135*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4204*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22566,7 +22980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4137*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4206*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -22575,12 +22989,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4139*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4208*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4140*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4209*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22597,7 +23011,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4144*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4213*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22614,7 +23028,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4148*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4217*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22635,7 +23049,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4153*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4222*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22656,7 +23070,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4158*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4227*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22677,7 +23091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4163*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4232*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -22698,7 +23112,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4168*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4237*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22715,7 +23129,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4172*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4241*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22732,7 +23146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4176*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4245*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22749,7 +23163,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4180*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4249*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22766,7 +23180,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4184*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4253*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22783,7 +23197,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4188*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4257*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22800,7 +23214,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4192*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4261*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22817,7 +23231,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4196*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4265*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22834,7 +23248,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4200*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4269*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22851,7 +23265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4204*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4273*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22868,7 +23282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4208*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4277*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22885,7 +23299,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4212*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4281*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22902,7 +23316,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4216*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4285*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22923,7 +23337,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4221*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4290*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22940,7 +23354,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4225*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4294*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22953,7 +23367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4228*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4297*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22966,7 +23380,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4231*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4300*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22983,7 +23397,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4235*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4304*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22996,7 +23410,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4238*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4307*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23013,7 +23427,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4242*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4311*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23026,7 +23440,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4245*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4314*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23047,7 +23461,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4250*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4319*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23064,7 +23478,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4254*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4323*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23085,7 +23499,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4259*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4328*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23106,7 +23520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4264*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4333*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23123,7 +23537,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4268*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4337*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23140,7 +23554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4272*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4341*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -23161,7 +23575,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4277*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4346*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -23178,7 +23592,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4281*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4350*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23195,7 +23609,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4285*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4354*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23212,7 +23626,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4289*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4358*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23225,7 +23639,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4292*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4361*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23238,7 +23652,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4295*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4364*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23255,7 +23669,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4299*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4368*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23272,7 +23686,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4303*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4372*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23285,7 +23699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4306*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4375*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23298,7 +23712,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4309*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4378*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23315,7 +23729,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4313*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4382*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23332,7 +23746,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4317*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4386*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23345,7 +23759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4320*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4389*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23358,7 +23772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4323*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4392*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23375,7 +23789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4327*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4396*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23392,7 +23806,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4331*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4400*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23405,7 +23819,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4334*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4403*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23418,7 +23832,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4337*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4406*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23435,7 +23849,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4341*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4410*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23452,7 +23866,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4345*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4414*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23465,7 +23879,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4348*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4417*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23478,7 +23892,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4351*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4420*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23495,7 +23909,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4355*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4424*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23512,7 +23926,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4359*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4428*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23525,7 +23939,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4362*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4431*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23538,7 +23952,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4365*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4434*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23555,7 +23969,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4369*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4438*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23572,7 +23986,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4373*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4442*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23585,7 +23999,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4376*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4445*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23598,7 +24012,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4379*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4448*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23607,7 +24021,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4381*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4450*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23616,7 +24030,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4383*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4452*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -23625,7 +24039,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:4385*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4454*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -23634,17 +24048,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:4387*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4456*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4388*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4457*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4389*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4458*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23661,7 +24075,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4393*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4462*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23678,7 +24092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4397*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4466*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23695,7 +24109,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4401*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4470*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23712,7 +24126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4405*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4474*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23733,7 +24147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4410*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4479*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23754,7 +24168,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4415*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4484*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23775,7 +24189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4420*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4489*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23796,7 +24210,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4425*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4494*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23817,7 +24231,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4430*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4499*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23838,7 +24252,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4435*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4504*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -23859,7 +24273,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4440*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4509*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -23880,7 +24294,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4445*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4514*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23897,7 +24311,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4449*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4518*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23914,7 +24328,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4453*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4522*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23931,7 +24345,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4457*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4526*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23948,7 +24362,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4461*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4530*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23965,7 +24379,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4465*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4534*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23982,7 +24396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4469*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4538*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23999,7 +24413,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4473*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4542*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24016,7 +24430,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4477*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4546*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24033,7 +24447,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4481*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4550*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24050,7 +24464,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4485*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4554*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24067,7 +24481,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4489*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4558*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24084,7 +24498,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4493*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4562*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24101,7 +24515,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4497*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4566*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24118,7 +24532,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4501*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4570*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24135,7 +24549,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4505*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4574*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24152,7 +24566,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4509*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4578*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24169,7 +24583,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4513*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4582*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24186,7 +24600,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4517*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4586*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24203,7 +24617,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4521*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4590*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24220,7 +24634,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4525*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4594*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24237,7 +24651,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4529*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4598*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24254,7 +24668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4533*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4602*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24271,7 +24685,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4537*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4606*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24288,7 +24702,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4541*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4610*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24309,7 +24723,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4546*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4615*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24326,7 +24740,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4550*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4619*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24347,7 +24761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4555*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4624*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24364,7 +24778,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4559*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4628*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24377,7 +24791,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:4562*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4631*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24390,7 +24804,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:4565*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4634*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24403,7 +24817,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:4568*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4637*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24416,7 +24830,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:4571*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4640*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24433,7 +24847,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4575*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4644*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24446,7 +24860,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4578*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4647*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24463,7 +24877,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4582*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4651*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24476,7 +24890,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4585*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4654*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24493,7 +24907,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4589*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4658*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24506,7 +24920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4592*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4661*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24523,7 +24937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4596*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4665*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24536,7 +24950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4599*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4668*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24557,7 +24971,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4604*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4673*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24574,7 +24988,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4608*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4677*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24595,7 +25009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4613*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4682*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24612,7 +25026,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4617*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4686*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24633,7 +25047,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4622*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4691*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24654,7 +25068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4627*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4696*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24671,7 +25085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4631*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4700*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24688,7 +25102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4635*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4704*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24709,7 +25123,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4640*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4709*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24730,7 +25144,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4645*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4714*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24747,7 +25161,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4649*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4718*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24764,7 +25178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4653*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4722*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -24785,7 +25199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4658*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4727*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -24802,7 +25216,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4662*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4731*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -24823,7 +25237,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4667*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4736*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -24840,7 +25254,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4671*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4740*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24857,7 +25271,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4675*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4744*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24870,7 +25284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4678*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4747*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24887,7 +25301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4682*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4751*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24900,7 +25314,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4685*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4754*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24917,7 +25331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4689*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4758*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24930,7 +25344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4692*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4761*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24947,7 +25361,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4696*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4765*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24960,7 +25374,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4699*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4768*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24977,7 +25391,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4703*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4772*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24990,7 +25404,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4706*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4775*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25007,7 +25421,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4710*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4779*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25020,7 +25434,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4713*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4782*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25037,7 +25451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4717*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4786*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25050,7 +25464,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4720*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4789*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25067,7 +25481,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4724*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4793*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25080,7 +25494,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4727*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4796*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25097,7 +25511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4731*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4800*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25114,7 +25528,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4735*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4804*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25127,7 +25541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4738*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4807*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25140,7 +25554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4741*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4810*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25157,7 +25571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4745*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4814*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25174,7 +25588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4749*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4818*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25187,7 +25601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4752*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4821*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25200,7 +25614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4755*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4824*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25217,7 +25631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4759*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4828*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25234,7 +25648,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4763*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4832*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25247,7 +25661,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4766*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4835*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25260,7 +25674,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4769*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4838*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25277,7 +25691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4773*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4842*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25294,7 +25708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4777*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4846*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25307,7 +25721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4780*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4849*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25320,7 +25734,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4783*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4852*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25337,7 +25751,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4787*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4856*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25354,7 +25768,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4791*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4860*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25367,7 +25781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4794*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4863*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25380,7 +25794,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4797*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4866*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25397,7 +25811,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4801*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4870*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25414,7 +25828,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4805*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4874*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25427,7 +25841,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4808*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4877*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25440,7 +25854,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4811*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4880*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25457,7 +25871,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4815*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4884*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25474,7 +25888,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4819*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4888*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25487,7 +25901,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4822*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4891*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25500,7 +25914,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4825*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4894*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25517,7 +25931,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4829*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25534,7 +25948,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4833*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4902*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25547,7 +25961,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4836*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4905*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25560,7 +25974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4839*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4908*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25577,7 +25991,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4843*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4912*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25594,7 +26008,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4847*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4916*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25607,7 +26021,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4850*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4919*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25620,7 +26034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4853*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4922*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25637,7 +26051,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4857*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4926*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25654,7 +26068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4861*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4930*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25667,7 +26081,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4864*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4933*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25680,7 +26094,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4867*/ + /* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4936*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -25689,7 +26103,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.field_sig_validation:4869*/ + /* cond_execute: class_tid: 2, control.field_sig_validation:4938*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_CC @@ -25698,7 +26112,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID }, - /* cond_execute: class_tid: 2, control.outer_loop_add_check:4871*/ + /* cond_execute: class_tid: 2, control.outer_loop_add_check:4940*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25707,7 +26121,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD }, - /* cond_execute: class_tid: 2, em.egress_generic_template:4873*/ + /* cond_execute: class_tid: 2, em.egress_generic_template:4942*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -25724,27 +26138,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.em_add_check:4877*/ + /* cond_execute: class_tid: 2, control.em_add_check:4946*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL }, - /* cond_execute: class_tid: 2, control.outer_loop_check:4878*/ + /* cond_execute: class_tid: 2, control.outer_loop_check:4947*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 3, control.prof_func_miss:4879*/ + /* cond_execute: class_tid: 3, control.prof_func_miss:4948*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, control.non_vfr_egr_2:4880*/ + /* cond_execute: class_tid: 3, control.non_vfr_egr_2:4949*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4881*/ + /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4950*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT @@ -25753,52 +26167,52 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT }, - /* cond_execute: class_tid: 3, control.default_custom_tunnel:4883*/ + /* cond_execute: class_tid: 3, control.default_custom_tunnel:4952*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_port:4884*/ + /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_port:4953*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT }, - /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_ip_port:4885*/ + /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_ip_port:4954*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT }, - /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr_glb_act_rec_rd.0:4886*/ + /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr_glb_act_rec_rd.0:4955*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 4, control.vf_2_vfr.0:4887*/ + /* cond_execute: class_tid: 4, control.vf_2_vfr.0:4956*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr.0:4888*/ + /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr.0:4957*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 4, control.0:4889*/ + /* cond_execute: class_tid: 4, control.0:4958*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 5, control.ing_0:4890*/ + /* cond_execute: class_tid: 5, control.ing_0:4959*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 5, l2_cntxt_tcam_cache.ing_rd_sock:4891*/ + /* cond_execute: class_tid: 5, l2_cntxt_tcam_cache.ing_rd_sock:4960*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT }, - /* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4892*/ + /* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4961*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT @@ -25807,7 +26221,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4894*/ + /* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4963*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT @@ -25816,7 +26230,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4896*/ + /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4965*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT @@ -25825,7 +26239,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4898*/ + /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4967*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT @@ -25834,47 +26248,47 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: class_tid: 6, control.l2_cache_check:4900*/ + /* cond_execute: class_tid: 6, control.l2_cache_check:4969*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 6, control.l2_cache_cnt_check:4901*/ + /* cond_execute: class_tid: 6, control.l2_cache_cnt_check:4970*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: class_tid: 7, control.direction_check:4902*/ + /* cond_execute: class_tid: 7, control.direction_check:4971*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: class_tid: 7, control.flow_chain_group_id:4903*/ + /* cond_execute: class_tid: 7, control.flow_chain_group_id:4972*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 7, control.group_miss_action:4904*/ + /* cond_execute: class_tid: 7, control.group_miss_action:4973*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all:4905*/ + /* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all:4974*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: class_tid: 7, control.flow_chain_group_id_egr:4906*/ + /* cond_execute: class_tid: 7, control.flow_chain_group_id_egr:4975*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 7, control.group_miss_action_egr:4907*/ + /* cond_execute: class_tid: 7, control.group_miss_action_egr:4976*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all_egr:4908*/ + /* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all_egr:4977*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC @@ -26013,6 +26427,27 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} } }, + /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ { .field_info_mask = { @@ -28472,8 +28907,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (157 >> 8) & 0xff, - 157 & 0xff, + (159 >> 8) & 0xff, + 159 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -28544,8 +28979,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (160 >> 8) & 0xff, - 160 & 0xff, + (162 >> 8) & 0xff, + 162 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -28640,8 +29075,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (164 >> 8) & 0xff, - 164 & 0xff, + (166 >> 8) & 0xff, + 166 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CF, @@ -28678,8 +29113,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (422 >> 8) & 0xff, - 422 & 0xff, + (430 >> 8) & 0xff, + 430 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28691,8 +29126,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (424 >> 8) & 0xff, - 424 & 0xff, + (432 >> 8) & 0xff, + 432 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28706,8 +29141,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (426 >> 8) & 0xff, - 426 & 0xff, + (434 >> 8) & 0xff, + 434 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28719,8 +29154,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (429 >> 8) & 0xff, - 429 & 0xff, + (437 >> 8) & 0xff, + 437 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28734,8 +29169,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (432 >> 8) & 0xff, - 432 & 0xff, + (440 >> 8) & 0xff, + 440 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28747,8 +29182,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (433 >> 8) & 0xff, - 433 & 0xff, + (441 >> 8) & 0xff, + 441 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28762,8 +29197,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (434 >> 8) & 0xff, - 434 & 0xff, + (442 >> 8) & 0xff, + 442 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28775,8 +29210,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (438 >> 8) & 0xff, - 438 & 0xff, + (446 >> 8) & 0xff, + 446 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28790,8 +29225,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (442 >> 8) & 0xff, - 442 & 0xff, + (450 >> 8) & 0xff, + 450 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28803,8 +29238,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (446 >> 8) & 0xff, - 446 & 0xff, + (454 >> 8) & 0xff, + 454 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28818,8 +29253,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (450 >> 8) & 0xff, - 450 & 0xff, + (458 >> 8) & 0xff, + 458 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28831,8 +29266,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (455 >> 8) & 0xff, - 455 & 0xff, + (463 >> 8) & 0xff, + 463 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28846,15 +29281,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (460 >> 8) & 0xff, - 460 & 0xff, + (468 >> 8) & 0xff, + 468 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (48 >> 8) & 0xff, - 48 & 0xff} + (49 >> 8) & 0xff, + 49 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -28862,15 +29297,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (470 >> 8) & 0xff, - 470 & 0xff, + (478 >> 8) & 0xff, + 478 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (49 >> 8) & 0xff, - 49 & 0xff} + (50 >> 8) & 0xff, + 50 & 0xff} } }, { @@ -28880,8 +29315,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (480 >> 8) & 0xff, - 480 & 0xff, + (488 >> 8) & 0xff, + 488 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28893,8 +29328,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (485 >> 8) & 0xff, - 485 & 0xff, + (493 >> 8) & 0xff, + 493 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28908,8 +29343,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (490 >> 8) & 0xff, - 490 & 0xff, + (498 >> 8) & 0xff, + 498 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28921,8 +29356,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (494 >> 8) & 0xff, - 494 & 0xff, + (502 >> 8) & 0xff, + 502 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28936,14 +29371,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (498 >> 8) & 0xff, - 498 & 0xff, + (506 >> 8) & 0xff, + 506 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (50 >> 8) & 0xff, - 50 & 0xff}, + (51 >> 8) & 0xff, + 51 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -28952,14 +29387,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (503 >> 8) & 0xff, - 503 & 0xff, + (511 >> 8) & 0xff, + 511 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (51 >> 8) & 0xff, - 51 & 0xff}, + (52 >> 8) & 0xff, + 52 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -28970,8 +29405,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (508 >> 8) & 0xff, - 508 & 0xff, + (516 >> 8) & 0xff, + 516 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28983,8 +29418,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (512 >> 8) & 0xff, - 512 & 0xff, + (520 >> 8) & 0xff, + 520 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28998,8 +29433,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (516 >> 8) & 0xff, - 516 & 0xff, + (524 >> 8) & 0xff, + 524 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -29011,8 +29446,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (520 >> 8) & 0xff, - 520 & 0xff, + (528 >> 8) & 0xff, + 528 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -29026,15 +29461,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (524 >> 8) & 0xff, - 524 & 0xff, + (532 >> 8) & 0xff, + 532 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (52 >> 8) & 0xff, - 52 & 0xff} + (53 >> 8) & 0xff, + 53 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -29042,15 +29477,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (532 >> 8) & 0xff, - 532 & 0xff, + (540 >> 8) & 0xff, + 540 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (53 >> 8) & 0xff, - 53 & 0xff} + (54 >> 8) & 0xff, + 54 & 0xff} } }, { @@ -29060,15 +29495,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (540 >> 8) & 0xff, - 540 & 0xff, + (548 >> 8) & 0xff, + 548 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (54 >> 8) & 0xff, - 54 & 0xff} + (55 >> 8) & 0xff, + 55 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -29076,15 +29511,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (548 >> 8) & 0xff, - 548 & 0xff, + (556 >> 8) & 0xff, + 556 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (55 >> 8) & 0xff, - 55 & 0xff} + (56 >> 8) & 0xff, + 56 & 0xff} } }, { @@ -29094,15 +29529,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (556 >> 8) & 0xff, - 556 & 0xff, + (564 >> 8) & 0xff, + 564 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (56 >> 8) & 0xff, - 56 & 0xff} + (57 >> 8) & 0xff, + 57 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -29110,15 +29545,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (564 >> 8) & 0xff, - 564 & 0xff, + (572 >> 8) & 0xff, + 572 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (57 >> 8) & 0xff, - 57 & 0xff} + (58 >> 8) & 0xff, + 58 & 0xff} } }, { @@ -29128,15 +29563,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (572 >> 8) & 0xff, - 572 & 0xff, + (580 >> 8) & 0xff, + 580 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (58 >> 8) & 0xff, - 58 & 0xff} + (59 >> 8) & 0xff, + 59 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -29144,15 +29579,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (580 >> 8) & 0xff, - 580 & 0xff, + (588 >> 8) & 0xff, + 588 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (59 >> 8) & 0xff, - 59 & 0xff} + (60 >> 8) & 0xff, + 60 & 0xff} } }, { @@ -29162,15 +29597,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (588 >> 8) & 0xff, - 588 & 0xff, + (596 >> 8) & 0xff, + 596 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (60 >> 8) & 0xff, - 60 & 0xff} + (61 >> 8) & 0xff, + 61 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -29178,15 +29613,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (597 >> 8) & 0xff, - 597 & 0xff, + (605 >> 8) & 0xff, + 605 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (61 >> 8) & 0xff, - 61 & 0xff} + (62 >> 8) & 0xff, + 62 & 0xff} } }, { @@ -29196,15 +29631,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (606 >> 8) & 0xff, - 606 & 0xff, + (614 >> 8) & 0xff, + 614 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (62 >> 8) & 0xff, - 62 & 0xff} + (63 >> 8) & 0xff, + 63 & 0xff} }, .field_info_spec = { .description = "tids", @@ -29212,15 +29647,43 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (612 >> 8) & 0xff, - 612 & 0xff, + (623 >> 8) & 0xff, + 623 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (63 >> 8) & 0xff, - 63 & 0xff} + (65 >> 8) & 0xff, + 65 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (632 >> 8) & 0xff, + 632 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (635 >> 8) & 0xff, + 635 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { @@ -29230,15 +29693,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (618 >> 8) & 0xff, - 618 & 0xff, + (638 >> 8) & 0xff, + 638 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (64 >> 8) & 0xff, - 64 & 0xff} + (67 >> 8) & 0xff, + 67 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -29246,15 +29709,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (625 >> 8) & 0xff, - 625 & 0xff, + (645 >> 8) & 0xff, + 645 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (65 >> 8) & 0xff, - 65 & 0xff} + (68 >> 8) & 0xff, + 68 & 0xff} } }, { @@ -29264,15 +29727,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (632 >> 8) & 0xff, - 632 & 0xff, + (652 >> 8) & 0xff, + 652 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (66 >> 8) & 0xff, - 66 & 0xff} + (69 >> 8) & 0xff, + 69 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -29280,15 +29743,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (639 >> 8) & 0xff, - 639 & 0xff, + (659 >> 8) & 0xff, + 659 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (67 >> 8) & 0xff, - 67 & 0xff} + (70 >> 8) & 0xff, + 70 & 0xff} } }, { @@ -29298,15 +29761,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (646 >> 8) & 0xff, - 646 & 0xff, + (666 >> 8) & 0xff, + 666 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (68 >> 8) & 0xff, - 68 & 0xff} + (71 >> 8) & 0xff, + 71 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -29314,15 +29777,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (655 >> 8) & 0xff, - 655 & 0xff, + (675 >> 8) & 0xff, + 675 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (69 >> 8) & 0xff, - 69 & 0xff} + (72 >> 8) & 0xff, + 72 & 0xff} } }, { @@ -29332,15 +29795,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (664 >> 8) & 0xff, - 664 & 0xff, + (684 >> 8) & 0xff, + 684 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (70 >> 8) & 0xff, - 70 & 0xff} + (73 >> 8) & 0xff, + 73 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -29348,15 +29811,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (682 >> 8) & 0xff, - 682 & 0xff, + (702 >> 8) & 0xff, + 702 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (73 >> 8) & 0xff, - 73 & 0xff} + (76 >> 8) & 0xff, + 76 & 0xff} } }, { @@ -29366,15 +29829,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (700 >> 8) & 0xff, - 700 & 0xff, + (720 >> 8) & 0xff, + 720 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (76 >> 8) & 0xff, - 76 & 0xff} + (79 >> 8) & 0xff, + 79 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -29382,15 +29845,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (709 >> 8) & 0xff, - 709 & 0xff, + (729 >> 8) & 0xff, + 729 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (77 >> 8) & 0xff, - 77 & 0xff} + (80 >> 8) & 0xff, + 80 & 0xff} } }, { @@ -29400,15 +29863,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (718 >> 8) & 0xff, - 718 & 0xff, + (738 >> 8) & 0xff, + 738 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (78 >> 8) & 0xff, - 78 & 0xff} + (81 >> 8) & 0xff, + 81 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -29416,15 +29879,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (725 >> 8) & 0xff, - 725 & 0xff, + (745 >> 8) & 0xff, + 745 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (79 >> 8) & 0xff, - 79 & 0xff} + (82 >> 8) & 0xff, + 82 & 0xff} } }, { @@ -29434,15 +29897,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (732 >> 8) & 0xff, - 732 & 0xff, + (752 >> 8) & 0xff, + 752 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (80 >> 8) & 0xff, - 80 & 0xff} + (83 >> 8) & 0xff, + 83 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -29450,15 +29913,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (739 >> 8) & 0xff, - 739 & 0xff, + (759 >> 8) & 0xff, + 759 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (81 >> 8) & 0xff, - 81 & 0xff} + (84 >> 8) & 0xff, + 84 & 0xff} } }, { @@ -29468,15 +29931,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (746 >> 8) & 0xff, - 746 & 0xff, + (766 >> 8) & 0xff, + 766 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (82 >> 8) & 0xff, - 82 & 0xff} + (85 >> 8) & 0xff, + 85 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -29484,15 +29947,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (753 >> 8) & 0xff, - 753 & 0xff, + (773 >> 8) & 0xff, + 773 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (83 >> 8) & 0xff, - 83 & 0xff} + (86 >> 8) & 0xff, + 86 & 0xff} } }, { @@ -29502,15 +29965,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (760 >> 8) & 0xff, - 760 & 0xff, + (780 >> 8) & 0xff, + 780 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (84 >> 8) & 0xff, - 84 & 0xff} + (87 >> 8) & 0xff, + 87 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -29518,15 +29981,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (767 >> 8) & 0xff, - 767 & 0xff, + (787 >> 8) & 0xff, + 787 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (85 >> 8) & 0xff, - 85 & 0xff} + (88 >> 8) & 0xff, + 88 & 0xff} } }, { @@ -29536,15 +29999,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (774 >> 8) & 0xff, - 774 & 0xff, + (794 >> 8) & 0xff, + 794 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (86 >> 8) & 0xff, - 86 & 0xff} + (89 >> 8) & 0xff, + 89 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -29552,15 +30015,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (788 >> 8) & 0xff, - 788 & 0xff, + (808 >> 8) & 0xff, + 808 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (89 >> 8) & 0xff, - 89 & 0xff} + (92 >> 8) & 0xff, + 92 & 0xff} } }, { @@ -29570,15 +30033,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (802 >> 8) & 0xff, - 802 & 0xff, + (822 >> 8) & 0xff, + 822 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (92 >> 8) & 0xff, - 92 & 0xff} + (95 >> 8) & 0xff, + 95 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -29586,15 +30049,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (826 >> 8) & 0xff, - 826 & 0xff, + (846 >> 8) & 0xff, + 846 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (99 >> 8) & 0xff, - 99 & 0xff} + (102 >> 8) & 0xff, + 102 & 0xff} } }, { @@ -29604,15 +30067,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (850 >> 8) & 0xff, - 850 & 0xff, + (870 >> 8) & 0xff, + 870 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (106 >> 8) & 0xff, - 106 & 0xff} + (109 >> 8) & 0xff, + 109 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -29620,15 +30083,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (864 >> 8) & 0xff, - 864 & 0xff, + (884 >> 8) & 0xff, + 884 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (109 >> 8) & 0xff, - 109 & 0xff} + (112 >> 8) & 0xff, + 112 & 0xff} } }, { @@ -29638,15 +30101,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (878 >> 8) & 0xff, - 878 & 0xff, + (898 >> 8) & 0xff, + 898 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (112 >> 8) & 0xff, - 112 & 0xff} + (115 >> 8) & 0xff, + 115 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -29654,15 +30117,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (894 >> 8) & 0xff, - 894 & 0xff, + (914 >> 8) & 0xff, + 914 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (116 >> 8) & 0xff, - 116 & 0xff} + (119 >> 8) & 0xff, + 119 & 0xff} } }, { @@ -29672,15 +30135,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (910 >> 8) & 0xff, - 910 & 0xff, + (930 >> 8) & 0xff, + 930 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (120 >> 8) & 0xff, - 120 & 0xff} + (123 >> 8) & 0xff, + 123 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -29688,15 +30151,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (926 >> 8) & 0xff, - 926 & 0xff, + (946 >> 8) & 0xff, + 946 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (124 >> 8) & 0xff, - 124 & 0xff} + (127 >> 8) & 0xff, + 127 & 0xff} } }, /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ @@ -29715,8 +30178,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (942 >> 8) & 0xff, - 942 & 0xff, + (962 >> 8) & 0xff, + 962 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -29780,15 +30243,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (961 >> 8) & 0xff, - 961 & 0xff, + (981 >> 8) & 0xff, + 981 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (136 >> 8) & 0xff, - 136 & 0xff} + (139 >> 8) & 0xff, + 139 & 0xff} }, .field_info_spec = { .description = "l4_hdr_is_udp_tcp", @@ -29796,8 +30259,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (969 >> 8) & 0xff, - 969 & 0xff, + (989 >> 8) & 0xff, + 989 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -29805,8 +30268,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (139 >> 8) & 0xff, - 139 & 0xff} + (142 >> 8) & 0xff, + 142 & 0xff} } }, { @@ -29816,15 +30279,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (977 >> 8) & 0xff, - 977 & 0xff, + (997 >> 8) & 0xff, + 997 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (142 >> 8) & 0xff, - 142 & 0xff} + (145 >> 8) & 0xff, + 145 & 0xff} }, .field_info_spec = { .description = "l4_hdr_type", @@ -29832,15 +30295,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (985 >> 8) & 0xff, - 985 & 0xff, + (1005 >> 8) & 0xff, + 1005 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (145 >> 8) & 0xff, - 145 & 0xff} + (148 >> 8) & 0xff, + 148 & 0xff} } }, { @@ -29850,15 +30313,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (993 >> 8) & 0xff, - 993 & 0xff, + (1013 >> 8) & 0xff, + 1013 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (148 >> 8) & 0xff, - 148 & 0xff} + (151 >> 8) & 0xff, + 151 & 0xff} }, .field_info_spec = { .description = "l4_hdr_error", @@ -29866,15 +30329,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1001 >> 8) & 0xff, - 1001 & 0xff, + (1021 >> 8) & 0xff, + 1021 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (151 >> 8) & 0xff, - 151 & 0xff} + (154 >> 8) & 0xff, + 154 & 0xff} } }, { @@ -29884,15 +30347,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1009 >> 8) & 0xff, - 1009 & 0xff, + (1029 >> 8) & 0xff, + 1029 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (154 >> 8) & 0xff, - 154 & 0xff} + (157 >> 8) & 0xff, + 157 & 0xff} }, .field_info_spec = { .description = "l4_hdr_valid", @@ -29900,8 +30363,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1017 >> 8) & 0xff, - 1017 & 0xff, + (1037 >> 8) & 0xff, + 1037 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -29909,8 +30372,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (157 >> 8) & 0xff, - 157 & 0xff} + (160 >> 8) & 0xff, + 160 & 0xff} } }, { @@ -29970,8 +30433,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1025 >> 8) & 0xff, - 1025 & 0xff, + (1045 >> 8) & 0xff, + 1045 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -29979,8 +30442,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (160 >> 8) & 0xff, - 160 & 0xff} + (163 >> 8) & 0xff, + 163 & 0xff} } }, { @@ -29990,15 +30453,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1033 >> 8) & 0xff, - 1033 & 0xff, + (1055 >> 8) & 0xff, + 1055 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (163 >> 8) & 0xff, - 163 & 0xff} + (167 >> 8) & 0xff, + 167 & 0xff} }, .field_info_spec = { .description = "l3_hdr_type", @@ -30006,8 +30469,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1041 >> 8) & 0xff, - 1041 & 0xff, + (1063 >> 8) & 0xff, + 1063 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30015,8 +30478,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (166 >> 8) & 0xff, - 166 & 0xff} + (170 >> 8) & 0xff, + 170 & 0xff} } }, { @@ -30026,15 +30489,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1049 >> 8) & 0xff, - 1049 & 0xff, + (1071 >> 8) & 0xff, + 1071 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (169 >> 8) & 0xff, - 169 & 0xff} + (173 >> 8) & 0xff, + 173 & 0xff} }, .field_info_spec = { .description = "l3_hdr_error", @@ -30042,15 +30505,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1057 >> 8) & 0xff, - 1057 & 0xff, + (1079 >> 8) & 0xff, + 1079 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (172 >> 8) & 0xff, - 172 & 0xff} + (176 >> 8) & 0xff, + 176 & 0xff} } }, { @@ -30060,15 +30523,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1065 >> 8) & 0xff, - 1065 & 0xff, + (1087 >> 8) & 0xff, + 1087 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (175 >> 8) & 0xff, - 175 & 0xff} + (179 >> 8) & 0xff, + 179 & 0xff} }, .field_info_spec = { .description = "l3_hdr_valid", @@ -30076,8 +30539,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1073 >> 8) & 0xff, - 1073 & 0xff, + (1095 >> 8) & 0xff, + 1095 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30085,8 +30548,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (178 >> 8) & 0xff, - 178 & 0xff} + (182 >> 8) & 0xff, + 182 & 0xff} } }, { @@ -30104,8 +30567,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1081 >> 8) & 0xff, - 1081 & 0xff, + (1103 >> 8) & 0xff, + 1103 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30113,8 +30576,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_TWO_VTAGS_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (181 >> 8) & 0xff, - 181 & 0xff} + (185 >> 8) & 0xff, + 185 & 0xff} } }, { @@ -30132,8 +30595,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1087 >> 8) & 0xff, - 1087 & 0xff, + (1109 >> 8) & 0xff, + 1109 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30141,8 +30604,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_VTAG_PRESENT_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (182 >> 8) & 0xff, - 182 & 0xff} + (186 >> 8) & 0xff, + 186 & 0xff} } }, { @@ -30150,9 +30613,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .description = "l2_uc_mc_bc", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_uc_mc_bc", @@ -30168,8 +30629,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1093 >> 8) & 0xff, - 1093 & 0xff, + (1115 >> 8) & 0xff, + 1115 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30181,8 +30642,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1094 >> 8) & 0xff, - 1094 & 0xff, + (1116 >> 8) & 0xff, + 1116 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -30196,15 +30657,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1095 >> 8) & 0xff, - 1095 & 0xff, + (1117 >> 8) & 0xff, + 1117 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (183 >> 8) & 0xff, - 183 & 0xff} + (187 >> 8) & 0xff, + 187 & 0xff} }, .field_info_spec = { .description = "l2_hdr_error", @@ -30212,25 +30673,35 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1099 >> 8) & 0xff, - 1099 & 0xff, + (1121 >> 8) & 0xff, + 1121 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (184 >> 8) & 0xff, - 184 & 0xff} + (188 >> 8) & 0xff, + 188 & 0xff} } }, { .field_info_mask = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1125 >> 8) & 0xff, + 1125 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (189 >> 8) & 0xff, + 189 & 0xff} }, .field_info_spec = { .description = "l2_hdr_valid", @@ -30238,8 +30709,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1103 >> 8) & 0xff, - 1103 & 0xff, + (1131 >> 8) & 0xff, + 1131 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30247,8 +30718,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (185 >> 8) & 0xff, - 185 & 0xff} + (191 >> 8) & 0xff, + 191 & 0xff} } }, { @@ -30272,15 +30743,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1107 >> 8) & 0xff, - 1107 & 0xff, + (1137 >> 8) & 0xff, + 1137 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (186 >> 8) & 0xff, - 186 & 0xff} + (193 >> 8) & 0xff, + 193 & 0xff} }, .field_info_spec = { .description = "tun_hdr_type", @@ -30288,15 +30759,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1119 >> 8) & 0xff, - 1119 & 0xff, + (1151 >> 8) & 0xff, + 1151 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (191 >> 8) & 0xff, - 191 & 0xff} + (199 >> 8) & 0xff, + 199 & 0xff} } }, { @@ -30306,8 +30777,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1131 >> 8) & 0xff, - 1131 & 0xff, + (1165 >> 8) & 0xff, + 1165 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30319,8 +30790,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1132 >> 8) & 0xff, - 1132 & 0xff, + (1166 >> 8) & 0xff, + 1166 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -30342,8 +30813,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1133 >> 8) & 0xff, - 1133 & 0xff, + (1167 >> 8) & 0xff, + 1167 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30359,15 +30830,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1134 >> 8) & 0xff, - 1134 & 0xff, + (1168 >> 8) & 0xff, + 1168 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (196 >> 8) & 0xff, - 196 & 0xff} + (205 >> 8) & 0xff, + 205 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_is_udp_tcp", @@ -30375,8 +30846,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1138 >> 8) & 0xff, - 1138 & 0xff, + (1172 >> 8) & 0xff, + 1172 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30384,8 +30855,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (197 >> 8) & 0xff, - 197 & 0xff} + (206 >> 8) & 0xff, + 206 & 0xff} } }, { @@ -30395,15 +30866,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1142 >> 8) & 0xff, - 1142 & 0xff, + (1176 >> 8) & 0xff, + 1176 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (198 >> 8) & 0xff, - 198 & 0xff} + (207 >> 8) & 0xff, + 207 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_type", @@ -30411,15 +30882,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1146 >> 8) & 0xff, - 1146 & 0xff, + (1180 >> 8) & 0xff, + 1180 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (199 >> 8) & 0xff, - 199 & 0xff} + (208 >> 8) & 0xff, + 208 & 0xff} } }, { @@ -30429,15 +30900,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1150 >> 8) & 0xff, - 1150 & 0xff, + (1184 >> 8) & 0xff, + 1184 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (200 >> 8) & 0xff, - 200 & 0xff} + (209 >> 8) & 0xff, + 209 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_error", @@ -30445,15 +30916,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1154 >> 8) & 0xff, - 1154 & 0xff, + (1188 >> 8) & 0xff, + 1188 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (201 >> 8) & 0xff, - 201 & 0xff} + (210 >> 8) & 0xff, + 210 & 0xff} } }, { @@ -30463,15 +30934,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1158 >> 8) & 0xff, - 1158 & 0xff, + (1192 >> 8) & 0xff, + 1192 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (202 >> 8) & 0xff, - 202 & 0xff} + (211 >> 8) & 0xff, + 211 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_valid", @@ -30479,8 +30950,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1163 >> 8) & 0xff, - 1163 & 0xff, + (1197 >> 8) & 0xff, + 1197 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30488,8 +30959,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (204 >> 8) & 0xff, - 204 & 0xff} + (213 >> 8) & 0xff, + 213 & 0xff} } }, { @@ -30535,8 +31006,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1168 >> 8) & 0xff, - 1168 & 0xff, + (1202 >> 8) & 0xff, + 1202 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30544,8 +31015,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (206 >> 8) & 0xff, - 206 & 0xff} + (215 >> 8) & 0xff, + 215 & 0xff} } }, { @@ -30555,15 +31026,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1172 >> 8) & 0xff, - 1172 & 0xff, + (1206 >> 8) & 0xff, + 1206 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (207 >> 8) & 0xff, - 207 & 0xff} + (216 >> 8) & 0xff, + 216 & 0xff} }, .field_info_spec = { .description = "tl3_hdr_type", @@ -30571,8 +31042,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1176 >> 8) & 0xff, - 1176 & 0xff, + (1210 >> 8) & 0xff, + 1210 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30580,8 +31051,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (208 >> 8) & 0xff, - 208 & 0xff} + (217 >> 8) & 0xff, + 217 & 0xff} } }, { @@ -30591,15 +31062,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1180 >> 8) & 0xff, - 1180 & 0xff, + (1214 >> 8) & 0xff, + 1214 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (209 >> 8) & 0xff, - 209 & 0xff} + (218 >> 8) & 0xff, + 218 & 0xff} }, .field_info_spec = { .description = "tl3_hdr_error", @@ -30607,15 +31078,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1184 >> 8) & 0xff, - 1184 & 0xff, + (1218 >> 8) & 0xff, + 1218 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (210 >> 8) & 0xff, - 210 & 0xff} + (219 >> 8) & 0xff, + 219 & 0xff} } }, { @@ -30633,8 +31104,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1188 >> 8) & 0xff, - 1188 & 0xff, + (1222 >> 8) & 0xff, + 1222 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30642,8 +31113,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (211 >> 8) & 0xff, - 211 & 0xff} + (220 >> 8) & 0xff, + 220 & 0xff} } }, { @@ -30661,8 +31132,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1192 >> 8) & 0xff, - 1192 & 0xff, + (1226 >> 8) & 0xff, + 1226 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30686,8 +31157,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1195 >> 8) & 0xff, - 1195 & 0xff, + (1229 >> 8) & 0xff, + 1229 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30717,8 +31188,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1198 >> 8) & 0xff, - 1198 & 0xff, + (1232 >> 8) & 0xff, + 1232 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30730,8 +31201,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1199 >> 8) & 0xff, - 1199 & 0xff, + (1233 >> 8) & 0xff, + 1233 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -30753,8 +31224,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1200 >> 8) & 0xff, - 1200 & 0xff, + (1234 >> 8) & 0xff, + 1234 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30762,8 +31233,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL2_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (212 >> 8) & 0xff, - 212 & 0xff} + (221 >> 8) & 0xff, + 221 & 0xff} } }, { @@ -30829,15 +31300,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1204 >> 8) & 0xff, - 1204 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (1238 >> 8) & 0xff, + 1238 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (213 >> 8) & 0xff, - 213 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (222 >> 8) & 0xff, + 222 & 0xff} } }, { @@ -30915,8 +31389,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1208 >> 8) & 0xff, - 1208 & 0xff, + (1242 >> 8) & 0xff, + 1242 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30928,8 +31402,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1210 >> 8) & 0xff, - 1210 & 0xff, + (1244 >> 8) & 0xff, + 1244 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -30946,8 +31420,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1212 >> 8) & 0xff, - 1212 & 0xff, + (1246 >> 8) & 0xff, + 1246 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30959,15 +31433,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1215 >> 8) & 0xff, - 1215 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (1249 >> 8) & 0xff, + 1249 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (214 >> 8) & 0xff, - 214 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (223 >> 8) & 0xff, + 223 & 0xff} } }, { @@ -30977,8 +31454,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1219 >> 8) & 0xff, - 1219 & 0xff, + (1253 >> 8) & 0xff, + 1253 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30990,8 +31467,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1220 >> 8) & 0xff, - 1220 & 0xff, + (1254 >> 8) & 0xff, + 1254 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -31008,8 +31485,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1221 >> 8) & 0xff, - 1221 & 0xff, + (1255 >> 8) & 0xff, + 1255 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31024,8 +31501,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1225 >> 8) & 0xff, - 1225 & 0xff, + (1259 >> 8) & 0xff, + 1259 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31042,8 +31519,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1229 >> 8) & 0xff, - 1229 & 0xff, + (1263 >> 8) & 0xff, + 1263 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31058,8 +31535,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1233 >> 8) & 0xff, - 1233 & 0xff, + (1267 >> 8) & 0xff, + 1267 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31076,8 +31553,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1237 >> 8) & 0xff, - 1237 & 0xff, + (1271 >> 8) & 0xff, + 1271 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31092,8 +31569,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1242 >> 8) & 0xff, - 1242 & 0xff, + (1276 >> 8) & 0xff, + 1276 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31110,8 +31587,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1247 >> 8) & 0xff, - 1247 & 0xff, + (1281 >> 8) & 0xff, + 1281 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31120,8 +31597,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (215 >> 8) & 0xff, - 215 & 0xff} + (225 >> 8) & 0xff, + 225 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -31129,8 +31606,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1257 >> 8) & 0xff, - 1257 & 0xff, + (1291 >> 8) & 0xff, + 1291 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31139,8 +31616,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (216 >> 8) & 0xff, - 216 & 0xff} + (226 >> 8) & 0xff, + 226 & 0xff} } }, { @@ -31150,8 +31627,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1267 >> 8) & 0xff, - 1267 & 0xff, + (1301 >> 8) & 0xff, + 1301 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31166,8 +31643,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1272 >> 8) & 0xff, - 1272 & 0xff, + (1306 >> 8) & 0xff, + 1306 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31184,8 +31661,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1277 >> 8) & 0xff, - 1277 & 0xff, + (1311 >> 8) & 0xff, + 1311 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31200,8 +31677,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1281 >> 8) & 0xff, - 1281 & 0xff, + (1315 >> 8) & 0xff, + 1315 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31218,14 +31695,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1285 >> 8) & 0xff, - 1285 & 0xff, + (1319 >> 8) & 0xff, + 1319 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (217 >> 8) & 0xff, - 217 & 0xff}, + (227 >> 8) & 0xff, + 227 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -31234,14 +31711,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1290 >> 8) & 0xff, - 1290 & 0xff, + (1324 >> 8) & 0xff, + 1324 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (218 >> 8) & 0xff, - 218 & 0xff}, + (228 >> 8) & 0xff, + 228 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -31252,8 +31729,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1295 >> 8) & 0xff, - 1295 & 0xff, + (1329 >> 8) & 0xff, + 1329 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31268,8 +31745,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1299 >> 8) & 0xff, - 1299 & 0xff, + (1333 >> 8) & 0xff, + 1333 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31286,8 +31763,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1303 >> 8) & 0xff, - 1303 & 0xff, + (1337 >> 8) & 0xff, + 1337 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31302,8 +31779,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1307 >> 8) & 0xff, - 1307 & 0xff, + (1341 >> 8) & 0xff, + 1341 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31320,8 +31797,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1311 >> 8) & 0xff, - 1311 & 0xff, + (1345 >> 8) & 0xff, + 1345 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31330,8 +31807,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (219 >> 8) & 0xff, - 219 & 0xff} + (229 >> 8) & 0xff, + 229 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -31339,8 +31816,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1319 >> 8) & 0xff, - 1319 & 0xff, + (1353 >> 8) & 0xff, + 1353 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31349,8 +31826,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (220 >> 8) & 0xff, - 220 & 0xff} + (230 >> 8) & 0xff, + 230 & 0xff} } }, { @@ -31360,8 +31837,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1327 >> 8) & 0xff, - 1327 & 0xff, + (1361 >> 8) & 0xff, + 1361 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31370,8 +31847,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (221 >> 8) & 0xff, - 221 & 0xff} + (231 >> 8) & 0xff, + 231 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -31379,8 +31856,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1335 >> 8) & 0xff, - 1335 & 0xff, + (1369 >> 8) & 0xff, + 1369 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31389,8 +31866,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (222 >> 8) & 0xff, - 222 & 0xff} + (232 >> 8) & 0xff, + 232 & 0xff} } }, { @@ -31400,8 +31877,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1343 >> 8) & 0xff, - 1343 & 0xff, + (1377 >> 8) & 0xff, + 1377 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31410,8 +31887,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (223 >> 8) & 0xff, - 223 & 0xff} + (233 >> 8) & 0xff, + 233 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -31419,8 +31896,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1351 >> 8) & 0xff, - 1351 & 0xff, + (1385 >> 8) & 0xff, + 1385 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31429,8 +31906,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (224 >> 8) & 0xff, - 224 & 0xff} + (234 >> 8) & 0xff, + 234 & 0xff} } }, { @@ -31440,8 +31917,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1359 >> 8) & 0xff, - 1359 & 0xff, + (1393 >> 8) & 0xff, + 1393 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31450,8 +31927,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (225 >> 8) & 0xff, - 225 & 0xff} + (235 >> 8) & 0xff, + 235 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -31459,8 +31936,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1367 >> 8) & 0xff, - 1367 & 0xff, + (1401 >> 8) & 0xff, + 1401 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31469,8 +31946,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (226 >> 8) & 0xff, - 226 & 0xff} + (236 >> 8) & 0xff, + 236 & 0xff} } }, { @@ -31480,8 +31957,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1375 >> 8) & 0xff, - 1375 & 0xff, + (1409 >> 8) & 0xff, + 1409 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31490,8 +31967,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (227 >> 8) & 0xff, - 227 & 0xff} + (237 >> 8) & 0xff, + 237 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -31499,8 +31976,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1384 >> 8) & 0xff, - 1384 & 0xff, + (1418 >> 8) & 0xff, + 1418 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31509,8 +31986,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (228 >> 8) & 0xff, - 228 & 0xff} + (238 >> 8) & 0xff, + 238 & 0xff} } }, { @@ -31520,8 +31997,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1393 >> 8) & 0xff, - 1393 & 0xff, + (1427 >> 8) & 0xff, + 1427 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31530,8 +32007,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (229 >> 8) & 0xff, - 229 & 0xff} + (239 >> 8) & 0xff, + 239 & 0xff} }, .field_info_spec = { .description = "tids", @@ -31539,8 +32016,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1399 >> 8) & 0xff, - 1399 & 0xff, + (1436 >> 8) & 0xff, + 1436 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31549,8 +32026,42 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (230 >> 8) & 0xff, - 230 & 0xff} + (241 >> 8) & 0xff, + 241 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1445 >> 8) & 0xff, + 1445 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1448 >> 8) & 0xff, + 1448 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { @@ -31560,8 +32071,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1405 >> 8) & 0xff, - 1405 & 0xff, + (1451 >> 8) & 0xff, + 1451 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31570,8 +32081,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (231 >> 8) & 0xff, - 231 & 0xff} + (243 >> 8) & 0xff, + 243 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -31579,8 +32090,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1412 >> 8) & 0xff, - 1412 & 0xff, + (1458 >> 8) & 0xff, + 1458 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31589,8 +32100,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (232 >> 8) & 0xff, - 232 & 0xff} + (244 >> 8) & 0xff, + 244 & 0xff} } }, { @@ -31600,8 +32111,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1419 >> 8) & 0xff, - 1419 & 0xff, + (1465 >> 8) & 0xff, + 1465 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31610,8 +32121,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (233 >> 8) & 0xff, - 233 & 0xff} + (245 >> 8) & 0xff, + 245 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -31619,8 +32130,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1426 >> 8) & 0xff, - 1426 & 0xff, + (1472 >> 8) & 0xff, + 1472 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31629,8 +32140,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (234 >> 8) & 0xff, - 234 & 0xff} + (246 >> 8) & 0xff, + 246 & 0xff} } }, { @@ -31640,8 +32151,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1433 >> 8) & 0xff, - 1433 & 0xff, + (1479 >> 8) & 0xff, + 1479 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31650,8 +32161,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (235 >> 8) & 0xff, - 235 & 0xff} + (247 >> 8) & 0xff, + 247 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -31659,8 +32170,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1442 >> 8) & 0xff, - 1442 & 0xff, + (1488 >> 8) & 0xff, + 1488 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31669,8 +32180,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (236 >> 8) & 0xff, - 236 & 0xff} + (248 >> 8) & 0xff, + 248 & 0xff} } }, { @@ -31680,8 +32191,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1451 >> 8) & 0xff, - 1451 & 0xff, + (1497 >> 8) & 0xff, + 1497 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31690,8 +32201,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (237 >> 8) & 0xff, - 237 & 0xff} + (249 >> 8) & 0xff, + 249 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -31699,8 +32210,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1469 >> 8) & 0xff, - 1469 & 0xff, + (1515 >> 8) & 0xff, + 1515 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31709,8 +32220,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (240 >> 8) & 0xff, - 240 & 0xff} + (252 >> 8) & 0xff, + 252 & 0xff} } }, { @@ -31720,8 +32231,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1487 >> 8) & 0xff, - 1487 & 0xff, + (1533 >> 8) & 0xff, + 1533 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31730,8 +32241,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (243 >> 8) & 0xff, - 243 & 0xff} + (255 >> 8) & 0xff, + 255 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -31739,8 +32250,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1496 >> 8) & 0xff, - 1496 & 0xff, + (1542 >> 8) & 0xff, + 1542 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31749,8 +32260,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (244 >> 8) & 0xff, - 244 & 0xff} + (256 >> 8) & 0xff, + 256 & 0xff} } }, { @@ -31760,8 +32271,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1505 >> 8) & 0xff, - 1505 & 0xff, + (1551 >> 8) & 0xff, + 1551 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31770,8 +32281,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (245 >> 8) & 0xff, - 245 & 0xff} + (257 >> 8) & 0xff, + 257 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -31779,8 +32290,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1512 >> 8) & 0xff, - 1512 & 0xff, + (1558 >> 8) & 0xff, + 1558 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31789,8 +32300,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (246 >> 8) & 0xff, - 246 & 0xff} + (258 >> 8) & 0xff, + 258 & 0xff} } }, { @@ -31800,8 +32311,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1519 >> 8) & 0xff, - 1519 & 0xff, + (1565 >> 8) & 0xff, + 1565 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31810,8 +32321,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (247 >> 8) & 0xff, - 247 & 0xff} + (259 >> 8) & 0xff, + 259 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -31819,8 +32330,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1526 >> 8) & 0xff, - 1526 & 0xff, + (1572 >> 8) & 0xff, + 1572 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31829,8 +32340,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (248 >> 8) & 0xff, - 248 & 0xff} + (260 >> 8) & 0xff, + 260 & 0xff} } }, { @@ -31840,8 +32351,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1533 >> 8) & 0xff, - 1533 & 0xff, + (1579 >> 8) & 0xff, + 1579 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31850,8 +32361,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (249 >> 8) & 0xff, - 249 & 0xff} + (261 >> 8) & 0xff, + 261 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -31859,8 +32370,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1540 >> 8) & 0xff, - 1540 & 0xff, + (1586 >> 8) & 0xff, + 1586 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31869,8 +32380,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (250 >> 8) & 0xff, - 250 & 0xff} + (262 >> 8) & 0xff, + 262 & 0xff} } }, { @@ -31880,8 +32391,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1547 >> 8) & 0xff, - 1547 & 0xff, + (1593 >> 8) & 0xff, + 1593 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31890,8 +32401,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (251 >> 8) & 0xff, - 251 & 0xff} + (263 >> 8) & 0xff, + 263 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -31899,8 +32410,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1554 >> 8) & 0xff, - 1554 & 0xff, + (1600 >> 8) & 0xff, + 1600 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31909,8 +32420,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (252 >> 8) & 0xff, - 252 & 0xff} + (264 >> 8) & 0xff, + 264 & 0xff} } }, { @@ -31920,8 +32431,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1561 >> 8) & 0xff, - 1561 & 0xff, + (1607 >> 8) & 0xff, + 1607 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31930,8 +32441,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (253 >> 8) & 0xff, - 253 & 0xff} + (265 >> 8) & 0xff, + 265 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -31939,8 +32450,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1575 >> 8) & 0xff, - 1575 & 0xff, + (1621 >> 8) & 0xff, + 1621 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31949,8 +32460,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (256 >> 8) & 0xff, - 256 & 0xff} + (268 >> 8) & 0xff, + 268 & 0xff} } }, { @@ -31960,8 +32471,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1589 >> 8) & 0xff, - 1589 & 0xff, + (1635 >> 8) & 0xff, + 1635 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31970,8 +32481,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (259 >> 8) & 0xff, - 259 & 0xff} + (271 >> 8) & 0xff, + 271 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -31979,8 +32490,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1603 >> 8) & 0xff, - 1603 & 0xff, + (1649 >> 8) & 0xff, + 1649 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31989,8 +32500,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (262 >> 8) & 0xff, - 262 & 0xff} + (274 >> 8) & 0xff, + 274 & 0xff} } }, { @@ -32000,8 +32511,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1617 >> 8) & 0xff, - 1617 & 0xff, + (1663 >> 8) & 0xff, + 1663 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32010,8 +32521,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (265 >> 8) & 0xff, - 265 & 0xff} + (277 >> 8) & 0xff, + 277 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -32019,8 +32530,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1631 >> 8) & 0xff, - 1631 & 0xff, + (1677 >> 8) & 0xff, + 1677 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32029,8 +32540,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (268 >> 8) & 0xff, - 268 & 0xff} + (280 >> 8) & 0xff, + 280 & 0xff} } }, { @@ -32040,8 +32551,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1645 >> 8) & 0xff, - 1645 & 0xff, + (1691 >> 8) & 0xff, + 1691 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32050,8 +32561,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (271 >> 8) & 0xff, - 271 & 0xff} + (283 >> 8) & 0xff, + 283 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -32059,8 +32570,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1661 >> 8) & 0xff, - 1661 & 0xff, + (1707 >> 8) & 0xff, + 1707 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32069,8 +32580,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (275 >> 8) & 0xff, - 275 & 0xff} + (287 >> 8) & 0xff, + 287 & 0xff} } }, { @@ -32080,8 +32591,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1677 >> 8) & 0xff, - 1677 & 0xff, + (1723 >> 8) & 0xff, + 1723 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32090,8 +32601,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (279 >> 8) & 0xff, - 279 & 0xff} + (291 >> 8) & 0xff, + 291 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -32099,8 +32610,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1693 >> 8) & 0xff, - 1693 & 0xff, + (1739 >> 8) & 0xff, + 1739 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32109,8 +32620,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (283 >> 8) & 0xff, - 283 & 0xff} + (295 >> 8) & 0xff, + 295 & 0xff} } }, /* class_tid: 1, , table: proto_header_cache.wr */ @@ -32129,8 +32640,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1709 >> 8) & 0xff, - 1709 & 0xff, + (1756 >> 8) & 0xff, + 1756 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -32215,8 +32726,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1715 >> 8) & 0xff, - 1715 & 0xff, + (1762 >> 8) & 0xff, + 1762 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -32298,8 +32809,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1965 >> 8) & 0xff, - 1965 & 0xff, + (2018 >> 8) & 0xff, + 2018 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32311,8 +32822,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1967 >> 8) & 0xff, - 1967 & 0xff, + (2020 >> 8) & 0xff, + 2020 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -32329,8 +32840,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1969 >> 8) & 0xff, - 1969 & 0xff, + (2022 >> 8) & 0xff, + 2022 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32342,8 +32853,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1971 >> 8) & 0xff, - 1971 & 0xff, + (2024 >> 8) & 0xff, + 2024 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -32360,8 +32871,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1973 >> 8) & 0xff, - 1973 & 0xff, + (2026 >> 8) & 0xff, + 2026 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32373,8 +32884,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1974 >> 8) & 0xff, - 1974 & 0xff, + (2027 >> 8) & 0xff, + 2027 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -32391,8 +32902,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1975 >> 8) & 0xff, - 1975 & 0xff, + (2028 >> 8) & 0xff, + 2028 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32404,8 +32915,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1980 >> 8) & 0xff, - 1980 & 0xff, + (2033 >> 8) & 0xff, + 2033 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32422,8 +32933,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1985 >> 8) & 0xff, - 1985 & 0xff, + (2038 >> 8) & 0xff, + 2038 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32435,8 +32946,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1989 >> 8) & 0xff, - 1989 & 0xff, + (2042 >> 8) & 0xff, + 2042 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32453,8 +32964,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1993 >> 8) & 0xff, - 1993 & 0xff, + (2046 >> 8) & 0xff, + 2046 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32466,8 +32977,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1998 >> 8) & 0xff, - 1998 & 0xff, + (2051 >> 8) & 0xff, + 2051 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32484,15 +32995,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2003 >> 8) & 0xff, - 2003 & 0xff, + (2056 >> 8) & 0xff, + 2056 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (324 >> 8) & 0xff, - 324 & 0xff} + (337 >> 8) & 0xff, + 337 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -32500,8 +33011,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2013 >> 8) & 0xff, - 2013 & 0xff, + (2066 >> 8) & 0xff, + 2066 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32510,8 +33021,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (325 >> 8) & 0xff, - 325 & 0xff} + (338 >> 8) & 0xff, + 338 & 0xff} } }, { @@ -32521,8 +33032,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2023 >> 8) & 0xff, - 2023 & 0xff, + (2076 >> 8) & 0xff, + 2076 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32534,8 +33045,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2028 >> 8) & 0xff, - 2028 & 0xff, + (2081 >> 8) & 0xff, + 2081 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32552,8 +33063,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2033 >> 8) & 0xff, - 2033 & 0xff, + (2086 >> 8) & 0xff, + 2086 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32565,8 +33076,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2037 >> 8) & 0xff, - 2037 & 0xff, + (2090 >> 8) & 0xff, + 2090 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32583,8 +33094,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2041 >> 8) & 0xff, - 2041 & 0xff, + (2094 >> 8) & 0xff, + 2094 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32596,8 +33107,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2045 >> 8) & 0xff, - 2045 & 0xff, + (2098 >> 8) & 0xff, + 2098 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32614,8 +33125,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2049 >> 8) & 0xff, - 2049 & 0xff, + (2102 >> 8) & 0xff, + 2102 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32627,8 +33138,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2053 >> 8) & 0xff, - 2053 & 0xff, + (2106 >> 8) & 0xff, + 2106 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32645,8 +33156,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2057 >> 8) & 0xff, - 2057 & 0xff, + (2110 >> 8) & 0xff, + 2110 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32658,8 +33169,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2061 >> 8) & 0xff, - 2061 & 0xff, + (2114 >> 8) & 0xff, + 2114 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32676,15 +33187,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2065 >> 8) & 0xff, - 2065 & 0xff, + (2118 >> 8) & 0xff, + 2118 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (326 >> 8) & 0xff, - 326 & 0xff} + (339 >> 8) & 0xff, + 339 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -32692,8 +33203,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2073 >> 8) & 0xff, - 2073 & 0xff, + (2126 >> 8) & 0xff, + 2126 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32702,8 +33213,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (327 >> 8) & 0xff, - 327 & 0xff} + (340 >> 8) & 0xff, + 340 & 0xff} } }, { @@ -32713,15 +33224,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2081 >> 8) & 0xff, - 2081 & 0xff, + (2134 >> 8) & 0xff, + 2134 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (328 >> 8) & 0xff, - 328 & 0xff} + (341 >> 8) & 0xff, + 341 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -32729,8 +33240,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2089 >> 8) & 0xff, - 2089 & 0xff, + (2142 >> 8) & 0xff, + 2142 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32739,8 +33250,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (329 >> 8) & 0xff, - 329 & 0xff} + (342 >> 8) & 0xff, + 342 & 0xff} } }, { @@ -32750,15 +33261,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2097 >> 8) & 0xff, - 2097 & 0xff, + (2150 >> 8) & 0xff, + 2150 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (330 >> 8) & 0xff, - 330 & 0xff} + (343 >> 8) & 0xff, + 343 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -32766,8 +33277,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2105 >> 8) & 0xff, - 2105 & 0xff, + (2158 >> 8) & 0xff, + 2158 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32776,8 +33287,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (331 >> 8) & 0xff, - 331 & 0xff} + (344 >> 8) & 0xff, + 344 & 0xff} } }, { @@ -32787,15 +33298,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2113 >> 8) & 0xff, - 2113 & 0xff, + (2166 >> 8) & 0xff, + 2166 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (332 >> 8) & 0xff, - 332 & 0xff} + (345 >> 8) & 0xff, + 345 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -32803,8 +33314,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2121 >> 8) & 0xff, - 2121 & 0xff, + (2174 >> 8) & 0xff, + 2174 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32813,8 +33324,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (333 >> 8) & 0xff, - 333 & 0xff} + (346 >> 8) & 0xff, + 346 & 0xff} } }, { @@ -32824,15 +33335,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2129 >> 8) & 0xff, - 2129 & 0xff, + (2182 >> 8) & 0xff, + 2182 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (334 >> 8) & 0xff, - 334 & 0xff} + (347 >> 8) & 0xff, + 347 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -32840,8 +33351,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2138 >> 8) & 0xff, - 2138 & 0xff, + (2191 >> 8) & 0xff, + 2191 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32850,8 +33361,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (335 >> 8) & 0xff, - 335 & 0xff} + (348 >> 8) & 0xff, + 348 & 0xff} } }, { @@ -32861,15 +33372,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2147 >> 8) & 0xff, - 2147 & 0xff, + (2200 >> 8) & 0xff, + 2200 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (336 >> 8) & 0xff, - 336 & 0xff} + (349 >> 8) & 0xff, + 349 & 0xff} }, .field_info_spec = { .description = "tids", @@ -32877,8 +33388,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2153 >> 8) & 0xff, - 2153 & 0xff, + (2209 >> 8) & 0xff, + 2209 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32887,8 +33398,39 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (337 >> 8) & 0xff, - 337 & 0xff} + (351 >> 8) & 0xff, + 351 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2218 >> 8) & 0xff, + 2218 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2221 >> 8) & 0xff, + 2221 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { @@ -32898,15 +33440,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2159 >> 8) & 0xff, - 2159 & 0xff, + (2224 >> 8) & 0xff, + 2224 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (338 >> 8) & 0xff, - 338 & 0xff} + (353 >> 8) & 0xff, + 353 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -32914,8 +33456,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2168 >> 8) & 0xff, - 2168 & 0xff, + (2233 >> 8) & 0xff, + 2233 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32924,8 +33466,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (339 >> 8) & 0xff, - 339 & 0xff} + (354 >> 8) & 0xff, + 354 & 0xff} } }, { @@ -32935,15 +33477,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2177 >> 8) & 0xff, - 2177 & 0xff, + (2242 >> 8) & 0xff, + 2242 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (340 >> 8) & 0xff, - 340 & 0xff} + (355 >> 8) & 0xff, + 355 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -32951,8 +33493,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2184 >> 8) & 0xff, - 2184 & 0xff, + (2249 >> 8) & 0xff, + 2249 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32961,8 +33503,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (341 >> 8) & 0xff, - 341 & 0xff} + (356 >> 8) & 0xff, + 356 & 0xff} } }, { @@ -32972,15 +33514,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2191 >> 8) & 0xff, - 2191 & 0xff, + (2256 >> 8) & 0xff, + 2256 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (342 >> 8) & 0xff, - 342 & 0xff} + (357 >> 8) & 0xff, + 357 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -32988,8 +33530,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2200 >> 8) & 0xff, - 2200 & 0xff, + (2265 >> 8) & 0xff, + 2265 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32998,8 +33540,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (343 >> 8) & 0xff, - 343 & 0xff} + (358 >> 8) & 0xff, + 358 & 0xff} } }, { @@ -33009,15 +33551,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2209 >> 8) & 0xff, - 2209 & 0xff, + (2274 >> 8) & 0xff, + 2274 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (344 >> 8) & 0xff, - 344 & 0xff} + (359 >> 8) & 0xff, + 359 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -33025,8 +33567,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2227 >> 8) & 0xff, - 2227 & 0xff, + (2292 >> 8) & 0xff, + 2292 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33035,8 +33577,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (347 >> 8) & 0xff, - 347 & 0xff} + (362 >> 8) & 0xff, + 362 & 0xff} } }, { @@ -33046,15 +33588,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2245 >> 8) & 0xff, - 2245 & 0xff, + (2310 >> 8) & 0xff, + 2310 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (350 >> 8) & 0xff, - 350 & 0xff} + (365 >> 8) & 0xff, + 365 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -33062,8 +33604,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2254 >> 8) & 0xff, - 2254 & 0xff, + (2319 >> 8) & 0xff, + 2319 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33072,8 +33614,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (351 >> 8) & 0xff, - 351 & 0xff} + (366 >> 8) & 0xff, + 366 & 0xff} } }, { @@ -33083,15 +33625,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2263 >> 8) & 0xff, - 2263 & 0xff, + (2328 >> 8) & 0xff, + 2328 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (352 >> 8) & 0xff, - 352 & 0xff} + (367 >> 8) & 0xff, + 367 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -33099,8 +33641,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2270 >> 8) & 0xff, - 2270 & 0xff, + (2335 >> 8) & 0xff, + 2335 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33109,8 +33651,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (353 >> 8) & 0xff, - 353 & 0xff} + (368 >> 8) & 0xff, + 368 & 0xff} } }, { @@ -33120,15 +33662,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2277 >> 8) & 0xff, - 2277 & 0xff, + (2342 >> 8) & 0xff, + 2342 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (354 >> 8) & 0xff, - 354 & 0xff} + (369 >> 8) & 0xff, + 369 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -33136,8 +33678,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2284 >> 8) & 0xff, - 2284 & 0xff, + (2349 >> 8) & 0xff, + 2349 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33146,8 +33688,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (355 >> 8) & 0xff, - 355 & 0xff} + (370 >> 8) & 0xff, + 370 & 0xff} } }, { @@ -33157,15 +33699,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2291 >> 8) & 0xff, - 2291 & 0xff, + (2356 >> 8) & 0xff, + 2356 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (356 >> 8) & 0xff, - 356 & 0xff} + (371 >> 8) & 0xff, + 371 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -33173,8 +33715,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2298 >> 8) & 0xff, - 2298 & 0xff, + (2363 >> 8) & 0xff, + 2363 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33183,8 +33725,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (357 >> 8) & 0xff, - 357 & 0xff} + (372 >> 8) & 0xff, + 372 & 0xff} } }, { @@ -33194,15 +33736,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2305 >> 8) & 0xff, - 2305 & 0xff, + (2370 >> 8) & 0xff, + 2370 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (358 >> 8) & 0xff, - 358 & 0xff} + (373 >> 8) & 0xff, + 373 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -33210,8 +33752,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2312 >> 8) & 0xff, - 2312 & 0xff, + (2377 >> 8) & 0xff, + 2377 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33220,8 +33762,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (359 >> 8) & 0xff, - 359 & 0xff} + (374 >> 8) & 0xff, + 374 & 0xff} } }, { @@ -33231,15 +33773,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2319 >> 8) & 0xff, - 2319 & 0xff, + (2384 >> 8) & 0xff, + 2384 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (360 >> 8) & 0xff, - 360 & 0xff} + (375 >> 8) & 0xff, + 375 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -33247,8 +33789,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2333 >> 8) & 0xff, - 2333 & 0xff, + (2398 >> 8) & 0xff, + 2398 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33257,8 +33799,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (363 >> 8) & 0xff, - 363 & 0xff} + (378 >> 8) & 0xff, + 378 & 0xff} } }, { @@ -33268,15 +33810,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2347 >> 8) & 0xff, - 2347 & 0xff, + (2412 >> 8) & 0xff, + 2412 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (366 >> 8) & 0xff, - 366 & 0xff} + (381 >> 8) & 0xff, + 381 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -33284,8 +33826,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2361 >> 8) & 0xff, - 2361 & 0xff, + (2426 >> 8) & 0xff, + 2426 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33294,8 +33836,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (369 >> 8) & 0xff, - 369 & 0xff} + (384 >> 8) & 0xff, + 384 & 0xff} } }, { @@ -33305,15 +33847,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2375 >> 8) & 0xff, - 2375 & 0xff, + (2440 >> 8) & 0xff, + 2440 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (372 >> 8) & 0xff, - 372 & 0xff} + (387 >> 8) & 0xff, + 387 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -33321,8 +33863,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2389 >> 8) & 0xff, - 2389 & 0xff, + (2454 >> 8) & 0xff, + 2454 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33331,8 +33873,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (375 >> 8) & 0xff, - 375 & 0xff} + (390 >> 8) & 0xff, + 390 & 0xff} } }, { @@ -33342,15 +33884,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2403 >> 8) & 0xff, - 2403 & 0xff, + (2468 >> 8) & 0xff, + 2468 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (378 >> 8) & 0xff, - 378 & 0xff} + (393 >> 8) & 0xff, + 393 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -33358,8 +33900,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2417 >> 8) & 0xff, - 2417 & 0xff, + (2482 >> 8) & 0xff, + 2482 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33368,8 +33910,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (381 >> 8) & 0xff, - 381 & 0xff} + (396 >> 8) & 0xff, + 396 & 0xff} } }, { @@ -33379,15 +33921,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2431 >> 8) & 0xff, - 2431 & 0xff, + (2496 >> 8) & 0xff, + 2496 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (384 >> 8) & 0xff, - 384 & 0xff} + (399 >> 8) & 0xff, + 399 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -33395,8 +33937,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2445 >> 8) & 0xff, - 2445 & 0xff, + (2510 >> 8) & 0xff, + 2510 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33405,8 +33947,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (387 >> 8) & 0xff, - 387 & 0xff} + (402 >> 8) & 0xff, + 402 & 0xff} } }, /* class_tid: 1, , table: em_flow_conflict_cache.wr */ @@ -33439,8 +33981,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2459 >> 8) & 0xff, - 2459 & 0xff, + (2524 >> 8) & 0xff, + 2524 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -33573,8 +34115,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2495 >> 8) & 0xff, - 2495 & 0xff, + (2563 >> 8) & 0xff, + 2563 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33589,8 +34131,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2497 >> 8) & 0xff, - 2497 & 0xff, + (2565 >> 8) & 0xff, + 2565 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33607,8 +34149,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2499 >> 8) & 0xff, - 2499 & 0xff, + (2567 >> 8) & 0xff, + 2567 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33623,8 +34165,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2501 >> 8) & 0xff, - 2501 & 0xff, + (2569 >> 8) & 0xff, + 2569 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33641,8 +34183,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2503 >> 8) & 0xff, - 2503 & 0xff, + (2571 >> 8) & 0xff, + 2571 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33657,8 +34199,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2505 >> 8) & 0xff, - 2505 & 0xff, + (2573 >> 8) & 0xff, + 2573 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33675,8 +34217,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2507 >> 8) & 0xff, - 2507 & 0xff, + (2575 >> 8) & 0xff, + 2575 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33691,8 +34233,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2509 >> 8) & 0xff, - 2509 & 0xff, + (2577 >> 8) & 0xff, + 2577 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33709,8 +34251,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2511 >> 8) & 0xff, - 2511 & 0xff, + (2579 >> 8) & 0xff, + 2579 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33725,8 +34267,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2513 >> 8) & 0xff, - 2513 & 0xff, + (2581 >> 8) & 0xff, + 2581 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33743,8 +34285,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2515 >> 8) & 0xff, - 2515 & 0xff, + (2583 >> 8) & 0xff, + 2583 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33759,8 +34301,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2517 >> 8) & 0xff, - 2517 & 0xff, + (2585 >> 8) & 0xff, + 2585 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33777,8 +34319,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2519 >> 8) & 0xff, - 2519 & 0xff, + (2587 >> 8) & 0xff, + 2587 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33793,8 +34335,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2521 >> 8) & 0xff, - 2521 & 0xff, + (2589 >> 8) & 0xff, + 2589 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33861,8 +34403,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2524 >> 8) & 0xff, - 2524 & 0xff, + (2592 >> 8) & 0xff, + 2592 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33877,8 +34419,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2526 >> 8) & 0xff, - 2526 & 0xff, + (2594 >> 8) & 0xff, + 2594 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33895,8 +34437,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2528 >> 8) & 0xff, - 2528 & 0xff, + (2596 >> 8) & 0xff, + 2596 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33911,8 +34453,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2530 >> 8) & 0xff, - 2530 & 0xff, + (2598 >> 8) & 0xff, + 2598 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33929,8 +34471,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2532 >> 8) & 0xff, - 2532 & 0xff, + (2600 >> 8) & 0xff, + 2600 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33945,8 +34487,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2534 >> 8) & 0xff, - 2534 & 0xff, + (2602 >> 8) & 0xff, + 2602 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33963,8 +34505,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2536 >> 8) & 0xff, - 2536 & 0xff, + (2604 >> 8) & 0xff, + 2604 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33979,8 +34521,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2538 >> 8) & 0xff, - 2538 & 0xff, + (2606 >> 8) & 0xff, + 2606 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33997,8 +34539,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2540 >> 8) & 0xff, - 2540 & 0xff, + (2608 >> 8) & 0xff, + 2608 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34013,8 +34555,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2542 >> 8) & 0xff, - 2542 & 0xff, + (2610 >> 8) & 0xff, + 2610 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34031,8 +34573,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2544 >> 8) & 0xff, - 2544 & 0xff, + (2612 >> 8) & 0xff, + 2612 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34047,8 +34589,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2546 >> 8) & 0xff, - 2546 & 0xff, + (2614 >> 8) & 0xff, + 2614 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34065,8 +34607,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2548 >> 8) & 0xff, - 2548 & 0xff, + (2616 >> 8) & 0xff, + 2616 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34081,8 +34623,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2550 >> 8) & 0xff, - 2550 & 0xff, + (2618 >> 8) & 0xff, + 2618 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34154,8 +34696,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2562 >> 8) & 0xff, - 2562 & 0xff, + (2630 >> 8) & 0xff, + 2630 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -34226,8 +34768,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2565 >> 8) & 0xff, - 2565 & 0xff, + (2633 >> 8) & 0xff, + 2633 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -34322,8 +34864,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2569 >> 8) & 0xff, - 2569 & 0xff, + (2637 >> 8) & 0xff, + 2637 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CF, @@ -34360,8 +34902,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2830 >> 8) & 0xff, - 2830 & 0xff, + (2898 >> 8) & 0xff, + 2898 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34373,8 +34915,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2832 >> 8) & 0xff, - 2832 & 0xff, + (2900 >> 8) & 0xff, + 2900 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34388,8 +34930,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2834 >> 8) & 0xff, - 2834 & 0xff, + (2902 >> 8) & 0xff, + 2902 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34401,8 +34943,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2837 >> 8) & 0xff, - 2837 & 0xff, + (2905 >> 8) & 0xff, + 2905 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34416,8 +34958,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2840 >> 8) & 0xff, - 2840 & 0xff, + (2908 >> 8) & 0xff, + 2908 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34429,8 +34971,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2841 >> 8) & 0xff, - 2841 & 0xff, + (2909 >> 8) & 0xff, + 2909 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -34447,8 +34989,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2842 >> 8) & 0xff, - 2842 & 0xff, + (2910 >> 8) & 0xff, + 2910 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34460,8 +35002,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2846 >> 8) & 0xff, - 2846 & 0xff, + (2914 >> 8) & 0xff, + 2914 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34475,14 +35017,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2850 >> 8) & 0xff, - 2850 & 0xff, + (2918 >> 8) & 0xff, + 2918 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (433 >> 8) & 0xff, - 433 & 0xff}, + (448 >> 8) & 0xff, + 448 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -34491,14 +35033,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2857 >> 8) & 0xff, - 2857 & 0xff, + (2925 >> 8) & 0xff, + 2925 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (434 >> 8) & 0xff, - 434 & 0xff}, + (449 >> 8) & 0xff, + 449 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -34509,8 +35051,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2864 >> 8) & 0xff, - 2864 & 0xff, + (2932 >> 8) & 0xff, + 2932 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34522,8 +35064,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2869 >> 8) & 0xff, - 2869 & 0xff, + (2937 >> 8) & 0xff, + 2937 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34537,15 +35079,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2874 >> 8) & 0xff, - 2874 & 0xff, + (2942 >> 8) & 0xff, + 2942 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (435 >> 8) & 0xff, - 435 & 0xff} + (450 >> 8) & 0xff, + 450 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -34553,15 +35095,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2884 >> 8) & 0xff, - 2884 & 0xff, + (2952 >> 8) & 0xff, + 2952 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (436 >> 8) & 0xff, - 436 & 0xff} + (451 >> 8) & 0xff, + 451 & 0xff} } }, { @@ -34571,8 +35113,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2894 >> 8) & 0xff, - 2894 & 0xff, + (2962 >> 8) & 0xff, + 2962 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34584,8 +35126,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2899 >> 8) & 0xff, - 2899 & 0xff, + (2967 >> 8) & 0xff, + 2967 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34599,8 +35141,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2904 >> 8) & 0xff, - 2904 & 0xff, + (2972 >> 8) & 0xff, + 2972 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34612,8 +35154,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2908 >> 8) & 0xff, - 2908 & 0xff, + (2976 >> 8) & 0xff, + 2976 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34627,14 +35169,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2912 >> 8) & 0xff, - 2912 & 0xff, + (2980 >> 8) & 0xff, + 2980 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (437 >> 8) & 0xff, - 437 & 0xff}, + (452 >> 8) & 0xff, + 452 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -34643,14 +35185,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2917 >> 8) & 0xff, - 2917 & 0xff, + (2985 >> 8) & 0xff, + 2985 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (438 >> 8) & 0xff, - 438 & 0xff}, + (453 >> 8) & 0xff, + 453 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -34661,8 +35203,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2922 >> 8) & 0xff, - 2922 & 0xff, + (2990 >> 8) & 0xff, + 2990 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34674,8 +35216,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2926 >> 8) & 0xff, - 2926 & 0xff, + (2994 >> 8) & 0xff, + 2994 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34689,8 +35231,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2930 >> 8) & 0xff, - 2930 & 0xff, + (2998 >> 8) & 0xff, + 2998 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34702,8 +35244,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2934 >> 8) & 0xff, - 2934 & 0xff, + (3002 >> 8) & 0xff, + 3002 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34717,15 +35259,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2938 >> 8) & 0xff, - 2938 & 0xff, + (3006 >> 8) & 0xff, + 3006 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (439 >> 8) & 0xff, - 439 & 0xff} + (454 >> 8) & 0xff, + 454 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -34733,15 +35275,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2946 >> 8) & 0xff, - 2946 & 0xff, + (3014 >> 8) & 0xff, + 3014 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (440 >> 8) & 0xff, - 440 & 0xff} + (455 >> 8) & 0xff, + 455 & 0xff} } }, { @@ -34751,15 +35293,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2954 >> 8) & 0xff, - 2954 & 0xff, + (3022 >> 8) & 0xff, + 3022 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (441 >> 8) & 0xff, - 441 & 0xff} + (456 >> 8) & 0xff, + 456 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -34767,15 +35309,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2962 >> 8) & 0xff, - 2962 & 0xff, + (3030 >> 8) & 0xff, + 3030 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (442 >> 8) & 0xff, - 442 & 0xff} + (457 >> 8) & 0xff, + 457 & 0xff} } }, { @@ -34785,15 +35327,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2970 >> 8) & 0xff, - 2970 & 0xff, + (3038 >> 8) & 0xff, + 3038 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (443 >> 8) & 0xff, - 443 & 0xff} + (458 >> 8) & 0xff, + 458 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -34801,15 +35343,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2978 >> 8) & 0xff, - 2978 & 0xff, + (3046 >> 8) & 0xff, + 3046 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (444 >> 8) & 0xff, - 444 & 0xff} + (459 >> 8) & 0xff, + 459 & 0xff} } }, { @@ -34819,15 +35361,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2986 >> 8) & 0xff, - 2986 & 0xff, + (3054 >> 8) & 0xff, + 3054 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (445 >> 8) & 0xff, - 445 & 0xff} + (460 >> 8) & 0xff, + 460 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -34835,15 +35377,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2994 >> 8) & 0xff, - 2994 & 0xff, + (3062 >> 8) & 0xff, + 3062 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (446 >> 8) & 0xff, - 446 & 0xff} + (461 >> 8) & 0xff, + 461 & 0xff} } }, { @@ -34853,15 +35395,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3002 >> 8) & 0xff, - 3002 & 0xff, + (3070 >> 8) & 0xff, + 3070 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (447 >> 8) & 0xff, - 447 & 0xff} + (462 >> 8) & 0xff, + 462 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -34869,15 +35411,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3011 >> 8) & 0xff, - 3011 & 0xff, + (3079 >> 8) & 0xff, + 3079 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (448 >> 8) & 0xff, - 448 & 0xff} + (463 >> 8) & 0xff, + 463 & 0xff} } }, { @@ -34887,15 +35429,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3020 >> 8) & 0xff, - 3020 & 0xff, + (3088 >> 8) & 0xff, + 3088 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (449 >> 8) & 0xff, - 449 & 0xff} + (464 >> 8) & 0xff, + 464 & 0xff} }, .field_info_spec = { .description = "tids", @@ -34903,15 +35445,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3026 >> 8) & 0xff, - 3026 & 0xff, + (3094 >> 8) & 0xff, + 3094 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (450 >> 8) & 0xff, - 450 & 0xff} + (465 >> 8) & 0xff, + 465 & 0xff} } }, { @@ -34921,15 +35463,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3032 >> 8) & 0xff, - 3032 & 0xff, + (3100 >> 8) & 0xff, + 3100 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (451 >> 8) & 0xff, - 451 & 0xff} + (466 >> 8) & 0xff, + 466 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -34937,15 +35479,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3039 >> 8) & 0xff, - 3039 & 0xff, + (3107 >> 8) & 0xff, + 3107 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (452 >> 8) & 0xff, - 452 & 0xff} + (467 >> 8) & 0xff, + 467 & 0xff} } }, { @@ -34955,15 +35497,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3046 >> 8) & 0xff, - 3046 & 0xff, + (3114 >> 8) & 0xff, + 3114 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (453 >> 8) & 0xff, - 453 & 0xff} + (468 >> 8) & 0xff, + 468 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -34971,15 +35513,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3053 >> 8) & 0xff, - 3053 & 0xff, + (3121 >> 8) & 0xff, + 3121 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (454 >> 8) & 0xff, - 454 & 0xff} + (469 >> 8) & 0xff, + 469 & 0xff} } }, { @@ -34989,15 +35531,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3060 >> 8) & 0xff, - 3060 & 0xff, + (3128 >> 8) & 0xff, + 3128 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (455 >> 8) & 0xff, - 455 & 0xff} + (470 >> 8) & 0xff, + 470 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -35005,15 +35547,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3069 >> 8) & 0xff, - 3069 & 0xff, + (3137 >> 8) & 0xff, + 3137 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (456 >> 8) & 0xff, - 456 & 0xff} + (471 >> 8) & 0xff, + 471 & 0xff} } }, { @@ -35023,15 +35565,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3078 >> 8) & 0xff, - 3078 & 0xff, + (3146 >> 8) & 0xff, + 3146 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (457 >> 8) & 0xff, - 457 & 0xff} + (472 >> 8) & 0xff, + 472 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -35039,15 +35581,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3096 >> 8) & 0xff, - 3096 & 0xff, + (3164 >> 8) & 0xff, + 3164 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (460 >> 8) & 0xff, - 460 & 0xff} + (475 >> 8) & 0xff, + 475 & 0xff} } }, { @@ -35057,15 +35599,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3114 >> 8) & 0xff, - 3114 & 0xff, + (3182 >> 8) & 0xff, + 3182 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (463 >> 8) & 0xff, - 463 & 0xff} + (478 >> 8) & 0xff, + 478 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -35073,15 +35615,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3123 >> 8) & 0xff, - 3123 & 0xff, + (3191 >> 8) & 0xff, + 3191 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (464 >> 8) & 0xff, - 464 & 0xff} + (479 >> 8) & 0xff, + 479 & 0xff} } }, { @@ -35091,15 +35633,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3132 >> 8) & 0xff, - 3132 & 0xff, + (3200 >> 8) & 0xff, + 3200 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (465 >> 8) & 0xff, - 465 & 0xff} + (480 >> 8) & 0xff, + 480 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -35107,15 +35649,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3139 >> 8) & 0xff, - 3139 & 0xff, + (3207 >> 8) & 0xff, + 3207 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (466 >> 8) & 0xff, - 466 & 0xff} + (481 >> 8) & 0xff, + 481 & 0xff} } }, { @@ -35125,15 +35667,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3146 >> 8) & 0xff, - 3146 & 0xff, + (3214 >> 8) & 0xff, + 3214 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (467 >> 8) & 0xff, - 467 & 0xff} + (482 >> 8) & 0xff, + 482 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -35141,15 +35683,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3153 >> 8) & 0xff, - 3153 & 0xff, + (3221 >> 8) & 0xff, + 3221 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (468 >> 8) & 0xff, - 468 & 0xff} + (483 >> 8) & 0xff, + 483 & 0xff} } }, { @@ -35159,15 +35701,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3160 >> 8) & 0xff, - 3160 & 0xff, + (3228 >> 8) & 0xff, + 3228 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (469 >> 8) & 0xff, - 469 & 0xff} + (484 >> 8) & 0xff, + 484 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -35175,15 +35717,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3167 >> 8) & 0xff, - 3167 & 0xff, + (3235 >> 8) & 0xff, + 3235 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (470 >> 8) & 0xff, - 470 & 0xff} + (485 >> 8) & 0xff, + 485 & 0xff} } }, { @@ -35193,15 +35735,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3174 >> 8) & 0xff, - 3174 & 0xff, + (3242 >> 8) & 0xff, + 3242 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (471 >> 8) & 0xff, - 471 & 0xff} + (486 >> 8) & 0xff, + 486 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -35209,15 +35751,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3181 >> 8) & 0xff, - 3181 & 0xff, + (3249 >> 8) & 0xff, + 3249 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (472 >> 8) & 0xff, - 472 & 0xff} + (487 >> 8) & 0xff, + 487 & 0xff} } }, { @@ -35227,15 +35769,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3188 >> 8) & 0xff, - 3188 & 0xff, + (3256 >> 8) & 0xff, + 3256 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (473 >> 8) & 0xff, - 473 & 0xff} + (488 >> 8) & 0xff, + 488 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -35243,15 +35785,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3202 >> 8) & 0xff, - 3202 & 0xff, + (3270 >> 8) & 0xff, + 3270 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (476 >> 8) & 0xff, - 476 & 0xff} + (491 >> 8) & 0xff, + 491 & 0xff} } }, { @@ -35261,15 +35803,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3216 >> 8) & 0xff, - 3216 & 0xff, + (3284 >> 8) & 0xff, + 3284 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (479 >> 8) & 0xff, - 479 & 0xff} + (494 >> 8) & 0xff, + 494 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -35277,15 +35819,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3240 >> 8) & 0xff, - 3240 & 0xff, + (3308 >> 8) & 0xff, + 3308 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (486 >> 8) & 0xff, - 486 & 0xff} + (501 >> 8) & 0xff, + 501 & 0xff} } }, { @@ -35295,15 +35837,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3264 >> 8) & 0xff, - 3264 & 0xff, + (3332 >> 8) & 0xff, + 3332 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (493 >> 8) & 0xff, - 493 & 0xff} + (508 >> 8) & 0xff, + 508 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -35311,15 +35853,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3278 >> 8) & 0xff, - 3278 & 0xff, + (3346 >> 8) & 0xff, + 3346 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (496 >> 8) & 0xff, - 496 & 0xff} + (511 >> 8) & 0xff, + 511 & 0xff} } }, { @@ -35329,15 +35871,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3292 >> 8) & 0xff, - 3292 & 0xff, + (3360 >> 8) & 0xff, + 3360 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (499 >> 8) & 0xff, - 499 & 0xff} + (514 >> 8) & 0xff, + 514 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -35345,15 +35887,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3308 >> 8) & 0xff, - 3308 & 0xff, + (3376 >> 8) & 0xff, + 3376 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (503 >> 8) & 0xff, - 503 & 0xff} + (518 >> 8) & 0xff, + 518 & 0xff} } }, { @@ -35363,15 +35905,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3324 >> 8) & 0xff, - 3324 & 0xff, + (3392 >> 8) & 0xff, + 3392 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (507 >> 8) & 0xff, - 507 & 0xff} + (522 >> 8) & 0xff, + 522 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -35379,15 +35921,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3340 >> 8) & 0xff, - 3340 & 0xff, + (3408 >> 8) & 0xff, + 3408 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (511 >> 8) & 0xff, - 511 & 0xff} + (526 >> 8) & 0xff, + 526 & 0xff} } }, /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ @@ -35406,8 +35948,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3356 >> 8) & 0xff, - 3356 & 0xff, + (3424 >> 8) & 0xff, + 3424 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -35471,15 +36013,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3375 >> 8) & 0xff, - 3375 & 0xff, + (3443 >> 8) & 0xff, + 3443 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (523 >> 8) & 0xff, - 523 & 0xff} + (538 >> 8) & 0xff, + 538 & 0xff} }, .field_info_spec = { .description = "l4_hdr_is_udp_tcp", @@ -35487,8 +36029,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3383 >> 8) & 0xff, - 3383 & 0xff, + (3451 >> 8) & 0xff, + 3451 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35496,8 +36038,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (526 >> 8) & 0xff, - 526 & 0xff} + (541 >> 8) & 0xff, + 541 & 0xff} } }, { @@ -35507,15 +36049,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3391 >> 8) & 0xff, - 3391 & 0xff, + (3459 >> 8) & 0xff, + 3459 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (529 >> 8) & 0xff, - 529 & 0xff} + (544 >> 8) & 0xff, + 544 & 0xff} }, .field_info_spec = { .description = "l4_hdr_type", @@ -35523,15 +36065,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3399 >> 8) & 0xff, - 3399 & 0xff, + (3467 >> 8) & 0xff, + 3467 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (532 >> 8) & 0xff, - 532 & 0xff} + (547 >> 8) & 0xff, + 547 & 0xff} } }, { @@ -35541,15 +36083,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3407 >> 8) & 0xff, - 3407 & 0xff, + (3475 >> 8) & 0xff, + 3475 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (535 >> 8) & 0xff, - 535 & 0xff} + (550 >> 8) & 0xff, + 550 & 0xff} }, .field_info_spec = { .description = "l4_hdr_error", @@ -35557,15 +36099,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3415 >> 8) & 0xff, - 3415 & 0xff, + (3483 >> 8) & 0xff, + 3483 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (538 >> 8) & 0xff, - 538 & 0xff} + (553 >> 8) & 0xff, + 553 & 0xff} } }, { @@ -35575,15 +36117,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3423 >> 8) & 0xff, - 3423 & 0xff, + (3491 >> 8) & 0xff, + 3491 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (541 >> 8) & 0xff, - 541 & 0xff} + (556 >> 8) & 0xff, + 556 & 0xff} }, .field_info_spec = { .description = "l4_hdr_valid", @@ -35591,8 +36133,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3431 >> 8) & 0xff, - 3431 & 0xff, + (3499 >> 8) & 0xff, + 3499 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35600,8 +36142,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (544 >> 8) & 0xff, - 544 & 0xff} + (559 >> 8) & 0xff, + 559 & 0xff} } }, { @@ -35661,8 +36203,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3439 >> 8) & 0xff, - 3439 & 0xff, + (3507 >> 8) & 0xff, + 3507 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35670,8 +36212,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (547 >> 8) & 0xff, - 547 & 0xff} + (562 >> 8) & 0xff, + 562 & 0xff} } }, { @@ -35681,15 +36223,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3447 >> 8) & 0xff, - 3447 & 0xff, + (3515 >> 8) & 0xff, + 3515 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (550 >> 8) & 0xff, - 550 & 0xff} + (565 >> 8) & 0xff, + 565 & 0xff} }, .field_info_spec = { .description = "l3_hdr_type", @@ -35697,8 +36239,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3455 >> 8) & 0xff, - 3455 & 0xff, + (3523 >> 8) & 0xff, + 3523 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35706,8 +36248,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (553 >> 8) & 0xff, - 553 & 0xff} + (568 >> 8) & 0xff, + 568 & 0xff} } }, { @@ -35717,15 +36259,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3463 >> 8) & 0xff, - 3463 & 0xff, + (3531 >> 8) & 0xff, + 3531 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (556 >> 8) & 0xff, - 556 & 0xff} + (571 >> 8) & 0xff, + 571 & 0xff} }, .field_info_spec = { .description = "l3_hdr_error", @@ -35733,15 +36275,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3471 >> 8) & 0xff, - 3471 & 0xff, + (3539 >> 8) & 0xff, + 3539 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (559 >> 8) & 0xff, - 559 & 0xff} + (574 >> 8) & 0xff, + 574 & 0xff} } }, { @@ -35751,15 +36293,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3479 >> 8) & 0xff, - 3479 & 0xff, + (3547 >> 8) & 0xff, + 3547 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (562 >> 8) & 0xff, - 562 & 0xff} + (577 >> 8) & 0xff, + 577 & 0xff} }, .field_info_spec = { .description = "l3_hdr_valid", @@ -35767,8 +36309,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3487 >> 8) & 0xff, - 3487 & 0xff, + (3555 >> 8) & 0xff, + 3555 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35776,8 +36318,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (565 >> 8) & 0xff, - 565 & 0xff} + (580 >> 8) & 0xff, + 580 & 0xff} } }, { @@ -35795,8 +36337,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3495 >> 8) & 0xff, - 3495 & 0xff, + (3563 >> 8) & 0xff, + 3563 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35804,8 +36346,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_TWO_VTAGS_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (568 >> 8) & 0xff, - 568 & 0xff} + (583 >> 8) & 0xff, + 583 & 0xff} } }, { @@ -35823,8 +36365,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3501 >> 8) & 0xff, - 3501 & 0xff, + (3569 >> 8) & 0xff, + 3569 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35832,8 +36374,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_VTAG_PRESENT_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (569 >> 8) & 0xff, - 569 & 0xff} + (584 >> 8) & 0xff, + 584 & 0xff} } }, { @@ -35859,8 +36401,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3507 >> 8) & 0xff, - 3507 & 0xff, + (3575 >> 8) & 0xff, + 3575 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -35872,8 +36414,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3508 >> 8) & 0xff, - 3508 & 0xff, + (3576 >> 8) & 0xff, + 3576 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -35887,15 +36429,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3509 >> 8) & 0xff, - 3509 & 0xff, + (3577 >> 8) & 0xff, + 3577 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (570 >> 8) & 0xff, - 570 & 0xff} + (585 >> 8) & 0xff, + 585 & 0xff} }, .field_info_spec = { .description = "l2_hdr_error", @@ -35903,15 +36445,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3513 >> 8) & 0xff, - 3513 & 0xff, + (3581 >> 8) & 0xff, + 3581 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (571 >> 8) & 0xff, - 571 & 0xff} + (586 >> 8) & 0xff, + 586 & 0xff} } }, { @@ -35929,8 +36471,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3517 >> 8) & 0xff, - 3517 & 0xff, + (3585 >> 8) & 0xff, + 3585 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35938,8 +36480,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (572 >> 8) & 0xff, - 572 & 0xff} + (587 >> 8) & 0xff, + 587 & 0xff} } }, { @@ -35963,15 +36505,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3521 >> 8) & 0xff, - 3521 & 0xff, + (3589 >> 8) & 0xff, + 3589 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (573 >> 8) & 0xff, - 573 & 0xff} + (588 >> 8) & 0xff, + 588 & 0xff} }, .field_info_spec = { .description = "tun_hdr_type", @@ -35979,15 +36521,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3533 >> 8) & 0xff, - 3533 & 0xff, + (3601 >> 8) & 0xff, + 3601 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (578 >> 8) & 0xff, - 578 & 0xff} + (593 >> 8) & 0xff, + 593 & 0xff} } }, { @@ -35997,8 +36539,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3545 >> 8) & 0xff, - 3545 & 0xff, + (3613 >> 8) & 0xff, + 3613 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -36010,8 +36552,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3546 >> 8) & 0xff, - 3546 & 0xff, + (3614 >> 8) & 0xff, + 3614 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -36033,8 +36575,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3547 >> 8) & 0xff, - 3547 & 0xff, + (3615 >> 8) & 0xff, + 3615 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36050,15 +36592,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3548 >> 8) & 0xff, - 3548 & 0xff, + (3616 >> 8) & 0xff, + 3616 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (583 >> 8) & 0xff, - 583 & 0xff} + (598 >> 8) & 0xff, + 598 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_is_udp_tcp", @@ -36066,8 +36608,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3552 >> 8) & 0xff, - 3552 & 0xff, + (3620 >> 8) & 0xff, + 3620 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36075,8 +36617,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (584 >> 8) & 0xff, - 584 & 0xff} + (599 >> 8) & 0xff, + 599 & 0xff} } }, { @@ -36086,15 +36628,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3556 >> 8) & 0xff, - 3556 & 0xff, + (3624 >> 8) & 0xff, + 3624 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (585 >> 8) & 0xff, - 585 & 0xff} + (600 >> 8) & 0xff, + 600 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_type", @@ -36102,15 +36644,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3560 >> 8) & 0xff, - 3560 & 0xff, + (3628 >> 8) & 0xff, + 3628 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (586 >> 8) & 0xff, - 586 & 0xff} + (601 >> 8) & 0xff, + 601 & 0xff} } }, { @@ -36120,15 +36662,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3564 >> 8) & 0xff, - 3564 & 0xff, + (3632 >> 8) & 0xff, + 3632 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (587 >> 8) & 0xff, - 587 & 0xff} + (602 >> 8) & 0xff, + 602 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_error", @@ -36136,15 +36678,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3568 >> 8) & 0xff, - 3568 & 0xff, + (3636 >> 8) & 0xff, + 3636 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (588 >> 8) & 0xff, - 588 & 0xff} + (603 >> 8) & 0xff, + 603 & 0xff} } }, { @@ -36154,15 +36696,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3572 >> 8) & 0xff, - 3572 & 0xff, + (3640 >> 8) & 0xff, + 3640 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (589 >> 8) & 0xff, - 589 & 0xff} + (604 >> 8) & 0xff, + 604 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_valid", @@ -36170,8 +36712,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3577 >> 8) & 0xff, - 3577 & 0xff, + (3645 >> 8) & 0xff, + 3645 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36179,8 +36721,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (591 >> 8) & 0xff, - 591 & 0xff} + (606 >> 8) & 0xff, + 606 & 0xff} } }, { @@ -36226,8 +36768,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3582 >> 8) & 0xff, - 3582 & 0xff, + (3650 >> 8) & 0xff, + 3650 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36235,8 +36777,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (593 >> 8) & 0xff, - 593 & 0xff} + (608 >> 8) & 0xff, + 608 & 0xff} } }, { @@ -36246,15 +36788,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3586 >> 8) & 0xff, - 3586 & 0xff, + (3654 >> 8) & 0xff, + 3654 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (594 >> 8) & 0xff, - 594 & 0xff} + (609 >> 8) & 0xff, + 609 & 0xff} }, .field_info_spec = { .description = "tl3_hdr_type", @@ -36262,8 +36804,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3590 >> 8) & 0xff, - 3590 & 0xff, + (3658 >> 8) & 0xff, + 3658 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36271,8 +36813,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (595 >> 8) & 0xff, - 595 & 0xff} + (610 >> 8) & 0xff, + 610 & 0xff} } }, { @@ -36282,15 +36824,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3594 >> 8) & 0xff, - 3594 & 0xff, + (3662 >> 8) & 0xff, + 3662 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (596 >> 8) & 0xff, - 596 & 0xff} + (611 >> 8) & 0xff, + 611 & 0xff} }, .field_info_spec = { .description = "tl3_hdr_error", @@ -36298,15 +36840,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3598 >> 8) & 0xff, - 3598 & 0xff, + (3666 >> 8) & 0xff, + 3666 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (597 >> 8) & 0xff, - 597 & 0xff} + (612 >> 8) & 0xff, + 612 & 0xff} } }, { @@ -36324,8 +36866,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3602 >> 8) & 0xff, - 3602 & 0xff, + (3670 >> 8) & 0xff, + 3670 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36333,8 +36875,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (598 >> 8) & 0xff, - 598 & 0xff} + (613 >> 8) & 0xff, + 613 & 0xff} } }, { @@ -36352,8 +36894,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3606 >> 8) & 0xff, - 3606 & 0xff, + (3674 >> 8) & 0xff, + 3674 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36377,8 +36919,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3609 >> 8) & 0xff, - 3609 & 0xff, + (3677 >> 8) & 0xff, + 3677 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36408,8 +36950,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3612 >> 8) & 0xff, - 3612 & 0xff, + (3680 >> 8) & 0xff, + 3680 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -36421,8 +36963,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3613 >> 8) & 0xff, - 3613 & 0xff, + (3681 >> 8) & 0xff, + 3681 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -36444,8 +36986,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3614 >> 8) & 0xff, - 3614 & 0xff, + (3682 >> 8) & 0xff, + 3682 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36517,15 +37059,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3616 >> 8) & 0xff, - 3616 & 0xff, + (3684 >> 8) & 0xff, + 3684 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (599 >> 8) & 0xff, - 599 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (614 >> 8) & 0xff, + 614 & 0xff} } }, { @@ -36603,8 +37148,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3619 >> 8) & 0xff, - 3619 & 0xff, + (3688 >> 8) & 0xff, + 3688 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -36616,8 +37161,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3621 >> 8) & 0xff, - 3621 & 0xff, + (3690 >> 8) & 0xff, + 3690 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -36634,8 +37179,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3623 >> 8) & 0xff, - 3623 & 0xff, + (3692 >> 8) & 0xff, + 3692 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -36647,15 +37192,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3626 >> 8) & 0xff, - 3626 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (3695 >> 8) & 0xff, + 3695 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (600 >> 8) & 0xff, - 600 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (615 >> 8) & 0xff, + 615 & 0xff} } }, { @@ -36665,8 +37213,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3630 >> 8) & 0xff, - 3630 & 0xff, + (3699 >> 8) & 0xff, + 3699 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -36678,8 +37226,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3631 >> 8) & 0xff, - 3631 & 0xff, + (3700 >> 8) & 0xff, + 3700 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -36696,8 +37244,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3632 >> 8) & 0xff, - 3632 & 0xff, + (3701 >> 8) & 0xff, + 3701 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36712,8 +37260,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3636 >> 8) & 0xff, - 3636 & 0xff, + (3705 >> 8) & 0xff, + 3705 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36730,14 +37278,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3640 >> 8) & 0xff, - 3640 & 0xff, + (3709 >> 8) & 0xff, + 3709 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (601 >> 8) & 0xff, - 601 & 0xff}, + (617 >> 8) & 0xff, + 617 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -36746,14 +37294,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3647 >> 8) & 0xff, - 3647 & 0xff, + (3716 >> 8) & 0xff, + 3716 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (602 >> 8) & 0xff, - 602 & 0xff}, + (618 >> 8) & 0xff, + 618 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -36764,8 +37312,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3654 >> 8) & 0xff, - 3654 & 0xff, + (3723 >> 8) & 0xff, + 3723 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36780,8 +37328,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3659 >> 8) & 0xff, - 3659 & 0xff, + (3728 >> 8) & 0xff, + 3728 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36798,8 +37346,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3664 >> 8) & 0xff, - 3664 & 0xff, + (3733 >> 8) & 0xff, + 3733 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36808,8 +37356,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (603 >> 8) & 0xff, - 603 & 0xff} + (619 >> 8) & 0xff, + 619 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -36817,8 +37365,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3674 >> 8) & 0xff, - 3674 & 0xff, + (3743 >> 8) & 0xff, + 3743 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36827,8 +37375,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (604 >> 8) & 0xff, - 604 & 0xff} + (620 >> 8) & 0xff, + 620 & 0xff} } }, { @@ -36838,8 +37386,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3684 >> 8) & 0xff, - 3684 & 0xff, + (3753 >> 8) & 0xff, + 3753 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36854,8 +37402,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3689 >> 8) & 0xff, - 3689 & 0xff, + (3758 >> 8) & 0xff, + 3758 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36872,8 +37420,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3694 >> 8) & 0xff, - 3694 & 0xff, + (3763 >> 8) & 0xff, + 3763 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36888,8 +37436,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3698 >> 8) & 0xff, - 3698 & 0xff, + (3767 >> 8) & 0xff, + 3767 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36906,14 +37454,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3702 >> 8) & 0xff, - 3702 & 0xff, + (3771 >> 8) & 0xff, + 3771 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (605 >> 8) & 0xff, - 605 & 0xff}, + (621 >> 8) & 0xff, + 621 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -36922,14 +37470,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3707 >> 8) & 0xff, - 3707 & 0xff, + (3776 >> 8) & 0xff, + 3776 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (606 >> 8) & 0xff, - 606 & 0xff}, + (622 >> 8) & 0xff, + 622 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -36940,8 +37488,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3712 >> 8) & 0xff, - 3712 & 0xff, + (3781 >> 8) & 0xff, + 3781 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36956,8 +37504,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3716 >> 8) & 0xff, - 3716 & 0xff, + (3785 >> 8) & 0xff, + 3785 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36974,8 +37522,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3720 >> 8) & 0xff, - 3720 & 0xff, + (3789 >> 8) & 0xff, + 3789 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36990,8 +37538,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3724 >> 8) & 0xff, - 3724 & 0xff, + (3793 >> 8) & 0xff, + 3793 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37008,8 +37556,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3728 >> 8) & 0xff, - 3728 & 0xff, + (3797 >> 8) & 0xff, + 3797 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37018,8 +37566,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (607 >> 8) & 0xff, - 607 & 0xff} + (623 >> 8) & 0xff, + 623 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -37027,8 +37575,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3736 >> 8) & 0xff, - 3736 & 0xff, + (3805 >> 8) & 0xff, + 3805 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37037,8 +37585,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (608 >> 8) & 0xff, - 608 & 0xff} + (624 >> 8) & 0xff, + 624 & 0xff} } }, { @@ -37048,8 +37596,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3744 >> 8) & 0xff, - 3744 & 0xff, + (3813 >> 8) & 0xff, + 3813 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37058,8 +37606,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (609 >> 8) & 0xff, - 609 & 0xff} + (625 >> 8) & 0xff, + 625 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -37067,8 +37615,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3752 >> 8) & 0xff, - 3752 & 0xff, + (3821 >> 8) & 0xff, + 3821 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37077,8 +37625,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (610 >> 8) & 0xff, - 610 & 0xff} + (626 >> 8) & 0xff, + 626 & 0xff} } }, { @@ -37088,8 +37636,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3760 >> 8) & 0xff, - 3760 & 0xff, + (3829 >> 8) & 0xff, + 3829 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37098,8 +37646,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (611 >> 8) & 0xff, - 611 & 0xff} + (627 >> 8) & 0xff, + 627 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -37107,8 +37655,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3768 >> 8) & 0xff, - 3768 & 0xff, + (3837 >> 8) & 0xff, + 3837 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37117,8 +37665,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (612 >> 8) & 0xff, - 612 & 0xff} + (628 >> 8) & 0xff, + 628 & 0xff} } }, { @@ -37128,8 +37676,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3776 >> 8) & 0xff, - 3776 & 0xff, + (3845 >> 8) & 0xff, + 3845 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37138,8 +37686,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (613 >> 8) & 0xff, - 613 & 0xff} + (629 >> 8) & 0xff, + 629 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -37147,8 +37695,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3784 >> 8) & 0xff, - 3784 & 0xff, + (3853 >> 8) & 0xff, + 3853 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37157,8 +37705,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (614 >> 8) & 0xff, - 614 & 0xff} + (630 >> 8) & 0xff, + 630 & 0xff} } }, { @@ -37168,8 +37716,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3792 >> 8) & 0xff, - 3792 & 0xff, + (3861 >> 8) & 0xff, + 3861 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37178,8 +37726,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (615 >> 8) & 0xff, - 615 & 0xff} + (631 >> 8) & 0xff, + 631 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -37187,8 +37735,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3801 >> 8) & 0xff, - 3801 & 0xff, + (3870 >> 8) & 0xff, + 3870 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37197,8 +37745,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (616 >> 8) & 0xff, - 616 & 0xff} + (632 >> 8) & 0xff, + 632 & 0xff} } }, { @@ -37208,8 +37756,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3810 >> 8) & 0xff, - 3810 & 0xff, + (3879 >> 8) & 0xff, + 3879 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37218,8 +37766,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (617 >> 8) & 0xff, - 617 & 0xff} + (633 >> 8) & 0xff, + 633 & 0xff} }, .field_info_spec = { .description = "tids", @@ -37227,8 +37775,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3816 >> 8) & 0xff, - 3816 & 0xff, + (3885 >> 8) & 0xff, + 3885 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37237,8 +37785,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (618 >> 8) & 0xff, - 618 & 0xff} + (634 >> 8) & 0xff, + 634 & 0xff} } }, { @@ -37248,8 +37796,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3822 >> 8) & 0xff, - 3822 & 0xff, + (3891 >> 8) & 0xff, + 3891 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37258,8 +37806,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (619 >> 8) & 0xff, - 619 & 0xff} + (635 >> 8) & 0xff, + 635 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -37267,8 +37815,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3829 >> 8) & 0xff, - 3829 & 0xff, + (3898 >> 8) & 0xff, + 3898 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37277,8 +37825,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (620 >> 8) & 0xff, - 620 & 0xff} + (636 >> 8) & 0xff, + 636 & 0xff} } }, { @@ -37288,8 +37836,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3836 >> 8) & 0xff, - 3836 & 0xff, + (3905 >> 8) & 0xff, + 3905 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37298,8 +37846,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (621 >> 8) & 0xff, - 621 & 0xff} + (637 >> 8) & 0xff, + 637 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -37307,8 +37855,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3843 >> 8) & 0xff, - 3843 & 0xff, + (3912 >> 8) & 0xff, + 3912 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37317,8 +37865,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (622 >> 8) & 0xff, - 622 & 0xff} + (638 >> 8) & 0xff, + 638 & 0xff} } }, { @@ -37328,8 +37876,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3850 >> 8) & 0xff, - 3850 & 0xff, + (3919 >> 8) & 0xff, + 3919 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37338,8 +37886,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (623 >> 8) & 0xff, - 623 & 0xff} + (639 >> 8) & 0xff, + 639 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -37347,8 +37895,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3859 >> 8) & 0xff, - 3859 & 0xff, + (3928 >> 8) & 0xff, + 3928 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37357,8 +37905,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (624 >> 8) & 0xff, - 624 & 0xff} + (640 >> 8) & 0xff, + 640 & 0xff} } }, { @@ -37368,8 +37916,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3868 >> 8) & 0xff, - 3868 & 0xff, + (3937 >> 8) & 0xff, + 3937 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37378,8 +37926,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (625 >> 8) & 0xff, - 625 & 0xff} + (641 >> 8) & 0xff, + 641 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -37387,8 +37935,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3886 >> 8) & 0xff, - 3886 & 0xff, + (3955 >> 8) & 0xff, + 3955 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37397,8 +37945,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (628 >> 8) & 0xff, - 628 & 0xff} + (644 >> 8) & 0xff, + 644 & 0xff} } }, { @@ -37408,8 +37956,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3904 >> 8) & 0xff, - 3904 & 0xff, + (3973 >> 8) & 0xff, + 3973 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37418,8 +37966,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (631 >> 8) & 0xff, - 631 & 0xff} + (647 >> 8) & 0xff, + 647 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -37427,8 +37975,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3913 >> 8) & 0xff, - 3913 & 0xff, + (3982 >> 8) & 0xff, + 3982 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37437,8 +37985,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (632 >> 8) & 0xff, - 632 & 0xff} + (648 >> 8) & 0xff, + 648 & 0xff} } }, { @@ -37448,8 +37996,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3922 >> 8) & 0xff, - 3922 & 0xff, + (3991 >> 8) & 0xff, + 3991 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37458,8 +38006,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (633 >> 8) & 0xff, - 633 & 0xff} + (649 >> 8) & 0xff, + 649 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -37467,8 +38015,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3929 >> 8) & 0xff, - 3929 & 0xff, + (3998 >> 8) & 0xff, + 3998 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37477,8 +38025,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (634 >> 8) & 0xff, - 634 & 0xff} + (650 >> 8) & 0xff, + 650 & 0xff} } }, { @@ -37488,8 +38036,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3936 >> 8) & 0xff, - 3936 & 0xff, + (4005 >> 8) & 0xff, + 4005 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37498,8 +38046,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (635 >> 8) & 0xff, - 635 & 0xff} + (651 >> 8) & 0xff, + 651 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -37507,8 +38055,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3943 >> 8) & 0xff, - 3943 & 0xff, + (4012 >> 8) & 0xff, + 4012 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37517,8 +38065,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (636 >> 8) & 0xff, - 636 & 0xff} + (652 >> 8) & 0xff, + 652 & 0xff} } }, { @@ -37528,8 +38076,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3950 >> 8) & 0xff, - 3950 & 0xff, + (4019 >> 8) & 0xff, + 4019 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37538,8 +38086,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (637 >> 8) & 0xff, - 637 & 0xff} + (653 >> 8) & 0xff, + 653 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -37547,8 +38095,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3957 >> 8) & 0xff, - 3957 & 0xff, + (4026 >> 8) & 0xff, + 4026 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37557,8 +38105,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (638 >> 8) & 0xff, - 638 & 0xff} + (654 >> 8) & 0xff, + 654 & 0xff} } }, { @@ -37568,8 +38116,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3964 >> 8) & 0xff, - 3964 & 0xff, + (4033 >> 8) & 0xff, + 4033 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37578,8 +38126,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (639 >> 8) & 0xff, - 639 & 0xff} + (655 >> 8) & 0xff, + 655 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -37587,8 +38135,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3971 >> 8) & 0xff, - 3971 & 0xff, + (4040 >> 8) & 0xff, + 4040 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37597,8 +38145,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (640 >> 8) & 0xff, - 640 & 0xff} + (656 >> 8) & 0xff, + 656 & 0xff} } }, { @@ -37608,8 +38156,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3978 >> 8) & 0xff, - 3978 & 0xff, + (4047 >> 8) & 0xff, + 4047 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37618,8 +38166,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (641 >> 8) & 0xff, - 641 & 0xff} + (657 >> 8) & 0xff, + 657 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -37627,8 +38175,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3992 >> 8) & 0xff, - 3992 & 0xff, + (4061 >> 8) & 0xff, + 4061 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37637,8 +38185,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (644 >> 8) & 0xff, - 644 & 0xff} + (660 >> 8) & 0xff, + 660 & 0xff} } }, { @@ -37648,8 +38196,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4006 >> 8) & 0xff, - 4006 & 0xff, + (4075 >> 8) & 0xff, + 4075 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37658,8 +38206,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (647 >> 8) & 0xff, - 647 & 0xff} + (663 >> 8) & 0xff, + 663 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -37667,8 +38215,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4020 >> 8) & 0xff, - 4020 & 0xff, + (4089 >> 8) & 0xff, + 4089 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37677,8 +38225,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (650 >> 8) & 0xff, - 650 & 0xff} + (666 >> 8) & 0xff, + 666 & 0xff} } }, { @@ -37688,8 +38236,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4034 >> 8) & 0xff, - 4034 & 0xff, + (4103 >> 8) & 0xff, + 4103 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37698,8 +38246,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (653 >> 8) & 0xff, - 653 & 0xff} + (669 >> 8) & 0xff, + 669 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -37707,8 +38255,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4048 >> 8) & 0xff, - 4048 & 0xff, + (4117 >> 8) & 0xff, + 4117 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37717,8 +38265,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (656 >> 8) & 0xff, - 656 & 0xff} + (672 >> 8) & 0xff, + 672 & 0xff} } }, { @@ -37728,8 +38276,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4062 >> 8) & 0xff, - 4062 & 0xff, + (4131 >> 8) & 0xff, + 4131 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37738,8 +38286,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (659 >> 8) & 0xff, - 659 & 0xff} + (675 >> 8) & 0xff, + 675 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -37747,8 +38295,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4078 >> 8) & 0xff, - 4078 & 0xff, + (4147 >> 8) & 0xff, + 4147 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37757,8 +38305,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (663 >> 8) & 0xff, - 663 & 0xff} + (679 >> 8) & 0xff, + 679 & 0xff} } }, { @@ -37768,8 +38316,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4094 >> 8) & 0xff, - 4094 & 0xff, + (4163 >> 8) & 0xff, + 4163 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37778,8 +38326,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (667 >> 8) & 0xff, - 667 & 0xff} + (683 >> 8) & 0xff, + 683 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -37787,8 +38335,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4110 >> 8) & 0xff, - 4110 & 0xff, + (4179 >> 8) & 0xff, + 4179 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37797,8 +38345,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (671 >> 8) & 0xff, - 671 & 0xff} + (687 >> 8) & 0xff, + 687 & 0xff} } }, /* class_tid: 2, , table: proto_header_cache.wr */ @@ -37817,8 +38365,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4126 >> 8) & 0xff, - 4126 & 0xff, + (4195 >> 8) & 0xff, + 4195 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -37903,8 +38451,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4132 >> 8) & 0xff, - 4132 & 0xff, + (4201 >> 8) & 0xff, + 4201 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -37986,8 +38534,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4379 >> 8) & 0xff, - 4379 & 0xff, + (4448 >> 8) & 0xff, + 4448 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -37999,8 +38547,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4381 >> 8) & 0xff, - 4381 & 0xff, + (4450 >> 8) & 0xff, + 4450 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -38017,8 +38565,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4383 >> 8) & 0xff, - 4383 & 0xff, + (4452 >> 8) & 0xff, + 4452 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38030,8 +38578,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4385 >> 8) & 0xff, - 4385 & 0xff, + (4454 >> 8) & 0xff, + 4454 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -38048,8 +38596,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4387 >> 8) & 0xff, - 4387 & 0xff, + (4456 >> 8) & 0xff, + 4456 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38061,8 +38609,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4388 >> 8) & 0xff, - 4388 & 0xff, + (4457 >> 8) & 0xff, + 4457 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -38079,8 +38627,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4389 >> 8) & 0xff, - 4389 & 0xff, + (4458 >> 8) & 0xff, + 4458 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38092,8 +38640,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4393 >> 8) & 0xff, - 4393 & 0xff, + (4462 >> 8) & 0xff, + 4462 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38110,8 +38658,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4397 >> 8) & 0xff, - 4397 & 0xff, + (4466 >> 8) & 0xff, + 4466 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38123,8 +38671,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4401 >> 8) & 0xff, - 4401 & 0xff, + (4470 >> 8) & 0xff, + 4470 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38141,8 +38689,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4405 >> 8) & 0xff, - 4405 & 0xff, + (4474 >> 8) & 0xff, + 4474 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38154,8 +38702,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4410 >> 8) & 0xff, - 4410 & 0xff, + (4479 >> 8) & 0xff, + 4479 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38172,15 +38720,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4415 >> 8) & 0xff, - 4415 & 0xff, + (4484 >> 8) & 0xff, + 4484 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (712 >> 8) & 0xff, - 712 & 0xff} + (728 >> 8) & 0xff, + 728 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -38188,8 +38736,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4425 >> 8) & 0xff, - 4425 & 0xff, + (4494 >> 8) & 0xff, + 4494 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38198,8 +38746,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (713 >> 8) & 0xff, - 713 & 0xff} + (729 >> 8) & 0xff, + 729 & 0xff} } }, { @@ -38209,8 +38757,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4435 >> 8) & 0xff, - 4435 & 0xff, + (4504 >> 8) & 0xff, + 4504 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38222,8 +38770,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4440 >> 8) & 0xff, - 4440 & 0xff, + (4509 >> 8) & 0xff, + 4509 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38240,8 +38788,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4445 >> 8) & 0xff, - 4445 & 0xff, + (4514 >> 8) & 0xff, + 4514 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38253,8 +38801,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4449 >> 8) & 0xff, - 4449 & 0xff, + (4518 >> 8) & 0xff, + 4518 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38271,8 +38819,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4453 >> 8) & 0xff, - 4453 & 0xff, + (4522 >> 8) & 0xff, + 4522 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38284,8 +38832,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4457 >> 8) & 0xff, - 4457 & 0xff, + (4526 >> 8) & 0xff, + 4526 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38302,8 +38850,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4461 >> 8) & 0xff, - 4461 & 0xff, + (4530 >> 8) & 0xff, + 4530 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38315,8 +38863,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4465 >> 8) & 0xff, - 4465 & 0xff, + (4534 >> 8) & 0xff, + 4534 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38333,8 +38881,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4469 >> 8) & 0xff, - 4469 & 0xff, + (4538 >> 8) & 0xff, + 4538 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38346,8 +38894,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4473 >> 8) & 0xff, - 4473 & 0xff, + (4542 >> 8) & 0xff, + 4542 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38364,15 +38912,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4477 >> 8) & 0xff, - 4477 & 0xff, + (4546 >> 8) & 0xff, + 4546 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (714 >> 8) & 0xff, - 714 & 0xff} + (730 >> 8) & 0xff, + 730 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -38380,8 +38928,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4485 >> 8) & 0xff, - 4485 & 0xff, + (4554 >> 8) & 0xff, + 4554 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38390,8 +38938,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (715 >> 8) & 0xff, - 715 & 0xff} + (731 >> 8) & 0xff, + 731 & 0xff} } }, { @@ -38401,15 +38949,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4493 >> 8) & 0xff, - 4493 & 0xff, + (4562 >> 8) & 0xff, + 4562 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (716 >> 8) & 0xff, - 716 & 0xff} + (732 >> 8) & 0xff, + 732 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -38417,8 +38965,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4501 >> 8) & 0xff, - 4501 & 0xff, + (4570 >> 8) & 0xff, + 4570 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38427,8 +38975,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (717 >> 8) & 0xff, - 717 & 0xff} + (733 >> 8) & 0xff, + 733 & 0xff} } }, { @@ -38438,15 +38986,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4509 >> 8) & 0xff, - 4509 & 0xff, + (4578 >> 8) & 0xff, + 4578 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (718 >> 8) & 0xff, - 718 & 0xff} + (734 >> 8) & 0xff, + 734 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -38454,8 +39002,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4517 >> 8) & 0xff, - 4517 & 0xff, + (4586 >> 8) & 0xff, + 4586 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38464,8 +39012,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (719 >> 8) & 0xff, - 719 & 0xff} + (735 >> 8) & 0xff, + 735 & 0xff} } }, { @@ -38475,15 +39023,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4525 >> 8) & 0xff, - 4525 & 0xff, + (4594 >> 8) & 0xff, + 4594 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (720 >> 8) & 0xff, - 720 & 0xff} + (736 >> 8) & 0xff, + 736 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -38491,8 +39039,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4533 >> 8) & 0xff, - 4533 & 0xff, + (4602 >> 8) & 0xff, + 4602 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38501,8 +39049,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (721 >> 8) & 0xff, - 721 & 0xff} + (737 >> 8) & 0xff, + 737 & 0xff} } }, { @@ -38512,15 +39060,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4541 >> 8) & 0xff, - 4541 & 0xff, + (4610 >> 8) & 0xff, + 4610 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (722 >> 8) & 0xff, - 722 & 0xff} + (738 >> 8) & 0xff, + 738 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -38528,8 +39076,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4550 >> 8) & 0xff, - 4550 & 0xff, + (4619 >> 8) & 0xff, + 4619 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38538,8 +39086,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (723 >> 8) & 0xff, - 723 & 0xff} + (739 >> 8) & 0xff, + 739 & 0xff} } }, { @@ -38549,15 +39097,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4559 >> 8) & 0xff, - 4559 & 0xff, + (4628 >> 8) & 0xff, + 4628 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (724 >> 8) & 0xff, - 724 & 0xff} + (740 >> 8) & 0xff, + 740 & 0xff} }, .field_info_spec = { .description = "tids", @@ -38565,8 +39113,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4565 >> 8) & 0xff, - 4565 & 0xff, + (4634 >> 8) & 0xff, + 4634 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38575,8 +39123,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (725 >> 8) & 0xff, - 725 & 0xff} + (741 >> 8) & 0xff, + 741 & 0xff} } }, { @@ -38586,15 +39134,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4571 >> 8) & 0xff, - 4571 & 0xff, + (4640 >> 8) & 0xff, + 4640 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (726 >> 8) & 0xff, - 726 & 0xff} + (742 >> 8) & 0xff, + 742 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -38602,8 +39150,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4578 >> 8) & 0xff, - 4578 & 0xff, + (4647 >> 8) & 0xff, + 4647 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38612,8 +39160,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (727 >> 8) & 0xff, - 727 & 0xff} + (743 >> 8) & 0xff, + 743 & 0xff} } }, { @@ -38623,15 +39171,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4585 >> 8) & 0xff, - 4585 & 0xff, + (4654 >> 8) & 0xff, + 4654 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (728 >> 8) & 0xff, - 728 & 0xff} + (744 >> 8) & 0xff, + 744 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -38639,8 +39187,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4592 >> 8) & 0xff, - 4592 & 0xff, + (4661 >> 8) & 0xff, + 4661 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38649,8 +39197,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (729 >> 8) & 0xff, - 729 & 0xff} + (745 >> 8) & 0xff, + 745 & 0xff} } }, { @@ -38660,15 +39208,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4599 >> 8) & 0xff, - 4599 & 0xff, + (4668 >> 8) & 0xff, + 4668 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (730 >> 8) & 0xff, - 730 & 0xff} + (746 >> 8) & 0xff, + 746 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -38676,8 +39224,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4608 >> 8) & 0xff, - 4608 & 0xff, + (4677 >> 8) & 0xff, + 4677 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38686,8 +39234,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (731 >> 8) & 0xff, - 731 & 0xff} + (747 >> 8) & 0xff, + 747 & 0xff} } }, { @@ -38697,15 +39245,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4617 >> 8) & 0xff, - 4617 & 0xff, + (4686 >> 8) & 0xff, + 4686 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (732 >> 8) & 0xff, - 732 & 0xff} + (748 >> 8) & 0xff, + 748 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -38713,8 +39261,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4635 >> 8) & 0xff, - 4635 & 0xff, + (4704 >> 8) & 0xff, + 4704 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38723,8 +39271,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (735 >> 8) & 0xff, - 735 & 0xff} + (751 >> 8) & 0xff, + 751 & 0xff} } }, { @@ -38734,15 +39282,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4653 >> 8) & 0xff, - 4653 & 0xff, + (4722 >> 8) & 0xff, + 4722 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (738 >> 8) & 0xff, - 738 & 0xff} + (754 >> 8) & 0xff, + 754 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -38750,8 +39298,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4662 >> 8) & 0xff, - 4662 & 0xff, + (4731 >> 8) & 0xff, + 4731 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38760,8 +39308,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (739 >> 8) & 0xff, - 739 & 0xff} + (755 >> 8) & 0xff, + 755 & 0xff} } }, { @@ -38771,15 +39319,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4671 >> 8) & 0xff, - 4671 & 0xff, + (4740 >> 8) & 0xff, + 4740 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (740 >> 8) & 0xff, - 740 & 0xff} + (756 >> 8) & 0xff, + 756 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -38787,8 +39335,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4678 >> 8) & 0xff, - 4678 & 0xff, + (4747 >> 8) & 0xff, + 4747 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38797,8 +39345,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (741 >> 8) & 0xff, - 741 & 0xff} + (757 >> 8) & 0xff, + 757 & 0xff} } }, { @@ -38808,15 +39356,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4685 >> 8) & 0xff, - 4685 & 0xff, + (4754 >> 8) & 0xff, + 4754 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (742 >> 8) & 0xff, - 742 & 0xff} + (758 >> 8) & 0xff, + 758 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -38824,8 +39372,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4692 >> 8) & 0xff, - 4692 & 0xff, + (4761 >> 8) & 0xff, + 4761 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38834,8 +39382,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (743 >> 8) & 0xff, - 743 & 0xff} + (759 >> 8) & 0xff, + 759 & 0xff} } }, { @@ -38845,15 +39393,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4699 >> 8) & 0xff, - 4699 & 0xff, + (4768 >> 8) & 0xff, + 4768 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (744 >> 8) & 0xff, - 744 & 0xff} + (760 >> 8) & 0xff, + 760 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -38861,8 +39409,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4706 >> 8) & 0xff, - 4706 & 0xff, + (4775 >> 8) & 0xff, + 4775 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38871,8 +39419,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (745 >> 8) & 0xff, - 745 & 0xff} + (761 >> 8) & 0xff, + 761 & 0xff} } }, { @@ -38882,15 +39430,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4713 >> 8) & 0xff, - 4713 & 0xff, + (4782 >> 8) & 0xff, + 4782 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (746 >> 8) & 0xff, - 746 & 0xff} + (762 >> 8) & 0xff, + 762 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -38898,8 +39446,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4720 >> 8) & 0xff, - 4720 & 0xff, + (4789 >> 8) & 0xff, + 4789 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38908,8 +39456,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (747 >> 8) & 0xff, - 747 & 0xff} + (763 >> 8) & 0xff, + 763 & 0xff} } }, { @@ -38919,15 +39467,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4727 >> 8) & 0xff, - 4727 & 0xff, + (4796 >> 8) & 0xff, + 4796 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (748 >> 8) & 0xff, - 748 & 0xff} + (764 >> 8) & 0xff, + 764 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -38935,8 +39483,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4741 >> 8) & 0xff, - 4741 & 0xff, + (4810 >> 8) & 0xff, + 4810 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38945,8 +39493,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (751 >> 8) & 0xff, - 751 & 0xff} + (767 >> 8) & 0xff, + 767 & 0xff} } }, { @@ -38956,15 +39504,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4755 >> 8) & 0xff, - 4755 & 0xff, + (4824 >> 8) & 0xff, + 4824 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (754 >> 8) & 0xff, - 754 & 0xff} + (770 >> 8) & 0xff, + 770 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -38972,8 +39520,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4769 >> 8) & 0xff, - 4769 & 0xff, + (4838 >> 8) & 0xff, + 4838 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38982,8 +39530,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (757 >> 8) & 0xff, - 757 & 0xff} + (773 >> 8) & 0xff, + 773 & 0xff} } }, { @@ -38993,15 +39541,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4783 >> 8) & 0xff, - 4783 & 0xff, + (4852 >> 8) & 0xff, + 4852 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (760 >> 8) & 0xff, - 760 & 0xff} + (776 >> 8) & 0xff, + 776 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -39009,8 +39557,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4797 >> 8) & 0xff, - 4797 & 0xff, + (4866 >> 8) & 0xff, + 4866 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39019,8 +39567,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (763 >> 8) & 0xff, - 763 & 0xff} + (779 >> 8) & 0xff, + 779 & 0xff} } }, { @@ -39030,15 +39578,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4811 >> 8) & 0xff, - 4811 & 0xff, + (4880 >> 8) & 0xff, + 4880 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (766 >> 8) & 0xff, - 766 & 0xff} + (782 >> 8) & 0xff, + 782 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -39046,8 +39594,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4825 >> 8) & 0xff, - 4825 & 0xff, + (4894 >> 8) & 0xff, + 4894 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39056,8 +39604,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (769 >> 8) & 0xff, - 769 & 0xff} + (785 >> 8) & 0xff, + 785 & 0xff} } }, { @@ -39067,15 +39615,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4839 >> 8) & 0xff, - 4839 & 0xff, + (4908 >> 8) & 0xff, + 4908 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (772 >> 8) & 0xff, - 772 & 0xff} + (788 >> 8) & 0xff, + 788 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -39083,8 +39631,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4853 >> 8) & 0xff, - 4853 & 0xff, + (4922 >> 8) & 0xff, + 4922 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39093,8 +39641,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (775 >> 8) & 0xff, - 775 & 0xff} + (791 >> 8) & 0xff, + 791 & 0xff} } }, /* class_tid: 2, , table: em_flow_conflict_cache.wr */ @@ -39127,8 +39675,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4867 >> 8) & 0xff, - 4867 & 0xff, + (4936 >> 8) & 0xff, + 4936 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -45228,8 +45776,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4905 >> 8) & 0xff, - 4905 & 0xff, + (4974 >> 8) & 0xff, + 4974 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46006,8 +46554,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4908 >> 8) & 0xff, - 4908 & 0xff, + (4977 >> 8) & 0xff, + 4977 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46166,8 +46714,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (146 >> 8) & 0xff, - 146 & 0xff, + (148 >> 8) & 0xff, + 148 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46184,8 +46732,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (149 >> 8) & 0xff, - 149 & 0xff, + (151 >> 8) & 0xff, + 151 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46202,8 +46750,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (152 >> 8) & 0xff, - 152 & 0xff, + (154 >> 8) & 0xff, + 154 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46220,8 +46768,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (154 >> 8) & 0xff, - 154 & 0xff, + (156 >> 8) & 0xff, + 156 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46238,8 +46786,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (156 >> 8) & 0xff, - 156 & 0xff, + (158 >> 8) & 0xff, + 158 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46253,8 +46801,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (189 >> 8) & 0xff, - 189 & 0xff, + (191 >> 8) & 0xff, + 191 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46268,8 +46816,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (203 >> 8) & 0xff, - 203 & 0xff, + (205 >> 8) & 0xff, + 205 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46283,8 +46831,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (204 >> 8) & 0xff, - 204 & 0xff, + (206 >> 8) & 0xff, + 206 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46298,8 +46846,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (212 >> 8) & 0xff, - 212 & 0xff, + (214 >> 8) & 0xff, + 214 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46313,8 +46861,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (220 >> 8) & 0xff, - 220 & 0xff, + (222 >> 8) & 0xff, + 222 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46328,8 +46876,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (228 >> 8) & 0xff, - 228 & 0xff, + (230 >> 8) & 0xff, + 230 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46343,8 +46891,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (236 >> 8) & 0xff, - 236 & 0xff, + (238 >> 8) & 0xff, + 238 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46358,8 +46906,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (244 >> 8) & 0xff, - 244 & 0xff, + (246 >> 8) & 0xff, + 246 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46373,8 +46921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (253 >> 8) & 0xff, - 253 & 0xff, + (255 >> 8) & 0xff, + 255 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46388,8 +46936,26 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (260 >> 8) & 0xff, - 260 & 0xff, + (262 >> 8) & 0xff, + 262 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (20 >> 8) & 0xff, + 20 & 0xff} + }, + { + .description = "tids.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (265 >> 8) & 0xff, + 265 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46403,8 +46969,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (267 >> 8) & 0xff, - 267 & 0xff, + (275 >> 8) & 0xff, + 275 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46418,8 +46984,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (274 >> 8) & 0xff, - 274 & 0xff, + (282 >> 8) & 0xff, + 282 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46433,8 +46999,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (282 >> 8) & 0xff, - 282 & 0xff, + (290 >> 8) & 0xff, + 290 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46448,8 +47014,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (291 >> 8) & 0xff, - 291 & 0xff, + (299 >> 8) & 0xff, + 299 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46457,8 +47023,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (24 >> 8) & 0xff, - 24 & 0xff} + (25 >> 8) & 0xff, + 25 & 0xff} }, { .description = "l2_ivv.en", @@ -46466,8 +47032,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (296 >> 8) & 0xff, - 296 & 0xff, + (304 >> 8) & 0xff, + 304 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46475,8 +47041,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (25 >> 8) & 0xff, - 25 & 0xff} + (26 >> 8) & 0xff, + 26 & 0xff} }, { .description = "l2_ivv.en", @@ -46484,8 +47050,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (300 >> 8) & 0xff, - 300 & 0xff, + (308 >> 8) & 0xff, + 308 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46499,8 +47065,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (309 >> 8) & 0xff, - 309 & 0xff, + (317 >> 8) & 0xff, + 317 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46514,8 +47080,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (318 >> 8) & 0xff, - 318 & 0xff, + (326 >> 8) & 0xff, + 326 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46523,8 +47089,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (28 >> 8) & 0xff, - 28 & 0xff} + (29 >> 8) & 0xff, + 29 & 0xff} }, { .description = "l3_sip.en", @@ -46532,8 +47098,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (323 >> 8) & 0xff, - 323 & 0xff, + (331 >> 8) & 0xff, + 331 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46541,8 +47107,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (29 >> 8) & 0xff, - 29 & 0xff} + (30 >> 8) & 0xff, + 30 & 0xff} }, { .description = "l3_sip.en", @@ -46550,8 +47116,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (327 >> 8) & 0xff, - 327 & 0xff, + (335 >> 8) & 0xff, + 335 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46565,8 +47131,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (336 >> 8) & 0xff, - 336 & 0xff, + (344 >> 8) & 0xff, + 344 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46574,8 +47140,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (31 >> 8) & 0xff, - 31 & 0xff} + (32 >> 8) & 0xff, + 32 & 0xff} }, { .description = "l3_dip.en", @@ -46583,8 +47149,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (341 >> 8) & 0xff, - 341 & 0xff, + (349 >> 8) & 0xff, + 349 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46592,8 +47158,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (32 >> 8) & 0xff, - 32 & 0xff} + (33 >> 8) & 0xff, + 33 & 0xff} }, { .description = "l3_dip.en", @@ -46601,8 +47167,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (345 >> 8) & 0xff, - 345 & 0xff, + (353 >> 8) & 0xff, + 353 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46616,8 +47182,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (354 >> 8) & 0xff, - 354 & 0xff, + (362 >> 8) & 0xff, + 362 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46625,8 +47191,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (34 >> 8) & 0xff, - 34 & 0xff} + (35 >> 8) & 0xff, + 35 & 0xff} }, { .description = "l3_ttl.en", @@ -46634,8 +47200,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (359 >> 8) & 0xff, - 359 & 0xff, + (367 >> 8) & 0xff, + 367 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46643,8 +47209,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (35 >> 8) & 0xff, - 35 & 0xff} + (36 >> 8) & 0xff, + 36 & 0xff} }, { .description = "l3_ttl.en", @@ -46652,8 +47218,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (363 >> 8) & 0xff, - 363 & 0xff, + (371 >> 8) & 0xff, + 371 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46667,8 +47233,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (372 >> 8) & 0xff, - 372 & 0xff, + (380 >> 8) & 0xff, + 380 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46676,8 +47242,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (37 >> 8) & 0xff, - 37 & 0xff} + (38 >> 8) & 0xff, + 38 & 0xff} }, { .description = "l3_prot.en", @@ -46685,8 +47251,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (377 >> 8) & 0xff, - 377 & 0xff, + (385 >> 8) & 0xff, + 385 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46694,8 +47260,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (38 >> 8) & 0xff, - 38 & 0xff} + (39 >> 8) & 0xff, + 39 & 0xff} }, { .description = "l3_prot.en", @@ -46703,8 +47269,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (381 >> 8) & 0xff, - 381 & 0xff, + (389 >> 8) & 0xff, + 389 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46718,8 +47284,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (390 >> 8) & 0xff, - 390 & 0xff, + (398 >> 8) & 0xff, + 398 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46727,8 +47293,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (40 >> 8) & 0xff, - 40 & 0xff} + (41 >> 8) & 0xff, + 41 & 0xff} }, { .description = "l3_qos.en", @@ -46736,8 +47302,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (395 >> 8) & 0xff, - 395 & 0xff, + (403 >> 8) & 0xff, + 403 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46745,8 +47311,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (41 >> 8) & 0xff, - 41 & 0xff} + (42 >> 8) & 0xff, + 42 & 0xff} }, { .description = "l3_qos.en", @@ -46754,8 +47320,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (399 >> 8) & 0xff, - 399 & 0xff, + (407 >> 8) & 0xff, + 407 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46769,8 +47335,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (405 >> 8) & 0xff, - 405 & 0xff, + (413 >> 8) & 0xff, + 413 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46784,14 +47350,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (408 >> 8) & 0xff, - 408 & 0xff, + (416 >> 8) & 0xff, + 416 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (44 >> 8) & 0xff, - 44 & 0xff}, + (45 >> 8) & 0xff, + 45 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -46800,8 +47366,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (409 >> 8) & 0xff, - 409 & 0xff, + (417 >> 8) & 0xff, + 417 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46815,8 +47381,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (414 >> 8) & 0xff, - 414 & 0xff, + (422 >> 8) & 0xff, + 422 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46830,14 +47396,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (417 >> 8) & 0xff, - 417 & 0xff, + (425 >> 8) & 0xff, + 425 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (47 >> 8) & 0xff, - 47 & 0xff}, + (48 >> 8) & 0xff, + 48 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -46846,8 +47412,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (418 >> 8) & 0xff, - 418 & 0xff, + (426 >> 8) & 0xff, + 426 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46861,8 +47427,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (465 >> 8) & 0xff, - 465 & 0xff, + (473 >> 8) & 0xff, + 473 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46874,8 +47440,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (475 >> 8) & 0xff, - 475 & 0xff, + (483 >> 8) & 0xff, + 483 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46887,8 +47453,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (502 >> 8) & 0xff, - 502 & 0xff, + (510 >> 8) & 0xff, + 510 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46900,8 +47466,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (507 >> 8) & 0xff, - 507 & 0xff, + (515 >> 8) & 0xff, + 515 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46913,8 +47479,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (528 >> 8) & 0xff, - 528 & 0xff, + (536 >> 8) & 0xff, + 536 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46926,8 +47492,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (536 >> 8) & 0xff, - 536 & 0xff, + (544 >> 8) & 0xff, + 544 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46939,8 +47505,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (544 >> 8) & 0xff, - 544 & 0xff, + (552 >> 8) & 0xff, + 552 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46952,8 +47518,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (552 >> 8) & 0xff, - 552 & 0xff, + (560 >> 8) & 0xff, + 560 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46965,8 +47531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (560 >> 8) & 0xff, - 560 & 0xff, + (568 >> 8) & 0xff, + 568 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46978,8 +47544,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (568 >> 8) & 0xff, - 568 & 0xff, + (576 >> 8) & 0xff, + 576 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46991,8 +47557,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (576 >> 8) & 0xff, - 576 & 0xff, + (584 >> 8) & 0xff, + 584 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47004,8 +47570,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (584 >> 8) & 0xff, - 584 & 0xff, + (592 >> 8) & 0xff, + 592 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47017,8 +47583,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (593 >> 8) & 0xff, - 593 & 0xff, + (601 >> 8) & 0xff, + 601 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47030,8 +47596,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (602 >> 8) & 0xff, - 602 & 0xff, + (610 >> 8) & 0xff, + 610 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47043,8 +47609,23 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (609 >> 8) & 0xff, - 609 & 0xff, + (617 >> 8) & 0xff, + 617 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (64 >> 8) & 0xff, + 64 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (620 >> 8) & 0xff, + 620 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47056,8 +47637,23 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (615 >> 8) & 0xff, - 615 & 0xff, + (626 >> 8) & 0xff, + 626 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (66 >> 8) & 0xff, + 66 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (629 >> 8) & 0xff, + 629 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47069,8 +47665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (622 >> 8) & 0xff, - 622 & 0xff, + (642 >> 8) & 0xff, + 642 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47082,8 +47678,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (629 >> 8) & 0xff, - 629 & 0xff, + (649 >> 8) & 0xff, + 649 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47095,8 +47691,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (636 >> 8) & 0xff, - 636 & 0xff, + (656 >> 8) & 0xff, + 656 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47108,8 +47704,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (643 >> 8) & 0xff, - 643 & 0xff, + (663 >> 8) & 0xff, + 663 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47121,8 +47717,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (651 >> 8) & 0xff, - 651 & 0xff, + (671 >> 8) & 0xff, + 671 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47134,8 +47730,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (660 >> 8) & 0xff, - 660 & 0xff, + (680 >> 8) & 0xff, + 680 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47147,15 +47743,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (669 >> 8) & 0xff, - 669 & 0xff, + (689 >> 8) & 0xff, + 689 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (71 >> 8) & 0xff, - 71 & 0xff} + (74 >> 8) & 0xff, + 74 & 0xff} }, { .description = "l2_ivv", @@ -47163,15 +47759,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (674 >> 8) & 0xff, - 674 & 0xff, + (694 >> 8) & 0xff, + 694 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (72 >> 8) & 0xff, - 72 & 0xff} + (75 >> 8) & 0xff, + 75 & 0xff} }, { .description = "l2_ivv", @@ -47179,8 +47775,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (678 >> 8) & 0xff, - 678 & 0xff, + (698 >> 8) & 0xff, + 698 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47192,15 +47788,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (687 >> 8) & 0xff, - 687 & 0xff, + (707 >> 8) & 0xff, + 707 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (74 >> 8) & 0xff, - 74 & 0xff} + (77 >> 8) & 0xff, + 77 & 0xff} }, { .description = "l2_ivv", @@ -47208,15 +47804,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (692 >> 8) & 0xff, - 692 & 0xff, + (712 >> 8) & 0xff, + 712 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (75 >> 8) & 0xff, - 75 & 0xff} + (78 >> 8) & 0xff, + 78 & 0xff} }, { .description = "l2_ivv", @@ -47224,8 +47820,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (696 >> 8) & 0xff, - 696 & 0xff, + (716 >> 8) & 0xff, + 716 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47237,8 +47833,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (705 >> 8) & 0xff, - 705 & 0xff, + (725 >> 8) & 0xff, + 725 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47250,8 +47846,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (714 >> 8) & 0xff, - 714 & 0xff, + (734 >> 8) & 0xff, + 734 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47263,8 +47859,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (722 >> 8) & 0xff, - 722 & 0xff, + (742 >> 8) & 0xff, + 742 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47276,8 +47872,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (729 >> 8) & 0xff, - 729 & 0xff, + (749 >> 8) & 0xff, + 749 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47289,8 +47885,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (736 >> 8) & 0xff, - 736 & 0xff, + (756 >> 8) & 0xff, + 756 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47302,8 +47898,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (743 >> 8) & 0xff, - 743 & 0xff, + (763 >> 8) & 0xff, + 763 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47315,8 +47911,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (750 >> 8) & 0xff, - 750 & 0xff, + (770 >> 8) & 0xff, + 770 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47328,8 +47924,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (757 >> 8) & 0xff, - 757 & 0xff, + (777 >> 8) & 0xff, + 777 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47341,8 +47937,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (764 >> 8) & 0xff, - 764 & 0xff, + (784 >> 8) & 0xff, + 784 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47354,8 +47950,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (771 >> 8) & 0xff, - 771 & 0xff, + (791 >> 8) & 0xff, + 791 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47367,15 +47963,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (778 >> 8) & 0xff, - 778 & 0xff, + (798 >> 8) & 0xff, + 798 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (87 >> 8) & 0xff, - 87 & 0xff} + (90 >> 8) & 0xff, + 90 & 0xff} }, { .description = "l3.ttl", @@ -47383,15 +47979,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (782 >> 8) & 0xff, - 782 & 0xff, + (802 >> 8) & 0xff, + 802 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (88 >> 8) & 0xff, - 88 & 0xff} + (91 >> 8) & 0xff, + 91 & 0xff} }, { .description = "l3.ttl", @@ -47399,8 +47995,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (785 >> 8) & 0xff, - 785 & 0xff, + (805 >> 8) & 0xff, + 805 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47412,15 +48008,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (792 >> 8) & 0xff, - 792 & 0xff, + (812 >> 8) & 0xff, + 812 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (90 >> 8) & 0xff, - 90 & 0xff} + (93 >> 8) & 0xff, + 93 & 0xff} }, { .description = "l3.ttl", @@ -47428,15 +48024,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (796 >> 8) & 0xff, - 796 & 0xff, + (816 >> 8) & 0xff, + 816 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (91 >> 8) & 0xff, - 91 & 0xff} + (94 >> 8) & 0xff, + 94 & 0xff} }, { .description = "l3.ttl", @@ -47444,8 +48040,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (799 >> 8) & 0xff, - 799 & 0xff, + (819 >> 8) & 0xff, + 819 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47457,15 +48053,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (805 >> 8) & 0xff, - 805 & 0xff, + (825 >> 8) & 0xff, + 825 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (93 >> 8) & 0xff, - 93 & 0xff} + (96 >> 8) & 0xff, + 96 & 0xff} }, { .description = "l3.prot", @@ -47473,15 +48069,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (808 >> 8) & 0xff, - 808 & 0xff, + (828 >> 8) & 0xff, + 828 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (94 >> 8) & 0xff, - 94 & 0xff} + (97 >> 8) & 0xff, + 97 & 0xff} }, { .description = "l3.prot", @@ -47489,15 +48085,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (810 >> 8) & 0xff, - 810 & 0xff, + (830 >> 8) & 0xff, + 830 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (95 >> 8) & 0xff, - 95 & 0xff} + (98 >> 8) & 0xff, + 98 & 0xff} }, { .description = "l3.prot", @@ -47505,15 +48101,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (812 >> 8) & 0xff, - 812 & 0xff, + (832 >> 8) & 0xff, + 832 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (96 >> 8) & 0xff, - 96 & 0xff} + (99 >> 8) & 0xff, + 99 & 0xff} }, { .description = "l3.prot", @@ -47521,15 +48117,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (816 >> 8) & 0xff, - 816 & 0xff, + (836 >> 8) & 0xff, + 836 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (97 >> 8) & 0xff, - 97 & 0xff} + (100 >> 8) & 0xff, + 100 & 0xff} }, { .description = "l3.prot", @@ -47537,15 +48133,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (820 >> 8) & 0xff, - 820 & 0xff, + (840 >> 8) & 0xff, + 840 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (98 >> 8) & 0xff, - 98 & 0xff} + (101 >> 8) & 0xff, + 101 & 0xff} }, { .description = "l3.prot", @@ -47553,8 +48149,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (823 >> 8) & 0xff, - 823 & 0xff, + (843 >> 8) & 0xff, + 843 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47566,15 +48162,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (829 >> 8) & 0xff, - 829 & 0xff, + (849 >> 8) & 0xff, + 849 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (100 >> 8) & 0xff, - 100 & 0xff} + (103 >> 8) & 0xff, + 103 & 0xff} }, { .description = "l3.prot", @@ -47582,15 +48178,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (832 >> 8) & 0xff, - 832 & 0xff, + (852 >> 8) & 0xff, + 852 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (101 >> 8) & 0xff, - 101 & 0xff} + (104 >> 8) & 0xff, + 104 & 0xff} }, { .description = "l3.prot", @@ -47598,15 +48194,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (834 >> 8) & 0xff, - 834 & 0xff, + (854 >> 8) & 0xff, + 854 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (102 >> 8) & 0xff, - 102 & 0xff} + (105 >> 8) & 0xff, + 105 & 0xff} }, { .description = "l3.prot", @@ -47614,15 +48210,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (836 >> 8) & 0xff, - 836 & 0xff, + (856 >> 8) & 0xff, + 856 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (103 >> 8) & 0xff, - 103 & 0xff} + (106 >> 8) & 0xff, + 106 & 0xff} }, { .description = "l3.prot", @@ -47630,15 +48226,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (840 >> 8) & 0xff, - 840 & 0xff, + (860 >> 8) & 0xff, + 860 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (104 >> 8) & 0xff, - 104 & 0xff} + (107 >> 8) & 0xff, + 107 & 0xff} }, { .description = "l3.prot", @@ -47646,15 +48242,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (844 >> 8) & 0xff, - 844 & 0xff, + (864 >> 8) & 0xff, + 864 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (105 >> 8) & 0xff, - 105 & 0xff} + (108 >> 8) & 0xff, + 108 & 0xff} }, { .description = "l3.prot", @@ -47662,8 +48258,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (847 >> 8) & 0xff, - 847 & 0xff, + (867 >> 8) & 0xff, + 867 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47675,15 +48271,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (854 >> 8) & 0xff, - 854 & 0xff, + (874 >> 8) & 0xff, + 874 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (107 >> 8) & 0xff, - 107 & 0xff} + (110 >> 8) & 0xff, + 110 & 0xff} }, { .description = "l3.qos", @@ -47691,15 +48287,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (858 >> 8) & 0xff, - 858 & 0xff, + (878 >> 8) & 0xff, + 878 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (108 >> 8) & 0xff, - 108 & 0xff} + (111 >> 8) & 0xff, + 111 & 0xff} }, { .description = "l3.qos", @@ -47707,8 +48303,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (861 >> 8) & 0xff, - 861 & 0xff, + (881 >> 8) & 0xff, + 881 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47720,15 +48316,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (868 >> 8) & 0xff, - 868 & 0xff, + (888 >> 8) & 0xff, + 888 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (110 >> 8) & 0xff, - 110 & 0xff} + (113 >> 8) & 0xff, + 113 & 0xff} }, { .description = "l3.qos", @@ -47736,15 +48332,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (872 >> 8) & 0xff, - 872 & 0xff, + (892 >> 8) & 0xff, + 892 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (111 >> 8) & 0xff, - 111 & 0xff} + (114 >> 8) & 0xff, + 114 & 0xff} }, { .description = "l3.qos", @@ -47752,8 +48348,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (875 >> 8) & 0xff, - 875 & 0xff, + (895 >> 8) & 0xff, + 895 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47765,15 +48361,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (882 >> 8) & 0xff, - 882 & 0xff, + (902 >> 8) & 0xff, + 902 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (113 >> 8) & 0xff, - 113 & 0xff} + (116 >> 8) & 0xff, + 116 & 0xff} }, { .description = "l4.src", @@ -47781,15 +48377,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (886 >> 8) & 0xff, - 886 & 0xff, + (906 >> 8) & 0xff, + 906 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (114 >> 8) & 0xff, - 114 & 0xff} + (117 >> 8) & 0xff, + 117 & 0xff} }, { .description = "l4.src", @@ -47797,15 +48393,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (889 >> 8) & 0xff, - 889 & 0xff, + (909 >> 8) & 0xff, + 909 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (115 >> 8) & 0xff, - 115 & 0xff} + (118 >> 8) & 0xff, + 118 & 0xff} }, { .description = "l4.src", @@ -47813,8 +48409,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (892 >> 8) & 0xff, - 892 & 0xff, + (912 >> 8) & 0xff, + 912 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -47826,15 +48422,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (898 >> 8) & 0xff, - 898 & 0xff, + (918 >> 8) & 0xff, + 918 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (117 >> 8) & 0xff, - 117 & 0xff} + (120 >> 8) & 0xff, + 120 & 0xff} }, { .description = "l4.src", @@ -47842,15 +48438,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (902 >> 8) & 0xff, - 902 & 0xff, + (922 >> 8) & 0xff, + 922 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (118 >> 8) & 0xff, - 118 & 0xff} + (121 >> 8) & 0xff, + 121 & 0xff} }, { .description = "l4.src", @@ -47858,15 +48454,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (905 >> 8) & 0xff, - 905 & 0xff, + (925 >> 8) & 0xff, + 925 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (119 >> 8) & 0xff, - 119 & 0xff} + (122 >> 8) & 0xff, + 122 & 0xff} }, { .description = "l4.src", @@ -47874,8 +48470,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (908 >> 8) & 0xff, - 908 & 0xff, + (928 >> 8) & 0xff, + 928 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -47887,15 +48483,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (914 >> 8) & 0xff, - 914 & 0xff, + (934 >> 8) & 0xff, + 934 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (121 >> 8) & 0xff, - 121 & 0xff} + (124 >> 8) & 0xff, + 124 & 0xff} }, { .description = "l4.dst", @@ -47903,15 +48499,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (918 >> 8) & 0xff, - 918 & 0xff, + (938 >> 8) & 0xff, + 938 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (122 >> 8) & 0xff, - 122 & 0xff} + (125 >> 8) & 0xff, + 125 & 0xff} }, { .description = "l4.dst", @@ -47919,15 +48515,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (921 >> 8) & 0xff, - 921 & 0xff, + (941 >> 8) & 0xff, + 941 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (123 >> 8) & 0xff, - 123 & 0xff} + (126 >> 8) & 0xff, + 126 & 0xff} }, { .description = "l4.dst", @@ -47935,8 +48531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (924 >> 8) & 0xff, - 924 & 0xff, + (944 >> 8) & 0xff, + 944 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -47948,15 +48544,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (930 >> 8) & 0xff, - 930 & 0xff, + (950 >> 8) & 0xff, + 950 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (125 >> 8) & 0xff, - 125 & 0xff} + (128 >> 8) & 0xff, + 128 & 0xff} }, { .description = "l4.dst", @@ -47964,15 +48560,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (934 >> 8) & 0xff, - 934 & 0xff, + (954 >> 8) & 0xff, + 954 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (126 >> 8) & 0xff, - 126 & 0xff} + (129 >> 8) & 0xff, + 129 & 0xff} }, { .description = "l4.dst", @@ -47980,15 +48576,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (937 >> 8) & 0xff, - 937 & 0xff, + (957 >> 8) & 0xff, + 957 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (127 >> 8) & 0xff, - 127 & 0xff} + (130 >> 8) & 0xff, + 130 & 0xff} }, { .description = "l4.dst", @@ -47996,8 +48592,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (940 >> 8) & 0xff, - 940 & 0xff, + (960 >> 8) & 0xff, + 960 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -48010,15 +48606,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (945 >> 8) & 0xff, - 945 & 0xff, + (965 >> 8) & 0xff, + 965 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (129 >> 8) & 0xff, - 129 & 0xff} + (132 >> 8) & 0xff, + 132 & 0xff} }, { .description = "", @@ -48026,15 +48622,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (947 >> 8) & 0xff, - 947 & 0xff, + (967 >> 8) & 0xff, + 967 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (130 >> 8) & 0xff, - 130 & 0xff} + (133 >> 8) & 0xff, + 133 & 0xff} }, { .description = "", @@ -48042,15 +48638,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (949 >> 8) & 0xff, - 949 & 0xff, + (969 >> 8) & 0xff, + 969 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (131 >> 8) & 0xff, - 131 & 0xff} + (134 >> 8) & 0xff, + 134 & 0xff} }, { .description = "", @@ -48058,15 +48654,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (951 >> 8) & 0xff, - 951 & 0xff, + (971 >> 8) & 0xff, + 971 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (132 >> 8) & 0xff, - 132 & 0xff} + (135 >> 8) & 0xff, + 135 & 0xff} }, { .description = "", @@ -48074,8 +48670,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (953 >> 8) & 0xff, - 953 & 0xff, + (973 >> 8) & 0xff, + 973 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48083,8 +48679,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (133 >> 8) & 0xff, - 133 & 0xff} + (136 >> 8) & 0xff, + 136 & 0xff} }, { .description = "", @@ -48092,8 +48688,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (955 >> 8) & 0xff, - 955 & 0xff, + (975 >> 8) & 0xff, + 975 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48101,8 +48697,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (134 >> 8) & 0xff, - 134 & 0xff} + (137 >> 8) & 0xff, + 137 & 0xff} }, { .description = "", @@ -48110,8 +48706,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (957 >> 8) & 0xff, - 957 & 0xff, + (977 >> 8) & 0xff, + 977 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48119,8 +48715,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (135 >> 8) & 0xff, - 135 & 0xff} + (138 >> 8) & 0xff, + 138 & 0xff} }, { .description = "", @@ -48128,8 +48724,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (959 >> 8) & 0xff, - 959 & 0xff, + (979 >> 8) & 0xff, + 979 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48145,15 +48741,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (963 >> 8) & 0xff, - 963 & 0xff, + (983 >> 8) & 0xff, + 983 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (137 >> 8) & 0xff, - 137 & 0xff} + (140 >> 8) & 0xff, + 140 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -48161,15 +48757,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (965 >> 8) & 0xff, - 965 & 0xff, + (985 >> 8) & 0xff, + 985 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (138 >> 8) & 0xff, - 138 & 0xff} + (141 >> 8) & 0xff, + 141 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -48177,8 +48773,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (967 >> 8) & 0xff, - 967 & 0xff, + (987 >> 8) & 0xff, + 987 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48190,8 +48786,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (971 >> 8) & 0xff, - 971 & 0xff, + (991 >> 8) & 0xff, + 991 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48199,8 +48795,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (140 >> 8) & 0xff, - 140 & 0xff} + (143 >> 8) & 0xff, + 143 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -48208,8 +48804,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (973 >> 8) & 0xff, - 973 & 0xff, + (993 >> 8) & 0xff, + 993 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48217,8 +48813,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (141 >> 8) & 0xff, - 141 & 0xff} + (144 >> 8) & 0xff, + 144 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -48226,8 +48822,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (975 >> 8) & 0xff, - 975 & 0xff, + (995 >> 8) & 0xff, + 995 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48241,15 +48837,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (979 >> 8) & 0xff, - 979 & 0xff, + (999 >> 8) & 0xff, + 999 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (143 >> 8) & 0xff, - 143 & 0xff} + (146 >> 8) & 0xff, + 146 & 0xff} }, { .description = "l4_hdr_type", @@ -48257,15 +48853,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (981 >> 8) & 0xff, - 981 & 0xff, + (1001 >> 8) & 0xff, + 1001 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (144 >> 8) & 0xff, - 144 & 0xff} + (147 >> 8) & 0xff, + 147 & 0xff} }, { .description = "l4_hdr_type", @@ -48273,8 +48869,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (983 >> 8) & 0xff, - 983 & 0xff, + (1003 >> 8) & 0xff, + 1003 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48286,15 +48882,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (987 >> 8) & 0xff, - 987 & 0xff, + (1007 >> 8) & 0xff, + 1007 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (146 >> 8) & 0xff, - 146 & 0xff} + (149 >> 8) & 0xff, + 149 & 0xff} }, { .description = "l4_hdr_type", @@ -48302,8 +48898,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (989 >> 8) & 0xff, - 989 & 0xff, + (1009 >> 8) & 0xff, + 1009 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48311,8 +48907,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_TYPE_UDP}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (147 >> 8) & 0xff, - 147 & 0xff} + (150 >> 8) & 0xff, + 150 & 0xff} }, { .description = "l4_hdr_type", @@ -48320,8 +48916,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (991 >> 8) & 0xff, - 991 & 0xff, + (1011 >> 8) & 0xff, + 1011 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48335,15 +48931,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (995 >> 8) & 0xff, - 995 & 0xff, + (1015 >> 8) & 0xff, + 1015 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (149 >> 8) & 0xff, - 149 & 0xff} + (152 >> 8) & 0xff, + 152 & 0xff} }, { .description = "l4_hdr_error", @@ -48351,15 +48947,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (997 >> 8) & 0xff, - 997 & 0xff, + (1017 >> 8) & 0xff, + 1017 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (150 >> 8) & 0xff, - 150 & 0xff} + (153 >> 8) & 0xff, + 153 & 0xff} }, { .description = "l4_hdr_error", @@ -48367,8 +48963,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (999 >> 8) & 0xff, - 999 & 0xff, + (1019 >> 8) & 0xff, + 1019 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48380,15 +48976,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1003 >> 8) & 0xff, - 1003 & 0xff, + (1023 >> 8) & 0xff, + 1023 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (152 >> 8) & 0xff, - 152 & 0xff} + (155 >> 8) & 0xff, + 155 & 0xff} }, { .description = "l4_hdr_error", @@ -48396,15 +48992,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1005 >> 8) & 0xff, - 1005 & 0xff, + (1025 >> 8) & 0xff, + 1025 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (153 >> 8) & 0xff, - 153 & 0xff} + (156 >> 8) & 0xff, + 156 & 0xff} }, { .description = "l4_hdr_error", @@ -48412,8 +49008,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1007 >> 8) & 0xff, - 1007 & 0xff, + (1027 >> 8) & 0xff, + 1027 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -48425,15 +49021,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1011 >> 8) & 0xff, - 1011 & 0xff, + (1031 >> 8) & 0xff, + 1031 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (155 >> 8) & 0xff, - 155 & 0xff} + (158 >> 8) & 0xff, + 158 & 0xff} }, { .description = "l4_hdr_valid", @@ -48441,15 +49037,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1013 >> 8) & 0xff, - 1013 & 0xff, + (1033 >> 8) & 0xff, + 1033 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (156 >> 8) & 0xff, - 156 & 0xff} + (159 >> 8) & 0xff, + 159 & 0xff} }, { .description = "l4_hdr_valid", @@ -48457,8 +49053,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1015 >> 8) & 0xff, - 1015 & 0xff, + (1035 >> 8) & 0xff, + 1035 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48470,8 +49066,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1019 >> 8) & 0xff, - 1019 & 0xff, + (1039 >> 8) & 0xff, + 1039 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48479,8 +49075,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (158 >> 8) & 0xff, - 158 & 0xff} + (161 >> 8) & 0xff, + 161 & 0xff} }, { .description = "l4_hdr_valid", @@ -48488,8 +49084,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1021 >> 8) & 0xff, - 1021 & 0xff, + (1041 >> 8) & 0xff, + 1041 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48497,8 +49093,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (159 >> 8) & 0xff, - 159 & 0xff} + (162 >> 8) & 0xff, + 162 & 0xff} }, { .description = "l4_hdr_valid", @@ -48506,8 +49102,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1023 >> 8) & 0xff, - 1023 & 0xff, + (1043 >> 8) & 0xff, + 1043 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48521,8 +49117,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1027 >> 8) & 0xff, - 1027 & 0xff, + (1047 >> 8) & 0xff, + 1047 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48530,8 +49126,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (161 >> 8) & 0xff, - 161 & 0xff} + (164 >> 8) & 0xff, + 164 & 0xff} }, { .description = "l3_hdr_isIP", @@ -48539,8 +49135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1029 >> 8) & 0xff, - 1029 & 0xff, + (1049 >> 8) & 0xff, + 1049 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48548,8 +49144,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (162 >> 8) & 0xff, - 162 & 0xff} + (165 >> 8) & 0xff, + 165 & 0xff} }, { .description = "l3_hdr_isIP", @@ -48557,8 +49153,26 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1031 >> 8) & 0xff, - 1031 & 0xff, + (1051 >> 8) & 0xff, + 1051 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (166 >> 8) & 0xff, + 166 & 0xff} + }, + { + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1053 >> 8) & 0xff, + 1053 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48572,15 +49186,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1035 >> 8) & 0xff, - 1035 & 0xff, + (1057 >> 8) & 0xff, + 1057 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (164 >> 8) & 0xff, - 164 & 0xff} + (168 >> 8) & 0xff, + 168 & 0xff} }, { .description = "l3_hdr_type", @@ -48588,15 +49202,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1037 >> 8) & 0xff, - 1037 & 0xff, + (1059 >> 8) & 0xff, + 1059 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (165 >> 8) & 0xff, - 165 & 0xff} + (169 >> 8) & 0xff, + 169 & 0xff} }, { .description = "l3_hdr_type", @@ -48604,8 +49218,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1039 >> 8) & 0xff, - 1039 & 0xff, + (1061 >> 8) & 0xff, + 1061 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48617,8 +49231,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1043 >> 8) & 0xff, - 1043 & 0xff, + (1065 >> 8) & 0xff, + 1065 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48626,8 +49240,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (167 >> 8) & 0xff, - 167 & 0xff} + (171 >> 8) & 0xff, + 171 & 0xff} }, { .description = "l3_hdr_type", @@ -48635,15 +49249,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1045 >> 8) & 0xff, - 1045 & 0xff, + (1067 >> 8) & 0xff, + 1067 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (168 >> 8) & 0xff, - 168 & 0xff} + (172 >> 8) & 0xff, + 172 & 0xff} }, { .description = "l3_hdr_type", @@ -48651,8 +49265,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1047 >> 8) & 0xff, - 1047 & 0xff, + (1069 >> 8) & 0xff, + 1069 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -48664,15 +49278,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1051 >> 8) & 0xff, - 1051 & 0xff, + (1073 >> 8) & 0xff, + 1073 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (170 >> 8) & 0xff, - 170 & 0xff} + (174 >> 8) & 0xff, + 174 & 0xff} }, { .description = "l3_hdr_error", @@ -48680,15 +49294,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1053 >> 8) & 0xff, - 1053 & 0xff, + (1075 >> 8) & 0xff, + 1075 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (171 >> 8) & 0xff, - 171 & 0xff} + (175 >> 8) & 0xff, + 175 & 0xff} }, { .description = "l3_hdr_error", @@ -48696,8 +49310,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1055 >> 8) & 0xff, - 1055 & 0xff, + (1077 >> 8) & 0xff, + 1077 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48709,15 +49323,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1059 >> 8) & 0xff, - 1059 & 0xff, + (1081 >> 8) & 0xff, + 1081 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (173 >> 8) & 0xff, - 173 & 0xff} + (177 >> 8) & 0xff, + 177 & 0xff} }, { .description = "l3_hdr_error", @@ -48725,15 +49339,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1061 >> 8) & 0xff, - 1061 & 0xff, + (1083 >> 8) & 0xff, + 1083 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (174 >> 8) & 0xff, - 174 & 0xff} + (178 >> 8) & 0xff, + 178 & 0xff} }, { .description = "l3_hdr_error", @@ -48741,8 +49355,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1063 >> 8) & 0xff, - 1063 & 0xff, + (1085 >> 8) & 0xff, + 1085 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -48754,15 +49368,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1067 >> 8) & 0xff, - 1067 & 0xff, + (1089 >> 8) & 0xff, + 1089 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (176 >> 8) & 0xff, - 176 & 0xff} + (180 >> 8) & 0xff, + 180 & 0xff} }, { .description = "l3_hdr_valid", @@ -48770,15 +49384,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1069 >> 8) & 0xff, - 1069 & 0xff, + (1091 >> 8) & 0xff, + 1091 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (177 >> 8) & 0xff, - 177 & 0xff} + (181 >> 8) & 0xff, + 181 & 0xff} }, { .description = "l3_hdr_valid", @@ -48786,8 +49400,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1071 >> 8) & 0xff, - 1071 & 0xff, + (1093 >> 8) & 0xff, + 1093 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48799,8 +49413,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1075 >> 8) & 0xff, - 1075 & 0xff, + (1097 >> 8) & 0xff, + 1097 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48808,8 +49422,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (179 >> 8) & 0xff, - 179 & 0xff} + (183 >> 8) & 0xff, + 183 & 0xff} }, { .description = "l3_hdr_valid", @@ -48817,8 +49431,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1077 >> 8) & 0xff, - 1077 & 0xff, + (1099 >> 8) & 0xff, + 1099 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48826,8 +49440,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (180 >> 8) & 0xff, - 180 & 0xff} + (184 >> 8) & 0xff, + 184 & 0xff} }, { .description = "l3_hdr_valid", @@ -48835,8 +49449,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1079 >> 8) & 0xff, - 1079 & 0xff, + (1101 >> 8) & 0xff, + 1101 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48850,8 +49464,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1084 >> 8) & 0xff, - 1084 & 0xff, + (1106 >> 8) & 0xff, + 1106 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48865,8 +49479,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1090 >> 8) & 0xff, - 1090 & 0xff, + (1112 >> 8) & 0xff, + 1112 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48880,8 +49494,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1097 >> 8) & 0xff, - 1097 & 0xff, + (1119 >> 8) & 0xff, + 1119 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48893,8 +49507,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1101 >> 8) & 0xff, - 1101 & 0xff, + (1123 >> 8) & 0xff, + 1123 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -48906,13 +49520,62 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1105 >> 8) & 0xff, - 1105 & 0xff, + (1127 >> 8) & 0xff, + 1127 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { ULP_THOR_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (190 >> 8) & 0xff, + 190 & 0xff} + }, + { + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1129 >> 8) & 0xff, + 1129 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR_SYM_L2_HDR_VALID_YES} + }, + { + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1133 >> 8) & 0xff, + 1133 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (192 >> 8) & 0xff, + 192 & 0xff} + }, + { + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1135 >> 8) & 0xff, + 1135 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -48921,15 +49584,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1109 >> 8) & 0xff, - 1109 & 0xff, + (1139 >> 8) & 0xff, + 1139 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (187 >> 8) & 0xff, - 187 & 0xff} + (194 >> 8) & 0xff, + 194 & 0xff} }, { .description = "tun_hdr_type", @@ -48937,15 +49600,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1111 >> 8) & 0xff, - 1111 & 0xff, + (1141 >> 8) & 0xff, + 1141 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (188 >> 8) & 0xff, - 188 & 0xff} + (195 >> 8) & 0xff, + 195 & 0xff} }, { .description = "tun_hdr_type", @@ -48953,15 +49616,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1113 >> 8) & 0xff, - 1113 & 0xff, + (1143 >> 8) & 0xff, + 1143 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (189 >> 8) & 0xff, - 189 & 0xff} + (196 >> 8) & 0xff, + 196 & 0xff} }, { .description = "tun_hdr_type", @@ -48969,15 +49632,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1115 >> 8) & 0xff, - 1115 & 0xff, + (1145 >> 8) & 0xff, + 1145 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (190 >> 8) & 0xff, - 190 & 0xff} + (197 >> 8) & 0xff, + 197 & 0xff} }, { .description = "tun_hdr_type", @@ -48985,8 +49648,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1117 >> 8) & 0xff, - 1117 & 0xff, + (1147 >> 8) & 0xff, + 1147 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (198 >> 8) & 0xff, + 198 & 0xff} + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1149 >> 8) & 0xff, + 1149 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48998,15 +49677,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1121 >> 8) & 0xff, - 1121 & 0xff, + (1153 >> 8) & 0xff, + 1153 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (192 >> 8) & 0xff, - 192 & 0xff} + (200 >> 8) & 0xff, + 200 & 0xff} }, { .description = "tun_hdr_type", @@ -49014,8 +49693,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1123 >> 8) & 0xff, - 1123 & 0xff, + (1155 >> 8) & 0xff, + 1155 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49023,8 +49702,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_GENEVE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (193 >> 8) & 0xff, - 193 & 0xff} + (201 >> 8) & 0xff, + 201 & 0xff} }, { .description = "tun_hdr_type", @@ -49032,8 +49711,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1125 >> 8) & 0xff, - 1125 & 0xff, + (1157 >> 8) & 0xff, + 1157 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49041,8 +49720,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_GRE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (194 >> 8) & 0xff, - 194 & 0xff} + (202 >> 8) & 0xff, + 202 & 0xff} }, { .description = "tun_hdr_type", @@ -49050,8 +49729,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1127 >> 8) & 0xff, - 1127 & 0xff, + (1159 >> 8) & 0xff, + 1159 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49059,8 +49738,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_UPAR1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (195 >> 8) & 0xff, - 195 & 0xff} + (203 >> 8) & 0xff, + 203 & 0xff} }, { .description = "tun_hdr_type", @@ -49068,13 +49747,31 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1129 >> 8) & 0xff, - 1129 & 0xff, + (1161 >> 8) & 0xff, + 1161 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { ULP_THOR_SYM_TUN_HDR_TYPE_UPAR2}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (204 >> 8) & 0xff, + 204 & 0xff} + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1163 >> 8) & 0xff, + 1163 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TUN_HDR_TYPE_MPLS}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -49083,8 +49780,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1136 >> 8) & 0xff, - 1136 & 0xff, + (1170 >> 8) & 0xff, + 1170 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -49096,8 +49793,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1140 >> 8) & 0xff, - 1140 & 0xff, + (1174 >> 8) & 0xff, + 1174 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49111,8 +49808,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1144 >> 8) & 0xff, - 1144 & 0xff, + (1178 >> 8) & 0xff, + 1178 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -49124,8 +49821,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1148 >> 8) & 0xff, - 1148 & 0xff, + (1182 >> 8) & 0xff, + 1182 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49139,8 +49836,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1152 >> 8) & 0xff, - 1152 & 0xff, + (1186 >> 8) & 0xff, + 1186 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -49152,8 +49849,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1156 >> 8) & 0xff, - 1156 & 0xff, + (1190 >> 8) & 0xff, + 1190 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -49165,15 +49862,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1160 >> 8) & 0xff, - 1160 & 0xff, + (1194 >> 8) & 0xff, + 1194 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (203 >> 8) & 0xff, - 203 & 0xff} + (212 >> 8) & 0xff, + 212 & 0xff} }, { .description = "tl4_hdr_valid", @@ -49181,8 +49878,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1162 >> 8) & 0xff, - 1162 & 0xff, + (1196 >> 8) & 0xff, + 1196 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -49194,8 +49891,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1165 >> 8) & 0xff, - 1165 & 0xff, + (1199 >> 8) & 0xff, + 1199 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49203,8 +49900,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (205 >> 8) & 0xff, - 205 & 0xff} + (214 >> 8) & 0xff, + 214 & 0xff} }, { .description = "tl4_hdr_valid", @@ -49212,8 +49909,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1167 >> 8) & 0xff, - 1167 & 0xff, + (1201 >> 8) & 0xff, + 1201 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -49225,8 +49922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1170 >> 8) & 0xff, - 1170 & 0xff, + (1204 >> 8) & 0xff, + 1204 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49240,8 +49937,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1174 >> 8) & 0xff, - 1174 & 0xff, + (1208 >> 8) & 0xff, + 1208 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -49253,8 +49950,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1178 >> 8) & 0xff, - 1178 & 0xff, + (1212 >> 8) & 0xff, + 1212 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -49266,8 +49963,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1182 >> 8) & 0xff, - 1182 & 0xff, + (1216 >> 8) & 0xff, + 1216 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -49279,8 +49976,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1186 >> 8) & 0xff, - 1186 & 0xff, + (1220 >> 8) & 0xff, + 1220 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -49292,8 +49989,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1190 >> 8) & 0xff, - 1190 & 0xff, + (1224 >> 8) & 0xff, + 1224 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49307,8 +50004,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1202 >> 8) & 0xff, - 1202 & 0xff, + (1236 >> 8) & 0xff, + 1236 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49322,10 +50019,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1207 >> 8) & 0xff, - 1207 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (1240 >> 8) & 0xff, + 1240 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, @@ -49338,8 +50035,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1218 >> 8) & 0xff, - 1218 & 0xff, + (1251 >> 8) & 0xff, + 1251 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (224 >> 8) & 0xff, + 224 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1252 >> 8) & 0xff, + 1252 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -49354,8 +50067,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1252 >> 8) & 0xff, - 1252 & 0xff, + (1286 >> 8) & 0xff, + 1286 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49370,8 +50083,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1262 >> 8) & 0xff, - 1262 & 0xff, + (1296 >> 8) & 0xff, + 1296 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49386,8 +50099,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1289 >> 8) & 0xff, - 1289 & 0xff, + (1323 >> 8) & 0xff, + 1323 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49402,8 +50115,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1294 >> 8) & 0xff, - 1294 & 0xff, + (1328 >> 8) & 0xff, + 1328 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49418,8 +50131,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1315 >> 8) & 0xff, - 1315 & 0xff, + (1349 >> 8) & 0xff, + 1349 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49434,8 +50147,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1323 >> 8) & 0xff, - 1323 & 0xff, + (1357 >> 8) & 0xff, + 1357 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49450,8 +50163,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1331 >> 8) & 0xff, - 1331 & 0xff, + (1365 >> 8) & 0xff, + 1365 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49466,8 +50179,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1339 >> 8) & 0xff, - 1339 & 0xff, + (1373 >> 8) & 0xff, + 1373 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49482,8 +50195,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1347 >> 8) & 0xff, - 1347 & 0xff, + (1381 >> 8) & 0xff, + 1381 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49498,8 +50211,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1355 >> 8) & 0xff, - 1355 & 0xff, + (1389 >> 8) & 0xff, + 1389 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49514,8 +50227,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1363 >> 8) & 0xff, - 1363 & 0xff, + (1397 >> 8) & 0xff, + 1397 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49530,8 +50243,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1371 >> 8) & 0xff, - 1371 & 0xff, + (1405 >> 8) & 0xff, + 1405 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49546,8 +50259,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1380 >> 8) & 0xff, - 1380 & 0xff, + (1414 >> 8) & 0xff, + 1414 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49562,8 +50275,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1389 >> 8) & 0xff, - 1389 & 0xff, + (1423 >> 8) & 0xff, + 1423 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49578,14 +50291,33 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1396 >> 8) & 0xff, - 1396 & 0xff, + (1430 >> 8) & 0xff, + 1430 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (240 >> 8) & 0xff, + 240 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1433 >> 8) & 0xff, + 1433 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -49594,14 +50326,33 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1402 >> 8) & 0xff, - 1402 & 0xff, + (1439 >> 8) & 0xff, + 1439 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (242 >> 8) & 0xff, + 242 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1442 >> 8) & 0xff, + 1442 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -49610,8 +50361,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1409 >> 8) & 0xff, - 1409 & 0xff, + (1455 >> 8) & 0xff, + 1455 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49626,8 +50377,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1416 >> 8) & 0xff, - 1416 & 0xff, + (1462 >> 8) & 0xff, + 1462 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49642,8 +50393,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1423 >> 8) & 0xff, - 1423 & 0xff, + (1469 >> 8) & 0xff, + 1469 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49658,8 +50409,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1430 >> 8) & 0xff, - 1430 & 0xff, + (1476 >> 8) & 0xff, + 1476 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49674,8 +50425,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1438 >> 8) & 0xff, - 1438 & 0xff, + (1484 >> 8) & 0xff, + 1484 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49690,8 +50441,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1447 >> 8) & 0xff, - 1447 & 0xff, + (1493 >> 8) & 0xff, + 1493 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49706,8 +50457,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1456 >> 8) & 0xff, - 1456 & 0xff, + (1502 >> 8) & 0xff, + 1502 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49716,8 +50467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (238 >> 8) & 0xff, - 238 & 0xff} + (250 >> 8) & 0xff, + 250 & 0xff} }, { .description = "l2_ivv", @@ -49725,8 +50476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1461 >> 8) & 0xff, - 1461 & 0xff, + (1507 >> 8) & 0xff, + 1507 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49735,8 +50486,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (239 >> 8) & 0xff, - 239 & 0xff} + (251 >> 8) & 0xff, + 251 & 0xff} }, { .description = "l2_ivv", @@ -49744,8 +50495,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1465 >> 8) & 0xff, - 1465 & 0xff, + (1511 >> 8) & 0xff, + 1511 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49760,8 +50511,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1474 >> 8) & 0xff, - 1474 & 0xff, + (1520 >> 8) & 0xff, + 1520 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49770,8 +50521,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (241 >> 8) & 0xff, - 241 & 0xff} + (253 >> 8) & 0xff, + 253 & 0xff} }, { .description = "l2_ivv", @@ -49779,8 +50530,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1479 >> 8) & 0xff, - 1479 & 0xff, + (1525 >> 8) & 0xff, + 1525 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49789,8 +50540,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (242 >> 8) & 0xff, - 242 & 0xff} + (254 >> 8) & 0xff, + 254 & 0xff} }, { .description = "l2_ivv", @@ -49798,8 +50549,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1483 >> 8) & 0xff, - 1483 & 0xff, + (1529 >> 8) & 0xff, + 1529 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49814,8 +50565,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1492 >> 8) & 0xff, - 1492 & 0xff, + (1538 >> 8) & 0xff, + 1538 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49830,8 +50581,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1501 >> 8) & 0xff, - 1501 & 0xff, + (1547 >> 8) & 0xff, + 1547 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49846,8 +50597,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1509 >> 8) & 0xff, - 1509 & 0xff, + (1555 >> 8) & 0xff, + 1555 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49862,8 +50613,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1516 >> 8) & 0xff, - 1516 & 0xff, + (1562 >> 8) & 0xff, + 1562 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49878,8 +50629,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1523 >> 8) & 0xff, - 1523 & 0xff, + (1569 >> 8) & 0xff, + 1569 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49894,8 +50645,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1530 >> 8) & 0xff, - 1530 & 0xff, + (1576 >> 8) & 0xff, + 1576 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49910,8 +50661,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1537 >> 8) & 0xff, - 1537 & 0xff, + (1583 >> 8) & 0xff, + 1583 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49926,8 +50677,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1544 >> 8) & 0xff, - 1544 & 0xff, + (1590 >> 8) & 0xff, + 1590 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49942,8 +50693,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1551 >> 8) & 0xff, - 1551 & 0xff, + (1597 >> 8) & 0xff, + 1597 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49958,8 +50709,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1558 >> 8) & 0xff, - 1558 & 0xff, + (1604 >> 8) & 0xff, + 1604 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49974,8 +50725,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1565 >> 8) & 0xff, - 1565 & 0xff, + (1611 >> 8) & 0xff, + 1611 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49984,8 +50735,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (254 >> 8) & 0xff, - 254 & 0xff} + (266 >> 8) & 0xff, + 266 & 0xff} }, { .description = "l3.ttl", @@ -49993,8 +50744,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1569 >> 8) & 0xff, - 1569 & 0xff, + (1615 >> 8) & 0xff, + 1615 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50003,8 +50754,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (255 >> 8) & 0xff, - 255 & 0xff} + (267 >> 8) & 0xff, + 267 & 0xff} }, { .description = "l3.ttl", @@ -50012,8 +50763,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1572 >> 8) & 0xff, - 1572 & 0xff, + (1618 >> 8) & 0xff, + 1618 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50028,8 +50779,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1579 >> 8) & 0xff, - 1579 & 0xff, + (1625 >> 8) & 0xff, + 1625 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50038,8 +50789,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (257 >> 8) & 0xff, - 257 & 0xff} + (269 >> 8) & 0xff, + 269 & 0xff} }, { .description = "l3.ttl", @@ -50047,8 +50798,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1583 >> 8) & 0xff, - 1583 & 0xff, + (1629 >> 8) & 0xff, + 1629 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50057,8 +50808,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (258 >> 8) & 0xff, - 258 & 0xff} + (270 >> 8) & 0xff, + 270 & 0xff} }, { .description = "l3.ttl", @@ -50066,8 +50817,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1586 >> 8) & 0xff, - 1586 & 0xff, + (1632 >> 8) & 0xff, + 1632 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50082,8 +50833,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1593 >> 8) & 0xff, - 1593 & 0xff, + (1639 >> 8) & 0xff, + 1639 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50092,8 +50843,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (260 >> 8) & 0xff, - 260 & 0xff} + (272 >> 8) & 0xff, + 272 & 0xff} }, { .description = "l3.prot", @@ -50101,8 +50852,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1597 >> 8) & 0xff, - 1597 & 0xff, + (1643 >> 8) & 0xff, + 1643 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50111,8 +50862,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (261 >> 8) & 0xff, - 261 & 0xff} + (273 >> 8) & 0xff, + 273 & 0xff} }, { .description = "l3.prot", @@ -50120,8 +50871,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1600 >> 8) & 0xff, - 1600 & 0xff, + (1646 >> 8) & 0xff, + 1646 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50136,8 +50887,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1607 >> 8) & 0xff, - 1607 & 0xff, + (1653 >> 8) & 0xff, + 1653 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50146,8 +50897,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (263 >> 8) & 0xff, - 263 & 0xff} + (275 >> 8) & 0xff, + 275 & 0xff} }, { .description = "l3.prot", @@ -50155,8 +50906,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1611 >> 8) & 0xff, - 1611 & 0xff, + (1657 >> 8) & 0xff, + 1657 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50165,8 +50916,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (264 >> 8) & 0xff, - 264 & 0xff} + (276 >> 8) & 0xff, + 276 & 0xff} }, { .description = "l3.prot", @@ -50174,8 +50925,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1614 >> 8) & 0xff, - 1614 & 0xff, + (1660 >> 8) & 0xff, + 1660 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50190,8 +50941,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1621 >> 8) & 0xff, - 1621 & 0xff, + (1667 >> 8) & 0xff, + 1667 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50200,8 +50951,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (266 >> 8) & 0xff, - 266 & 0xff} + (278 >> 8) & 0xff, + 278 & 0xff} }, { .description = "l3.qos", @@ -50209,8 +50960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1625 >> 8) & 0xff, - 1625 & 0xff, + (1671 >> 8) & 0xff, + 1671 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50219,8 +50970,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (267 >> 8) & 0xff, - 267 & 0xff} + (279 >> 8) & 0xff, + 279 & 0xff} }, { .description = "l3.qos", @@ -50228,8 +50979,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1628 >> 8) & 0xff, - 1628 & 0xff, + (1674 >> 8) & 0xff, + 1674 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50244,8 +50995,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1635 >> 8) & 0xff, - 1635 & 0xff, + (1681 >> 8) & 0xff, + 1681 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50254,8 +51005,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (269 >> 8) & 0xff, - 269 & 0xff} + (281 >> 8) & 0xff, + 281 & 0xff} }, { .description = "l3.qos", @@ -50263,8 +51014,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1639 >> 8) & 0xff, - 1639 & 0xff, + (1685 >> 8) & 0xff, + 1685 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50273,8 +51024,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (270 >> 8) & 0xff, - 270 & 0xff} + (282 >> 8) & 0xff, + 282 & 0xff} }, { .description = "l3.qos", @@ -50282,8 +51033,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1642 >> 8) & 0xff, - 1642 & 0xff, + (1688 >> 8) & 0xff, + 1688 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50298,8 +51049,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1649 >> 8) & 0xff, - 1649 & 0xff, + (1695 >> 8) & 0xff, + 1695 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50308,8 +51059,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (272 >> 8) & 0xff, - 272 & 0xff} + (284 >> 8) & 0xff, + 284 & 0xff} }, { .description = "l4.src", @@ -50317,8 +51068,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1653 >> 8) & 0xff, - 1653 & 0xff, + (1699 >> 8) & 0xff, + 1699 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50327,8 +51078,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (273 >> 8) & 0xff, - 273 & 0xff} + (285 >> 8) & 0xff, + 285 & 0xff} }, { .description = "l4.src", @@ -50336,8 +51087,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1656 >> 8) & 0xff, - 1656 & 0xff, + (1702 >> 8) & 0xff, + 1702 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50346,8 +51097,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (274 >> 8) & 0xff, - 274 & 0xff} + (286 >> 8) & 0xff, + 286 & 0xff} }, { .description = "l4.src", @@ -50355,8 +51106,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1659 >> 8) & 0xff, - 1659 & 0xff, + (1705 >> 8) & 0xff, + 1705 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -50368,8 +51119,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1665 >> 8) & 0xff, - 1665 & 0xff, + (1711 >> 8) & 0xff, + 1711 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50378,8 +51129,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (276 >> 8) & 0xff, - 276 & 0xff} + (288 >> 8) & 0xff, + 288 & 0xff} }, { .description = "l4.src", @@ -50387,8 +51138,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1669 >> 8) & 0xff, - 1669 & 0xff, + (1715 >> 8) & 0xff, + 1715 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50397,8 +51148,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (277 >> 8) & 0xff, - 277 & 0xff} + (289 >> 8) & 0xff, + 289 & 0xff} }, { .description = "l4.src", @@ -50406,8 +51157,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1672 >> 8) & 0xff, - 1672 & 0xff, + (1718 >> 8) & 0xff, + 1718 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50416,8 +51167,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (278 >> 8) & 0xff, - 278 & 0xff} + (290 >> 8) & 0xff, + 290 & 0xff} }, { .description = "l4.src", @@ -50425,8 +51176,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1675 >> 8) & 0xff, - 1675 & 0xff, + (1721 >> 8) & 0xff, + 1721 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -50438,8 +51189,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1681 >> 8) & 0xff, - 1681 & 0xff, + (1727 >> 8) & 0xff, + 1727 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50448,8 +51199,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (280 >> 8) & 0xff, - 280 & 0xff} + (292 >> 8) & 0xff, + 292 & 0xff} }, { .description = "l4.dst", @@ -50457,8 +51208,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1685 >> 8) & 0xff, - 1685 & 0xff, + (1731 >> 8) & 0xff, + 1731 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50467,8 +51218,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (281 >> 8) & 0xff, - 281 & 0xff} + (293 >> 8) & 0xff, + 293 & 0xff} }, { .description = "l4.dst", @@ -50476,8 +51227,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1688 >> 8) & 0xff, - 1688 & 0xff, + (1734 >> 8) & 0xff, + 1734 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50486,8 +51237,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (282 >> 8) & 0xff, - 282 & 0xff} + (294 >> 8) & 0xff, + 294 & 0xff} }, { .description = "l4.dst", @@ -50495,8 +51246,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1691 >> 8) & 0xff, - 1691 & 0xff, + (1737 >> 8) & 0xff, + 1737 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -50508,8 +51259,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1697 >> 8) & 0xff, - 1697 & 0xff, + (1743 >> 8) & 0xff, + 1743 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50518,8 +51269,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (284 >> 8) & 0xff, - 284 & 0xff} + (296 >> 8) & 0xff, + 296 & 0xff} }, { .description = "l4.dst", @@ -50527,8 +51278,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1701 >> 8) & 0xff, - 1701 & 0xff, + (1747 >> 8) & 0xff, + 1747 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50537,8 +51288,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (285 >> 8) & 0xff, - 285 & 0xff} + (297 >> 8) & 0xff, + 297 & 0xff} }, { .description = "l4.dst", @@ -50546,8 +51297,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1704 >> 8) & 0xff, - 1704 & 0xff, + (1750 >> 8) & 0xff, + 1750 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50556,8 +51307,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (286 >> 8) & 0xff, - 286 & 0xff} + (298 >> 8) & 0xff, + 298 & 0xff} }, { .description = "l4.dst", @@ -50565,8 +51316,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1707 >> 8) & 0xff, - 1707 & 0xff, + (1753 >> 8) & 0xff, + 1753 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -50578,8 +51329,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1742 >> 8) & 0xff, - 1742 & 0xff, + (1789 >> 8) & 0xff, + 1789 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50593,8 +51344,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1756 >> 8) & 0xff, - 1756 & 0xff, + (1803 >> 8) & 0xff, + 1803 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50608,8 +51359,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1764 >> 8) & 0xff, - 1764 & 0xff, + (1811 >> 8) & 0xff, + 1811 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50623,8 +51374,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1772 >> 8) & 0xff, - 1772 & 0xff, + (1819 >> 8) & 0xff, + 1819 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50638,8 +51389,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1780 >> 8) & 0xff, - 1780 & 0xff, + (1827 >> 8) & 0xff, + 1827 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50653,8 +51404,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1788 >> 8) & 0xff, - 1788 & 0xff, + (1835 >> 8) & 0xff, + 1835 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50668,8 +51419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1796 >> 8) & 0xff, - 1796 & 0xff, + (1843 >> 8) & 0xff, + 1843 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50683,8 +51434,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1805 >> 8) & 0xff, - 1805 & 0xff, + (1852 >> 8) & 0xff, + 1852 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50698,8 +51449,26 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1812 >> 8) & 0xff, - 1812 & 0xff, + (1859 >> 8) & 0xff, + 1859 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (308 >> 8) & 0xff, + 308 & 0xff} + }, + { + .description = "tids.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1862 >> 8) & 0xff, + 1862 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50713,8 +51482,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1820 >> 8) & 0xff, - 1820 & 0xff, + (1873 >> 8) & 0xff, + 1873 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50728,8 +51497,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1828 >> 8) & 0xff, - 1828 & 0xff, + (1881 >> 8) & 0xff, + 1881 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50743,8 +51512,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1836 >> 8) & 0xff, - 1836 & 0xff, + (1889 >> 8) & 0xff, + 1889 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50758,8 +51527,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1845 >> 8) & 0xff, - 1845 & 0xff, + (1898 >> 8) & 0xff, + 1898 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50767,8 +51536,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (300 >> 8) & 0xff, - 300 & 0xff} + (313 >> 8) & 0xff, + 313 & 0xff} }, { .description = "l2_ivv.en", @@ -50776,8 +51545,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1850 >> 8) & 0xff, - 1850 & 0xff, + (1903 >> 8) & 0xff, + 1903 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50785,8 +51554,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (301 >> 8) & 0xff, - 301 & 0xff} + (314 >> 8) & 0xff, + 314 & 0xff} }, { .description = "l2_ivv.en", @@ -50794,8 +51563,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1854 >> 8) & 0xff, - 1854 & 0xff, + (1907 >> 8) & 0xff, + 1907 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50809,8 +51578,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1863 >> 8) & 0xff, - 1863 & 0xff, + (1916 >> 8) & 0xff, + 1916 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50824,8 +51593,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1871 >> 8) & 0xff, - 1871 & 0xff, + (1924 >> 8) & 0xff, + 1924 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50833,8 +51602,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (304 >> 8) & 0xff, - 304 & 0xff} + (317 >> 8) & 0xff, + 317 & 0xff} }, { .description = "l3_sip.en", @@ -50842,8 +51611,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1875 >> 8) & 0xff, - 1875 & 0xff, + (1928 >> 8) & 0xff, + 1928 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50851,8 +51620,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (305 >> 8) & 0xff, - 305 & 0xff} + (318 >> 8) & 0xff, + 318 & 0xff} }, { .description = "l3_sip.en", @@ -50860,8 +51629,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1878 >> 8) & 0xff, - 1878 & 0xff, + (1931 >> 8) & 0xff, + 1931 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50875,8 +51644,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1885 >> 8) & 0xff, - 1885 & 0xff, + (1938 >> 8) & 0xff, + 1938 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50884,8 +51653,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (307 >> 8) & 0xff, - 307 & 0xff} + (320 >> 8) & 0xff, + 320 & 0xff} }, { .description = "l3_dip.en", @@ -50893,8 +51662,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1889 >> 8) & 0xff, - 1889 & 0xff, + (1942 >> 8) & 0xff, + 1942 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50902,8 +51671,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (308 >> 8) & 0xff, - 308 & 0xff} + (321 >> 8) & 0xff, + 321 & 0xff} }, { .description = "l3_dip.en", @@ -50911,8 +51680,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1892 >> 8) & 0xff, - 1892 & 0xff, + (1945 >> 8) & 0xff, + 1945 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50926,8 +51695,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1899 >> 8) & 0xff, - 1899 & 0xff, + (1952 >> 8) & 0xff, + 1952 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50935,8 +51704,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (310 >> 8) & 0xff, - 310 & 0xff} + (323 >> 8) & 0xff, + 323 & 0xff} }, { .description = "l3_ttl.en", @@ -50944,8 +51713,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1903 >> 8) & 0xff, - 1903 & 0xff, + (1956 >> 8) & 0xff, + 1956 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50953,8 +51722,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (311 >> 8) & 0xff, - 311 & 0xff} + (324 >> 8) & 0xff, + 324 & 0xff} }, { .description = "l3_ttl.en", @@ -50962,8 +51731,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1906 >> 8) & 0xff, - 1906 & 0xff, + (1959 >> 8) & 0xff, + 1959 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50977,8 +51746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1913 >> 8) & 0xff, - 1913 & 0xff, + (1966 >> 8) & 0xff, + 1966 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50986,8 +51755,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (313 >> 8) & 0xff, - 313 & 0xff} + (326 >> 8) & 0xff, + 326 & 0xff} }, { .description = "l3_prot.en", @@ -50995,8 +51764,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1917 >> 8) & 0xff, - 1917 & 0xff, + (1970 >> 8) & 0xff, + 1970 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51004,8 +51773,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (314 >> 8) & 0xff, - 314 & 0xff} + (327 >> 8) & 0xff, + 327 & 0xff} }, { .description = "l3_prot.en", @@ -51013,8 +51782,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1920 >> 8) & 0xff, - 1920 & 0xff, + (1973 >> 8) & 0xff, + 1973 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51028,8 +51797,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1927 >> 8) & 0xff, - 1927 & 0xff, + (1980 >> 8) & 0xff, + 1980 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51037,8 +51806,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (316 >> 8) & 0xff, - 316 & 0xff} + (329 >> 8) & 0xff, + 329 & 0xff} }, { .description = "l3_qos.en", @@ -51046,8 +51815,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1931 >> 8) & 0xff, - 1931 & 0xff, + (1984 >> 8) & 0xff, + 1984 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51055,8 +51824,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (317 >> 8) & 0xff, - 317 & 0xff} + (330 >> 8) & 0xff, + 330 & 0xff} }, { .description = "l3_qos.en", @@ -51064,8 +51833,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1934 >> 8) & 0xff, - 1934 & 0xff, + (1987 >> 8) & 0xff, + 1987 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51079,8 +51848,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1941 >> 8) & 0xff, - 1941 & 0xff, + (1994 >> 8) & 0xff, + 1994 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51088,8 +51857,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (319 >> 8) & 0xff, - 319 & 0xff} + (332 >> 8) & 0xff, + 332 & 0xff} }, { .description = "l4_src.en", @@ -51097,8 +51866,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1945 >> 8) & 0xff, - 1945 & 0xff, + (1998 >> 8) & 0xff, + 1998 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51106,8 +51875,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (320 >> 8) & 0xff, - 320 & 0xff} + (333 >> 8) & 0xff, + 333 & 0xff} }, { .description = "l4_src.en", @@ -51115,8 +51884,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1948 >> 8) & 0xff, - 1948 & 0xff, + (2001 >> 8) & 0xff, + 2001 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51130,8 +51899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1955 >> 8) & 0xff, - 1955 & 0xff, + (2008 >> 8) & 0xff, + 2008 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51139,8 +51908,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (322 >> 8) & 0xff, - 322 & 0xff} + (335 >> 8) & 0xff, + 335 & 0xff} }, { .description = "l4_dst.en", @@ -51148,8 +51917,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1959 >> 8) & 0xff, - 1959 & 0xff, + (2012 >> 8) & 0xff, + 2012 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51157,8 +51926,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (323 >> 8) & 0xff, - 323 & 0xff} + (336 >> 8) & 0xff, + 336 & 0xff} }, { .description = "l4_dst.en", @@ -51166,8 +51935,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1962 >> 8) & 0xff, - 1962 & 0xff, + (2015 >> 8) & 0xff, + 2015 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51181,8 +51950,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2008 >> 8) & 0xff, - 2008 & 0xff, + (2061 >> 8) & 0xff, + 2061 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51194,8 +51963,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2018 >> 8) & 0xff, - 2018 & 0xff, + (2071 >> 8) & 0xff, + 2071 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51210,8 +51979,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2069 >> 8) & 0xff, - 2069 & 0xff, + (2122 >> 8) & 0xff, + 2122 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51223,8 +51992,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2077 >> 8) & 0xff, - 2077 & 0xff, + (2130 >> 8) & 0xff, + 2130 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51239,8 +52008,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2085 >> 8) & 0xff, - 2085 & 0xff, + (2138 >> 8) & 0xff, + 2138 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51252,8 +52021,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2093 >> 8) & 0xff, - 2093 & 0xff, + (2146 >> 8) & 0xff, + 2146 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51268,8 +52037,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2101 >> 8) & 0xff, - 2101 & 0xff, + (2154 >> 8) & 0xff, + 2154 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51281,8 +52050,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2109 >> 8) & 0xff, - 2109 & 0xff, + (2162 >> 8) & 0xff, + 2162 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51297,8 +52066,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2117 >> 8) & 0xff, - 2117 & 0xff, + (2170 >> 8) & 0xff, + 2170 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51310,8 +52079,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2125 >> 8) & 0xff, - 2125 & 0xff, + (2178 >> 8) & 0xff, + 2178 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51326,8 +52095,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2134 >> 8) & 0xff, - 2134 & 0xff, + (2187 >> 8) & 0xff, + 2187 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51339,8 +52108,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2143 >> 8) & 0xff, - 2143 & 0xff, + (2196 >> 8) & 0xff, + 2196 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51355,8 +52124,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2150 >> 8) & 0xff, - 2150 & 0xff, + (2203 >> 8) & 0xff, + 2203 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (350 >> 8) & 0xff, + 350 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2206 >> 8) & 0xff, + 2206 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51368,14 +52153,33 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2156 >> 8) & 0xff, - 2156 & 0xff, + (2212 >> 8) & 0xff, + 2212 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (352 >> 8) & 0xff, + 352 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2215 >> 8) & 0xff, + 2215 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -51384,8 +52188,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2164 >> 8) & 0xff, - 2164 & 0xff, + (2229 >> 8) & 0xff, + 2229 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51397,8 +52201,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2173 >> 8) & 0xff, - 2173 & 0xff, + (2238 >> 8) & 0xff, + 2238 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51413,8 +52217,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2181 >> 8) & 0xff, - 2181 & 0xff, + (2246 >> 8) & 0xff, + 2246 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51426,8 +52230,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2188 >> 8) & 0xff, - 2188 & 0xff, + (2253 >> 8) & 0xff, + 2253 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51442,8 +52246,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2196 >> 8) & 0xff, - 2196 & 0xff, + (2261 >> 8) & 0xff, + 2261 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51455,8 +52259,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2205 >> 8) & 0xff, - 2205 & 0xff, + (2270 >> 8) & 0xff, + 2270 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51471,15 +52275,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2214 >> 8) & 0xff, - 2214 & 0xff, + (2279 >> 8) & 0xff, + 2279 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (345 >> 8) & 0xff, - 345 & 0xff} + (360 >> 8) & 0xff, + 360 & 0xff} }, { .description = "l2_ivv", @@ -51487,15 +52291,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2219 >> 8) & 0xff, - 2219 & 0xff, + (2284 >> 8) & 0xff, + 2284 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (346 >> 8) & 0xff, - 346 & 0xff} + (361 >> 8) & 0xff, + 361 & 0xff} }, { .description = "l2_ivv", @@ -51503,8 +52307,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2223 >> 8) & 0xff, - 2223 & 0xff, + (2288 >> 8) & 0xff, + 2288 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51516,8 +52320,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2232 >> 8) & 0xff, - 2232 & 0xff, + (2297 >> 8) & 0xff, + 2297 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51526,8 +52330,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (348 >> 8) & 0xff, - 348 & 0xff} + (363 >> 8) & 0xff, + 363 & 0xff} }, { .description = "l2_ivv", @@ -51535,8 +52339,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2237 >> 8) & 0xff, - 2237 & 0xff, + (2302 >> 8) & 0xff, + 2302 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51545,8 +52349,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (349 >> 8) & 0xff, - 349 & 0xff} + (364 >> 8) & 0xff, + 364 & 0xff} }, { .description = "l2_ivv", @@ -51554,8 +52358,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2241 >> 8) & 0xff, - 2241 & 0xff, + (2306 >> 8) & 0xff, + 2306 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51570,8 +52374,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2250 >> 8) & 0xff, - 2250 & 0xff, + (2315 >> 8) & 0xff, + 2315 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51583,8 +52387,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2259 >> 8) & 0xff, - 2259 & 0xff, + (2324 >> 8) & 0xff, + 2324 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51599,8 +52403,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2267 >> 8) & 0xff, - 2267 & 0xff, + (2332 >> 8) & 0xff, + 2332 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51612,8 +52416,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2274 >> 8) & 0xff, - 2274 & 0xff, + (2339 >> 8) & 0xff, + 2339 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51628,8 +52432,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2281 >> 8) & 0xff, - 2281 & 0xff, + (2346 >> 8) & 0xff, + 2346 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51641,8 +52445,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2288 >> 8) & 0xff, - 2288 & 0xff, + (2353 >> 8) & 0xff, + 2353 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51657,8 +52461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2295 >> 8) & 0xff, - 2295 & 0xff, + (2360 >> 8) & 0xff, + 2360 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51670,8 +52474,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2302 >> 8) & 0xff, - 2302 & 0xff, + (2367 >> 8) & 0xff, + 2367 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51686,8 +52490,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2309 >> 8) & 0xff, - 2309 & 0xff, + (2374 >> 8) & 0xff, + 2374 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51699,8 +52503,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2316 >> 8) & 0xff, - 2316 & 0xff, + (2381 >> 8) & 0xff, + 2381 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51715,15 +52519,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2323 >> 8) & 0xff, - 2323 & 0xff, + (2388 >> 8) & 0xff, + 2388 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (361 >> 8) & 0xff, - 361 & 0xff} + (376 >> 8) & 0xff, + 376 & 0xff} }, { .description = "l3.ttl", @@ -51731,15 +52535,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2327 >> 8) & 0xff, - 2327 & 0xff, + (2392 >> 8) & 0xff, + 2392 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (362 >> 8) & 0xff, - 362 & 0xff} + (377 >> 8) & 0xff, + 377 & 0xff} }, { .description = "l3.ttl", @@ -51747,8 +52551,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2330 >> 8) & 0xff, - 2330 & 0xff, + (2395 >> 8) & 0xff, + 2395 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51760,8 +52564,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2337 >> 8) & 0xff, - 2337 & 0xff, + (2402 >> 8) & 0xff, + 2402 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51770,8 +52574,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (364 >> 8) & 0xff, - 364 & 0xff} + (379 >> 8) & 0xff, + 379 & 0xff} }, { .description = "l3.ttl", @@ -51779,8 +52583,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2341 >> 8) & 0xff, - 2341 & 0xff, + (2406 >> 8) & 0xff, + 2406 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51789,8 +52593,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (365 >> 8) & 0xff, - 365 & 0xff} + (380 >> 8) & 0xff, + 380 & 0xff} }, { .description = "l3.ttl", @@ -51798,8 +52602,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2344 >> 8) & 0xff, - 2344 & 0xff, + (2409 >> 8) & 0xff, + 2409 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51814,15 +52618,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2351 >> 8) & 0xff, - 2351 & 0xff, + (2416 >> 8) & 0xff, + 2416 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (367 >> 8) & 0xff, - 367 & 0xff} + (382 >> 8) & 0xff, + 382 & 0xff} }, { .description = "l3.prot", @@ -51830,15 +52634,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2355 >> 8) & 0xff, - 2355 & 0xff, + (2420 >> 8) & 0xff, + 2420 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (368 >> 8) & 0xff, - 368 & 0xff} + (383 >> 8) & 0xff, + 383 & 0xff} }, { .description = "l3.prot", @@ -51846,8 +52650,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2358 >> 8) & 0xff, - 2358 & 0xff, + (2423 >> 8) & 0xff, + 2423 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51859,8 +52663,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2365 >> 8) & 0xff, - 2365 & 0xff, + (2430 >> 8) & 0xff, + 2430 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51869,8 +52673,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (370 >> 8) & 0xff, - 370 & 0xff} + (385 >> 8) & 0xff, + 385 & 0xff} }, { .description = "l3.prot", @@ -51878,8 +52682,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2369 >> 8) & 0xff, - 2369 & 0xff, + (2434 >> 8) & 0xff, + 2434 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51888,8 +52692,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (371 >> 8) & 0xff, - 371 & 0xff} + (386 >> 8) & 0xff, + 386 & 0xff} }, { .description = "l3.prot", @@ -51897,8 +52701,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2372 >> 8) & 0xff, - 2372 & 0xff, + (2437 >> 8) & 0xff, + 2437 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51913,15 +52717,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2379 >> 8) & 0xff, - 2379 & 0xff, + (2444 >> 8) & 0xff, + 2444 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (373 >> 8) & 0xff, - 373 & 0xff} + (388 >> 8) & 0xff, + 388 & 0xff} }, { .description = "l3.qos", @@ -51929,15 +52733,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2383 >> 8) & 0xff, - 2383 & 0xff, + (2448 >> 8) & 0xff, + 2448 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (374 >> 8) & 0xff, - 374 & 0xff} + (389 >> 8) & 0xff, + 389 & 0xff} }, { .description = "l3.qos", @@ -51945,8 +52749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2386 >> 8) & 0xff, - 2386 & 0xff, + (2451 >> 8) & 0xff, + 2451 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51958,8 +52762,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2393 >> 8) & 0xff, - 2393 & 0xff, + (2458 >> 8) & 0xff, + 2458 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51968,8 +52772,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (376 >> 8) & 0xff, - 376 & 0xff} + (391 >> 8) & 0xff, + 391 & 0xff} }, { .description = "l3.qos", @@ -51977,8 +52781,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2397 >> 8) & 0xff, - 2397 & 0xff, + (2462 >> 8) & 0xff, + 2462 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51987,8 +52791,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (377 >> 8) & 0xff, - 377 & 0xff} + (392 >> 8) & 0xff, + 392 & 0xff} }, { .description = "l3.qos", @@ -51996,8 +52800,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2400 >> 8) & 0xff, - 2400 & 0xff, + (2465 >> 8) & 0xff, + 2465 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52012,15 +52816,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2407 >> 8) & 0xff, - 2407 & 0xff, + (2472 >> 8) & 0xff, + 2472 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (379 >> 8) & 0xff, - 379 & 0xff} + (394 >> 8) & 0xff, + 394 & 0xff} }, { .description = "l4.src", @@ -52028,15 +52832,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2411 >> 8) & 0xff, - 2411 & 0xff, + (2476 >> 8) & 0xff, + 2476 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (380 >> 8) & 0xff, - 380 & 0xff} + (395 >> 8) & 0xff, + 395 & 0xff} }, { .description = "l4.src", @@ -52044,8 +52848,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2414 >> 8) & 0xff, - 2414 & 0xff, + (2479 >> 8) & 0xff, + 2479 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -52057,8 +52861,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2421 >> 8) & 0xff, - 2421 & 0xff, + (2486 >> 8) & 0xff, + 2486 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52067,8 +52871,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (382 >> 8) & 0xff, - 382 & 0xff} + (397 >> 8) & 0xff, + 397 & 0xff} }, { .description = "l4.src", @@ -52076,8 +52880,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2425 >> 8) & 0xff, - 2425 & 0xff, + (2490 >> 8) & 0xff, + 2490 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52086,8 +52890,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (383 >> 8) & 0xff, - 383 & 0xff} + (398 >> 8) & 0xff, + 398 & 0xff} }, { .description = "l4.src", @@ -52095,8 +52899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2428 >> 8) & 0xff, - 2428 & 0xff, + (2493 >> 8) & 0xff, + 2493 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52111,15 +52915,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2435 >> 8) & 0xff, - 2435 & 0xff, + (2500 >> 8) & 0xff, + 2500 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (385 >> 8) & 0xff, - 385 & 0xff} + (400 >> 8) & 0xff, + 400 & 0xff} }, { .description = "l4.dst", @@ -52127,15 +52931,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2439 >> 8) & 0xff, - 2439 & 0xff, + (2504 >> 8) & 0xff, + 2504 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (386 >> 8) & 0xff, - 386 & 0xff} + (401 >> 8) & 0xff, + 401 & 0xff} }, { .description = "l4.dst", @@ -52143,8 +52947,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2442 >> 8) & 0xff, - 2442 & 0xff, + (2507 >> 8) & 0xff, + 2507 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -52156,8 +52960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2449 >> 8) & 0xff, - 2449 & 0xff, + (2514 >> 8) & 0xff, + 2514 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52166,8 +52970,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (388 >> 8) & 0xff, - 388 & 0xff} + (403 >> 8) & 0xff, + 403 & 0xff} }, { .description = "l4.dst", @@ -52175,8 +52979,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2453 >> 8) & 0xff, - 2453 & 0xff, + (2518 >> 8) & 0xff, + 2518 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52185,8 +52989,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (389 >> 8) & 0xff, - 389 & 0xff} + (404 >> 8) & 0xff, + 404 & 0xff} }, { .description = "l4.dst", @@ -52194,8 +52998,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2456 >> 8) & 0xff, - 2456 & 0xff, + (2521 >> 8) & 0xff, + 2521 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52211,8 +53015,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2552 >> 8) & 0xff, - 2552 & 0xff, + (2620 >> 8) & 0xff, + 2620 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52220,8 +53024,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (391 >> 8) & 0xff, - 391 & 0xff} + (406 >> 8) & 0xff, + 406 & 0xff} }, { .description = "", @@ -52229,8 +53033,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2554 >> 8) & 0xff, - 2554 & 0xff, + (2622 >> 8) & 0xff, + 2622 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52238,8 +53042,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (392 >> 8) & 0xff, - 392 & 0xff} + (407 >> 8) & 0xff, + 407 & 0xff} }, { .description = "", @@ -52247,8 +53051,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2556 >> 8) & 0xff, - 2556 & 0xff, + (2624 >> 8) & 0xff, + 2624 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52256,8 +53060,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (393 >> 8) & 0xff, - 393 & 0xff} + (408 >> 8) & 0xff, + 408 & 0xff} }, { .description = "", @@ -52265,8 +53069,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2558 >> 8) & 0xff, - 2558 & 0xff, + (2626 >> 8) & 0xff, + 2626 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52280,8 +53084,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2584 >> 8) & 0xff, - 2584 & 0xff, + (2652 >> 8) & 0xff, + 2652 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -52295,8 +53099,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2597 >> 8) & 0xff, - 2597 & 0xff, + (2665 >> 8) & 0xff, + 2665 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52310,8 +53114,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2611 >> 8) & 0xff, - 2611 & 0xff, + (2679 >> 8) & 0xff, + 2679 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52325,8 +53129,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2612 >> 8) & 0xff, - 2612 & 0xff, + (2680 >> 8) & 0xff, + 2680 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52340,8 +53144,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2620 >> 8) & 0xff, - 2620 & 0xff, + (2688 >> 8) & 0xff, + 2688 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52355,8 +53159,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2628 >> 8) & 0xff, - 2628 & 0xff, + (2696 >> 8) & 0xff, + 2696 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52370,8 +53174,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2636 >> 8) & 0xff, - 2636 & 0xff, + (2704 >> 8) & 0xff, + 2704 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52385,8 +53189,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2644 >> 8) & 0xff, - 2644 & 0xff, + (2712 >> 8) & 0xff, + 2712 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52400,8 +53204,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2652 >> 8) & 0xff, - 2652 & 0xff, + (2720 >> 8) & 0xff, + 2720 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52415,8 +53219,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2661 >> 8) & 0xff, - 2661 & 0xff, + (2729 >> 8) & 0xff, + 2729 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52430,8 +53234,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2668 >> 8) & 0xff, - 2668 & 0xff, + (2736 >> 8) & 0xff, + 2736 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52445,8 +53249,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2675 >> 8) & 0xff, - 2675 & 0xff, + (2743 >> 8) & 0xff, + 2743 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52460,8 +53264,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2682 >> 8) & 0xff, - 2682 & 0xff, + (2750 >> 8) & 0xff, + 2750 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52475,8 +53279,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2690 >> 8) & 0xff, - 2690 & 0xff, + (2758 >> 8) & 0xff, + 2758 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52490,8 +53294,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2699 >> 8) & 0xff, - 2699 & 0xff, + (2767 >> 8) & 0xff, + 2767 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52499,8 +53303,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (409 >> 8) & 0xff, - 409 & 0xff} + (424 >> 8) & 0xff, + 424 & 0xff} }, { .description = "l2_ivv.en", @@ -52508,8 +53312,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2704 >> 8) & 0xff, - 2704 & 0xff, + (2772 >> 8) & 0xff, + 2772 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52517,8 +53321,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (410 >> 8) & 0xff, - 410 & 0xff} + (425 >> 8) & 0xff, + 425 & 0xff} }, { .description = "l2_ivv.en", @@ -52526,8 +53330,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2708 >> 8) & 0xff, - 2708 & 0xff, + (2776 >> 8) & 0xff, + 2776 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52541,8 +53345,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2717 >> 8) & 0xff, - 2717 & 0xff, + (2785 >> 8) & 0xff, + 2785 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52556,8 +53360,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2726 >> 8) & 0xff, - 2726 & 0xff, + (2794 >> 8) & 0xff, + 2794 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52565,8 +53369,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (413 >> 8) & 0xff, - 413 & 0xff} + (428 >> 8) & 0xff, + 428 & 0xff} }, { .description = "l3_sip.en", @@ -52574,8 +53378,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2731 >> 8) & 0xff, - 2731 & 0xff, + (2799 >> 8) & 0xff, + 2799 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52583,8 +53387,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (414 >> 8) & 0xff, - 414 & 0xff} + (429 >> 8) & 0xff, + 429 & 0xff} }, { .description = "l3_sip.en", @@ -52592,8 +53396,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2735 >> 8) & 0xff, - 2735 & 0xff, + (2803 >> 8) & 0xff, + 2803 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52607,8 +53411,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2744 >> 8) & 0xff, - 2744 & 0xff, + (2812 >> 8) & 0xff, + 2812 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52616,8 +53420,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (416 >> 8) & 0xff, - 416 & 0xff} + (431 >> 8) & 0xff, + 431 & 0xff} }, { .description = "l3_dip.en", @@ -52625,8 +53429,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2749 >> 8) & 0xff, - 2749 & 0xff, + (2817 >> 8) & 0xff, + 2817 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52634,8 +53438,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (417 >> 8) & 0xff, - 417 & 0xff} + (432 >> 8) & 0xff, + 432 & 0xff} }, { .description = "l3_dip.en", @@ -52643,8 +53447,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2753 >> 8) & 0xff, - 2753 & 0xff, + (2821 >> 8) & 0xff, + 2821 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52658,8 +53462,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2762 >> 8) & 0xff, - 2762 & 0xff, + (2830 >> 8) & 0xff, + 2830 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52667,8 +53471,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (419 >> 8) & 0xff, - 419 & 0xff} + (434 >> 8) & 0xff, + 434 & 0xff} }, { .description = "l3_ttl.en", @@ -52676,8 +53480,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2767 >> 8) & 0xff, - 2767 & 0xff, + (2835 >> 8) & 0xff, + 2835 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52685,8 +53489,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (420 >> 8) & 0xff, - 420 & 0xff} + (435 >> 8) & 0xff, + 435 & 0xff} }, { .description = "l3_ttl.en", @@ -52694,8 +53498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2771 >> 8) & 0xff, - 2771 & 0xff, + (2839 >> 8) & 0xff, + 2839 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52709,8 +53513,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2780 >> 8) & 0xff, - 2780 & 0xff, + (2848 >> 8) & 0xff, + 2848 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52718,8 +53522,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (422 >> 8) & 0xff, - 422 & 0xff} + (437 >> 8) & 0xff, + 437 & 0xff} }, { .description = "l3_prot.en", @@ -52727,8 +53531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2785 >> 8) & 0xff, - 2785 & 0xff, + (2853 >> 8) & 0xff, + 2853 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52736,8 +53540,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (423 >> 8) & 0xff, - 423 & 0xff} + (438 >> 8) & 0xff, + 438 & 0xff} }, { .description = "l3_prot.en", @@ -52745,8 +53549,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2789 >> 8) & 0xff, - 2789 & 0xff, + (2857 >> 8) & 0xff, + 2857 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52760,8 +53564,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2798 >> 8) & 0xff, - 2798 & 0xff, + (2866 >> 8) & 0xff, + 2866 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52769,8 +53573,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (425 >> 8) & 0xff, - 425 & 0xff} + (440 >> 8) & 0xff, + 440 & 0xff} }, { .description = "l3_qos.en", @@ -52778,8 +53582,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2803 >> 8) & 0xff, - 2803 & 0xff, + (2871 >> 8) & 0xff, + 2871 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52787,8 +53591,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (426 >> 8) & 0xff, - 426 & 0xff} + (441 >> 8) & 0xff, + 441 & 0xff} }, { .description = "l3_qos.en", @@ -52796,8 +53600,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2807 >> 8) & 0xff, - 2807 & 0xff, + (2875 >> 8) & 0xff, + 2875 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52811,8 +53615,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2813 >> 8) & 0xff, - 2813 & 0xff, + (2881 >> 8) & 0xff, + 2881 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52826,14 +53630,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2816 >> 8) & 0xff, - 2816 & 0xff, + (2884 >> 8) & 0xff, + 2884 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (429 >> 8) & 0xff, - 429 & 0xff}, + (444 >> 8) & 0xff, + 444 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -52842,8 +53646,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2817 >> 8) & 0xff, - 2817 & 0xff, + (2885 >> 8) & 0xff, + 2885 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52857,8 +53661,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2822 >> 8) & 0xff, - 2822 & 0xff, + (2890 >> 8) & 0xff, + 2890 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52872,14 +53676,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2825 >> 8) & 0xff, - 2825 & 0xff, + (2893 >> 8) & 0xff, + 2893 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (432 >> 8) & 0xff, - 432 & 0xff}, + (447 >> 8) & 0xff, + 447 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -52888,8 +53692,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2826 >> 8) & 0xff, - 2826 & 0xff, + (2894 >> 8) & 0xff, + 2894 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52903,8 +53707,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2854 >> 8) & 0xff, - 2854 & 0xff, + (2922 >> 8) & 0xff, + 2922 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -52916,8 +53720,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2861 >> 8) & 0xff, - 2861 & 0xff, + (2929 >> 8) & 0xff, + 2929 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -52929,8 +53733,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2879 >> 8) & 0xff, - 2879 & 0xff, + (2947 >> 8) & 0xff, + 2947 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -52942,8 +53746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2889 >> 8) & 0xff, - 2889 & 0xff, + (2957 >> 8) & 0xff, + 2957 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52955,8 +53759,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2916 >> 8) & 0xff, - 2916 & 0xff, + (2984 >> 8) & 0xff, + 2984 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -52968,8 +53772,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2921 >> 8) & 0xff, - 2921 & 0xff, + (2989 >> 8) & 0xff, + 2989 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52981,8 +53785,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2942 >> 8) & 0xff, - 2942 & 0xff, + (3010 >> 8) & 0xff, + 3010 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -52994,8 +53798,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2950 >> 8) & 0xff, - 2950 & 0xff, + (3018 >> 8) & 0xff, + 3018 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53007,8 +53811,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2958 >> 8) & 0xff, - 2958 & 0xff, + (3026 >> 8) & 0xff, + 3026 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53020,8 +53824,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2966 >> 8) & 0xff, - 2966 & 0xff, + (3034 >> 8) & 0xff, + 3034 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53033,8 +53837,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2974 >> 8) & 0xff, - 2974 & 0xff, + (3042 >> 8) & 0xff, + 3042 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53046,8 +53850,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2982 >> 8) & 0xff, - 2982 & 0xff, + (3050 >> 8) & 0xff, + 3050 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53059,8 +53863,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2990 >> 8) & 0xff, - 2990 & 0xff, + (3058 >> 8) & 0xff, + 3058 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53072,8 +53876,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2998 >> 8) & 0xff, - 2998 & 0xff, + (3066 >> 8) & 0xff, + 3066 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53085,8 +53889,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3007 >> 8) & 0xff, - 3007 & 0xff, + (3075 >> 8) & 0xff, + 3075 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53098,8 +53902,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3016 >> 8) & 0xff, - 3016 & 0xff, + (3084 >> 8) & 0xff, + 3084 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53111,8 +53915,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3023 >> 8) & 0xff, - 3023 & 0xff, + (3091 >> 8) & 0xff, + 3091 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53124,8 +53928,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3029 >> 8) & 0xff, - 3029 & 0xff, + (3097 >> 8) & 0xff, + 3097 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53137,8 +53941,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3036 >> 8) & 0xff, - 3036 & 0xff, + (3104 >> 8) & 0xff, + 3104 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53150,8 +53954,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3043 >> 8) & 0xff, - 3043 & 0xff, + (3111 >> 8) & 0xff, + 3111 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53163,8 +53967,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3050 >> 8) & 0xff, - 3050 & 0xff, + (3118 >> 8) & 0xff, + 3118 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53176,8 +53980,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3057 >> 8) & 0xff, - 3057 & 0xff, + (3125 >> 8) & 0xff, + 3125 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53189,8 +53993,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3065 >> 8) & 0xff, - 3065 & 0xff, + (3133 >> 8) & 0xff, + 3133 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53202,8 +54006,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3074 >> 8) & 0xff, - 3074 & 0xff, + (3142 >> 8) & 0xff, + 3142 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53215,15 +54019,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3083 >> 8) & 0xff, - 3083 & 0xff, + (3151 >> 8) & 0xff, + 3151 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (458 >> 8) & 0xff, - 458 & 0xff} + (473 >> 8) & 0xff, + 473 & 0xff} }, { .description = "l2_ivv", @@ -53231,15 +54035,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3088 >> 8) & 0xff, - 3088 & 0xff, + (3156 >> 8) & 0xff, + 3156 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (459 >> 8) & 0xff, - 459 & 0xff} + (474 >> 8) & 0xff, + 474 & 0xff} }, { .description = "l2_ivv", @@ -53247,8 +54051,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3092 >> 8) & 0xff, - 3092 & 0xff, + (3160 >> 8) & 0xff, + 3160 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53260,15 +54064,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3101 >> 8) & 0xff, - 3101 & 0xff, + (3169 >> 8) & 0xff, + 3169 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (461 >> 8) & 0xff, - 461 & 0xff} + (476 >> 8) & 0xff, + 476 & 0xff} }, { .description = "l2_ivv", @@ -53276,15 +54080,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3106 >> 8) & 0xff, - 3106 & 0xff, + (3174 >> 8) & 0xff, + 3174 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (462 >> 8) & 0xff, - 462 & 0xff} + (477 >> 8) & 0xff, + 477 & 0xff} }, { .description = "l2_ivv", @@ -53292,8 +54096,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3110 >> 8) & 0xff, - 3110 & 0xff, + (3178 >> 8) & 0xff, + 3178 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53305,8 +54109,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3119 >> 8) & 0xff, - 3119 & 0xff, + (3187 >> 8) & 0xff, + 3187 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53318,8 +54122,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3128 >> 8) & 0xff, - 3128 & 0xff, + (3196 >> 8) & 0xff, + 3196 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53331,8 +54135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3136 >> 8) & 0xff, - 3136 & 0xff, + (3204 >> 8) & 0xff, + 3204 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53344,8 +54148,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3143 >> 8) & 0xff, - 3143 & 0xff, + (3211 >> 8) & 0xff, + 3211 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53357,8 +54161,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3150 >> 8) & 0xff, - 3150 & 0xff, + (3218 >> 8) & 0xff, + 3218 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53370,8 +54174,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3157 >> 8) & 0xff, - 3157 & 0xff, + (3225 >> 8) & 0xff, + 3225 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53383,8 +54187,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3164 >> 8) & 0xff, - 3164 & 0xff, + (3232 >> 8) & 0xff, + 3232 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53396,8 +54200,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3171 >> 8) & 0xff, - 3171 & 0xff, + (3239 >> 8) & 0xff, + 3239 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53409,8 +54213,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3178 >> 8) & 0xff, - 3178 & 0xff, + (3246 >> 8) & 0xff, + 3246 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53422,8 +54226,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3185 >> 8) & 0xff, - 3185 & 0xff, + (3253 >> 8) & 0xff, + 3253 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53435,15 +54239,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3192 >> 8) & 0xff, - 3192 & 0xff, + (3260 >> 8) & 0xff, + 3260 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (474 >> 8) & 0xff, - 474 & 0xff} + (489 >> 8) & 0xff, + 489 & 0xff} }, { .description = "l3.ttl", @@ -53451,15 +54255,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3196 >> 8) & 0xff, - 3196 & 0xff, + (3264 >> 8) & 0xff, + 3264 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (475 >> 8) & 0xff, - 475 & 0xff} + (490 >> 8) & 0xff, + 490 & 0xff} }, { .description = "l3.ttl", @@ -53467,8 +54271,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3199 >> 8) & 0xff, - 3199 & 0xff, + (3267 >> 8) & 0xff, + 3267 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53480,15 +54284,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3206 >> 8) & 0xff, - 3206 & 0xff, + (3274 >> 8) & 0xff, + 3274 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (477 >> 8) & 0xff, - 477 & 0xff} + (492 >> 8) & 0xff, + 492 & 0xff} }, { .description = "l3.ttl", @@ -53496,15 +54300,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3210 >> 8) & 0xff, - 3210 & 0xff, + (3278 >> 8) & 0xff, + 3278 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (478 >> 8) & 0xff, - 478 & 0xff} + (493 >> 8) & 0xff, + 493 & 0xff} }, { .description = "l3.ttl", @@ -53512,8 +54316,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3213 >> 8) & 0xff, - 3213 & 0xff, + (3281 >> 8) & 0xff, + 3281 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53525,15 +54329,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3219 >> 8) & 0xff, - 3219 & 0xff, + (3287 >> 8) & 0xff, + 3287 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (480 >> 8) & 0xff, - 480 & 0xff} + (495 >> 8) & 0xff, + 495 & 0xff} }, { .description = "l3.prot", @@ -53541,15 +54345,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3222 >> 8) & 0xff, - 3222 & 0xff, + (3290 >> 8) & 0xff, + 3290 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (481 >> 8) & 0xff, - 481 & 0xff} + (496 >> 8) & 0xff, + 496 & 0xff} }, { .description = "l3.prot", @@ -53557,15 +54361,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3224 >> 8) & 0xff, - 3224 & 0xff, + (3292 >> 8) & 0xff, + 3292 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (482 >> 8) & 0xff, - 482 & 0xff} + (497 >> 8) & 0xff, + 497 & 0xff} }, { .description = "l3.prot", @@ -53573,15 +54377,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3226 >> 8) & 0xff, - 3226 & 0xff, + (3294 >> 8) & 0xff, + 3294 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (483 >> 8) & 0xff, - 483 & 0xff} + (498 >> 8) & 0xff, + 498 & 0xff} }, { .description = "l3.prot", @@ -53589,15 +54393,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3230 >> 8) & 0xff, - 3230 & 0xff, + (3298 >> 8) & 0xff, + 3298 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (484 >> 8) & 0xff, - 484 & 0xff} + (499 >> 8) & 0xff, + 499 & 0xff} }, { .description = "l3.prot", @@ -53605,15 +54409,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3234 >> 8) & 0xff, - 3234 & 0xff, + (3302 >> 8) & 0xff, + 3302 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (485 >> 8) & 0xff, - 485 & 0xff} + (500 >> 8) & 0xff, + 500 & 0xff} }, { .description = "l3.prot", @@ -53621,8 +54425,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3237 >> 8) & 0xff, - 3237 & 0xff, + (3305 >> 8) & 0xff, + 3305 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53634,15 +54438,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3243 >> 8) & 0xff, - 3243 & 0xff, + (3311 >> 8) & 0xff, + 3311 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (487 >> 8) & 0xff, - 487 & 0xff} + (502 >> 8) & 0xff, + 502 & 0xff} }, { .description = "l3.prot", @@ -53650,15 +54454,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3246 >> 8) & 0xff, - 3246 & 0xff, + (3314 >> 8) & 0xff, + 3314 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (488 >> 8) & 0xff, - 488 & 0xff} + (503 >> 8) & 0xff, + 503 & 0xff} }, { .description = "l3.prot", @@ -53666,15 +54470,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3248 >> 8) & 0xff, - 3248 & 0xff, + (3316 >> 8) & 0xff, + 3316 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (489 >> 8) & 0xff, - 489 & 0xff} + (504 >> 8) & 0xff, + 504 & 0xff} }, { .description = "l3.prot", @@ -53682,15 +54486,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3250 >> 8) & 0xff, - 3250 & 0xff, + (3318 >> 8) & 0xff, + 3318 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (490 >> 8) & 0xff, - 490 & 0xff} + (505 >> 8) & 0xff, + 505 & 0xff} }, { .description = "l3.prot", @@ -53698,15 +54502,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3254 >> 8) & 0xff, - 3254 & 0xff, + (3322 >> 8) & 0xff, + 3322 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (491 >> 8) & 0xff, - 491 & 0xff} + (506 >> 8) & 0xff, + 506 & 0xff} }, { .description = "l3.prot", @@ -53714,15 +54518,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3258 >> 8) & 0xff, - 3258 & 0xff, + (3326 >> 8) & 0xff, + 3326 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (492 >> 8) & 0xff, - 492 & 0xff} + (507 >> 8) & 0xff, + 507 & 0xff} }, { .description = "l3.prot", @@ -53730,8 +54534,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3261 >> 8) & 0xff, - 3261 & 0xff, + (3329 >> 8) & 0xff, + 3329 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53743,15 +54547,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3268 >> 8) & 0xff, - 3268 & 0xff, + (3336 >> 8) & 0xff, + 3336 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (494 >> 8) & 0xff, - 494 & 0xff} + (509 >> 8) & 0xff, + 509 & 0xff} }, { .description = "l3.qos", @@ -53759,15 +54563,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3272 >> 8) & 0xff, - 3272 & 0xff, + (3340 >> 8) & 0xff, + 3340 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (495 >> 8) & 0xff, - 495 & 0xff} + (510 >> 8) & 0xff, + 510 & 0xff} }, { .description = "l3.qos", @@ -53775,8 +54579,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3275 >> 8) & 0xff, - 3275 & 0xff, + (3343 >> 8) & 0xff, + 3343 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53788,15 +54592,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3282 >> 8) & 0xff, - 3282 & 0xff, + (3350 >> 8) & 0xff, + 3350 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (497 >> 8) & 0xff, - 497 & 0xff} + (512 >> 8) & 0xff, + 512 & 0xff} }, { .description = "l3.qos", @@ -53804,15 +54608,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3286 >> 8) & 0xff, - 3286 & 0xff, + (3354 >> 8) & 0xff, + 3354 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (498 >> 8) & 0xff, - 498 & 0xff} + (513 >> 8) & 0xff, + 513 & 0xff} }, { .description = "l3.qos", @@ -53820,8 +54624,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3289 >> 8) & 0xff, - 3289 & 0xff, + (3357 >> 8) & 0xff, + 3357 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53833,15 +54637,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3296 >> 8) & 0xff, - 3296 & 0xff, + (3364 >> 8) & 0xff, + 3364 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (500 >> 8) & 0xff, - 500 & 0xff} + (515 >> 8) & 0xff, + 515 & 0xff} }, { .description = "l4.src", @@ -53849,15 +54653,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3300 >> 8) & 0xff, - 3300 & 0xff, + (3368 >> 8) & 0xff, + 3368 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (501 >> 8) & 0xff, - 501 & 0xff} + (516 >> 8) & 0xff, + 516 & 0xff} }, { .description = "l4.src", @@ -53865,15 +54669,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3303 >> 8) & 0xff, - 3303 & 0xff, + (3371 >> 8) & 0xff, + 3371 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (502 >> 8) & 0xff, - 502 & 0xff} + (517 >> 8) & 0xff, + 517 & 0xff} }, { .description = "l4.src", @@ -53881,8 +54685,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3306 >> 8) & 0xff, - 3306 & 0xff, + (3374 >> 8) & 0xff, + 3374 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -53894,15 +54698,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3312 >> 8) & 0xff, - 3312 & 0xff, + (3380 >> 8) & 0xff, + 3380 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (504 >> 8) & 0xff, - 504 & 0xff} + (519 >> 8) & 0xff, + 519 & 0xff} }, { .description = "l4.src", @@ -53910,15 +54714,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3316 >> 8) & 0xff, - 3316 & 0xff, + (3384 >> 8) & 0xff, + 3384 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (505 >> 8) & 0xff, - 505 & 0xff} + (520 >> 8) & 0xff, + 520 & 0xff} }, { .description = "l4.src", @@ -53926,15 +54730,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3319 >> 8) & 0xff, - 3319 & 0xff, + (3387 >> 8) & 0xff, + 3387 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (506 >> 8) & 0xff, - 506 & 0xff} + (521 >> 8) & 0xff, + 521 & 0xff} }, { .description = "l4.src", @@ -53942,8 +54746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3322 >> 8) & 0xff, - 3322 & 0xff, + (3390 >> 8) & 0xff, + 3390 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -53955,15 +54759,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3328 >> 8) & 0xff, - 3328 & 0xff, + (3396 >> 8) & 0xff, + 3396 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (508 >> 8) & 0xff, - 508 & 0xff} + (523 >> 8) & 0xff, + 523 & 0xff} }, { .description = "l4.dst", @@ -53971,15 +54775,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3332 >> 8) & 0xff, - 3332 & 0xff, + (3400 >> 8) & 0xff, + 3400 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (509 >> 8) & 0xff, - 509 & 0xff} + (524 >> 8) & 0xff, + 524 & 0xff} }, { .description = "l4.dst", @@ -53987,15 +54791,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3335 >> 8) & 0xff, - 3335 & 0xff, + (3403 >> 8) & 0xff, + 3403 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (510 >> 8) & 0xff, - 510 & 0xff} + (525 >> 8) & 0xff, + 525 & 0xff} }, { .description = "l4.dst", @@ -54003,8 +54807,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3338 >> 8) & 0xff, - 3338 & 0xff, + (3406 >> 8) & 0xff, + 3406 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -54016,15 +54820,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3344 >> 8) & 0xff, - 3344 & 0xff, + (3412 >> 8) & 0xff, + 3412 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (512 >> 8) & 0xff, - 512 & 0xff} + (527 >> 8) & 0xff, + 527 & 0xff} }, { .description = "l4.dst", @@ -54032,15 +54836,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3348 >> 8) & 0xff, - 3348 & 0xff, + (3416 >> 8) & 0xff, + 3416 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (513 >> 8) & 0xff, - 513 & 0xff} + (528 >> 8) & 0xff, + 528 & 0xff} }, { .description = "l4.dst", @@ -54048,15 +54852,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3351 >> 8) & 0xff, - 3351 & 0xff, + (3419 >> 8) & 0xff, + 3419 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (514 >> 8) & 0xff, - 514 & 0xff} + (529 >> 8) & 0xff, + 529 & 0xff} }, { .description = "l4.dst", @@ -54064,8 +54868,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3354 >> 8) & 0xff, - 3354 & 0xff, + (3422 >> 8) & 0xff, + 3422 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -54078,15 +54882,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3359 >> 8) & 0xff, - 3359 & 0xff, + (3427 >> 8) & 0xff, + 3427 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (516 >> 8) & 0xff, - 516 & 0xff} + (531 >> 8) & 0xff, + 531 & 0xff} }, { .description = "", @@ -54094,15 +54898,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3361 >> 8) & 0xff, - 3361 & 0xff, + (3429 >> 8) & 0xff, + 3429 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (517 >> 8) & 0xff, - 517 & 0xff} + (532 >> 8) & 0xff, + 532 & 0xff} }, { .description = "", @@ -54110,15 +54914,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3363 >> 8) & 0xff, - 3363 & 0xff, + (3431 >> 8) & 0xff, + 3431 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (518 >> 8) & 0xff, - 518 & 0xff} + (533 >> 8) & 0xff, + 533 & 0xff} }, { .description = "", @@ -54126,15 +54930,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3365 >> 8) & 0xff, - 3365 & 0xff, + (3433 >> 8) & 0xff, + 3433 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (519 >> 8) & 0xff, - 519 & 0xff} + (534 >> 8) & 0xff, + 534 & 0xff} }, { .description = "", @@ -54142,8 +54946,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3367 >> 8) & 0xff, - 3367 & 0xff, + (3435 >> 8) & 0xff, + 3435 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54151,8 +54955,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (520 >> 8) & 0xff, - 520 & 0xff} + (535 >> 8) & 0xff, + 535 & 0xff} }, { .description = "", @@ -54160,8 +54964,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3369 >> 8) & 0xff, - 3369 & 0xff, + (3437 >> 8) & 0xff, + 3437 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54169,8 +54973,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (521 >> 8) & 0xff, - 521 & 0xff} + (536 >> 8) & 0xff, + 536 & 0xff} }, { .description = "", @@ -54178,8 +54982,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3371 >> 8) & 0xff, - 3371 & 0xff, + (3439 >> 8) & 0xff, + 3439 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54187,8 +54991,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (522 >> 8) & 0xff, - 522 & 0xff} + (537 >> 8) & 0xff, + 537 & 0xff} }, { .description = "", @@ -54196,8 +55000,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3373 >> 8) & 0xff, - 3373 & 0xff, + (3441 >> 8) & 0xff, + 3441 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54213,15 +55017,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3377 >> 8) & 0xff, - 3377 & 0xff, + (3445 >> 8) & 0xff, + 3445 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (524 >> 8) & 0xff, - 524 & 0xff} + (539 >> 8) & 0xff, + 539 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -54229,15 +55033,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3379 >> 8) & 0xff, - 3379 & 0xff, + (3447 >> 8) & 0xff, + 3447 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (525 >> 8) & 0xff, - 525 & 0xff} + (540 >> 8) & 0xff, + 540 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -54245,8 +55049,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3381 >> 8) & 0xff, - 3381 & 0xff, + (3449 >> 8) & 0xff, + 3449 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54258,8 +55062,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3385 >> 8) & 0xff, - 3385 & 0xff, + (3453 >> 8) & 0xff, + 3453 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54267,8 +55071,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (527 >> 8) & 0xff, - 527 & 0xff} + (542 >> 8) & 0xff, + 542 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -54276,8 +55080,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3387 >> 8) & 0xff, - 3387 & 0xff, + (3455 >> 8) & 0xff, + 3455 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54285,8 +55089,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (528 >> 8) & 0xff, - 528 & 0xff} + (543 >> 8) & 0xff, + 543 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -54294,8 +55098,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3389 >> 8) & 0xff, - 3389 & 0xff, + (3457 >> 8) & 0xff, + 3457 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54309,15 +55113,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3393 >> 8) & 0xff, - 3393 & 0xff, + (3461 >> 8) & 0xff, + 3461 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (530 >> 8) & 0xff, - 530 & 0xff} + (545 >> 8) & 0xff, + 545 & 0xff} }, { .description = "l4_hdr_type", @@ -54325,15 +55129,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3395 >> 8) & 0xff, - 3395 & 0xff, + (3463 >> 8) & 0xff, + 3463 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (531 >> 8) & 0xff, - 531 & 0xff} + (546 >> 8) & 0xff, + 546 & 0xff} }, { .description = "l4_hdr_type", @@ -54341,8 +55145,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3397 >> 8) & 0xff, - 3397 & 0xff, + (3465 >> 8) & 0xff, + 3465 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54354,15 +55158,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3401 >> 8) & 0xff, - 3401 & 0xff, + (3469 >> 8) & 0xff, + 3469 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (533 >> 8) & 0xff, - 533 & 0xff} + (548 >> 8) & 0xff, + 548 & 0xff} }, { .description = "l4_hdr_type", @@ -54370,8 +55174,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3403 >> 8) & 0xff, - 3403 & 0xff, + (3471 >> 8) & 0xff, + 3471 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54379,8 +55183,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_TYPE_UDP}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (534 >> 8) & 0xff, - 534 & 0xff} + (549 >> 8) & 0xff, + 549 & 0xff} }, { .description = "l4_hdr_type", @@ -54388,8 +55192,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3405 >> 8) & 0xff, - 3405 & 0xff, + (3473 >> 8) & 0xff, + 3473 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54403,15 +55207,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3409 >> 8) & 0xff, - 3409 & 0xff, + (3477 >> 8) & 0xff, + 3477 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (536 >> 8) & 0xff, - 536 & 0xff} + (551 >> 8) & 0xff, + 551 & 0xff} }, { .description = "l4_hdr_error", @@ -54419,15 +55223,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3411 >> 8) & 0xff, - 3411 & 0xff, + (3479 >> 8) & 0xff, + 3479 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (537 >> 8) & 0xff, - 537 & 0xff} + (552 >> 8) & 0xff, + 552 & 0xff} }, { .description = "l4_hdr_error", @@ -54435,8 +55239,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3413 >> 8) & 0xff, - 3413 & 0xff, + (3481 >> 8) & 0xff, + 3481 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54448,15 +55252,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3417 >> 8) & 0xff, - 3417 & 0xff, + (3485 >> 8) & 0xff, + 3485 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (539 >> 8) & 0xff, - 539 & 0xff} + (554 >> 8) & 0xff, + 554 & 0xff} }, { .description = "l4_hdr_error", @@ -54464,15 +55268,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3419 >> 8) & 0xff, - 3419 & 0xff, + (3487 >> 8) & 0xff, + 3487 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (540 >> 8) & 0xff, - 540 & 0xff} + (555 >> 8) & 0xff, + 555 & 0xff} }, { .description = "l4_hdr_error", @@ -54480,8 +55284,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3421 >> 8) & 0xff, - 3421 & 0xff, + (3489 >> 8) & 0xff, + 3489 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -54493,15 +55297,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3425 >> 8) & 0xff, - 3425 & 0xff, + (3493 >> 8) & 0xff, + 3493 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (542 >> 8) & 0xff, - 542 & 0xff} + (557 >> 8) & 0xff, + 557 & 0xff} }, { .description = "l4_hdr_valid", @@ -54509,15 +55313,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3427 >> 8) & 0xff, - 3427 & 0xff, + (3495 >> 8) & 0xff, + 3495 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (543 >> 8) & 0xff, - 543 & 0xff} + (558 >> 8) & 0xff, + 558 & 0xff} }, { .description = "l4_hdr_valid", @@ -54525,8 +55329,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3429 >> 8) & 0xff, - 3429 & 0xff, + (3497 >> 8) & 0xff, + 3497 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54538,8 +55342,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3433 >> 8) & 0xff, - 3433 & 0xff, + (3501 >> 8) & 0xff, + 3501 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54547,8 +55351,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (545 >> 8) & 0xff, - 545 & 0xff} + (560 >> 8) & 0xff, + 560 & 0xff} }, { .description = "l4_hdr_valid", @@ -54556,8 +55360,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3435 >> 8) & 0xff, - 3435 & 0xff, + (3503 >> 8) & 0xff, + 3503 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54565,8 +55369,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (546 >> 8) & 0xff, - 546 & 0xff} + (561 >> 8) & 0xff, + 561 & 0xff} }, { .description = "l4_hdr_valid", @@ -54574,8 +55378,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3437 >> 8) & 0xff, - 3437 & 0xff, + (3505 >> 8) & 0xff, + 3505 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54589,8 +55393,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3441 >> 8) & 0xff, - 3441 & 0xff, + (3509 >> 8) & 0xff, + 3509 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54598,8 +55402,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (548 >> 8) & 0xff, - 548 & 0xff} + (563 >> 8) & 0xff, + 563 & 0xff} }, { .description = "l3_hdr_isIP", @@ -54607,8 +55411,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3443 >> 8) & 0xff, - 3443 & 0xff, + (3511 >> 8) & 0xff, + 3511 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54616,8 +55420,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (549 >> 8) & 0xff, - 549 & 0xff} + (564 >> 8) & 0xff, + 564 & 0xff} }, { .description = "l3_hdr_isIP", @@ -54625,8 +55429,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3445 >> 8) & 0xff, - 3445 & 0xff, + (3513 >> 8) & 0xff, + 3513 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54640,15 +55444,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3449 >> 8) & 0xff, - 3449 & 0xff, + (3517 >> 8) & 0xff, + 3517 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (551 >> 8) & 0xff, - 551 & 0xff} + (566 >> 8) & 0xff, + 566 & 0xff} }, { .description = "l3_hdr_type", @@ -54656,15 +55460,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3451 >> 8) & 0xff, - 3451 & 0xff, + (3519 >> 8) & 0xff, + 3519 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (552 >> 8) & 0xff, - 552 & 0xff} + (567 >> 8) & 0xff, + 567 & 0xff} }, { .description = "l3_hdr_type", @@ -54672,8 +55476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3453 >> 8) & 0xff, - 3453 & 0xff, + (3521 >> 8) & 0xff, + 3521 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54685,8 +55489,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3457 >> 8) & 0xff, - 3457 & 0xff, + (3525 >> 8) & 0xff, + 3525 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54694,8 +55498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (554 >> 8) & 0xff, - 554 & 0xff} + (569 >> 8) & 0xff, + 569 & 0xff} }, { .description = "l3_hdr_type", @@ -54703,15 +55507,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3459 >> 8) & 0xff, - 3459 & 0xff, + (3527 >> 8) & 0xff, + 3527 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (555 >> 8) & 0xff, - 555 & 0xff} + (570 >> 8) & 0xff, + 570 & 0xff} }, { .description = "l3_hdr_type", @@ -54719,8 +55523,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3461 >> 8) & 0xff, - 3461 & 0xff, + (3529 >> 8) & 0xff, + 3529 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -54732,15 +55536,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3465 >> 8) & 0xff, - 3465 & 0xff, + (3533 >> 8) & 0xff, + 3533 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (557 >> 8) & 0xff, - 557 & 0xff} + (572 >> 8) & 0xff, + 572 & 0xff} }, { .description = "l3_hdr_error", @@ -54748,15 +55552,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3467 >> 8) & 0xff, - 3467 & 0xff, + (3535 >> 8) & 0xff, + 3535 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (558 >> 8) & 0xff, - 558 & 0xff} + (573 >> 8) & 0xff, + 573 & 0xff} }, { .description = "l3_hdr_error", @@ -54764,8 +55568,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3469 >> 8) & 0xff, - 3469 & 0xff, + (3537 >> 8) & 0xff, + 3537 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54777,15 +55581,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3473 >> 8) & 0xff, - 3473 & 0xff, + (3541 >> 8) & 0xff, + 3541 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (560 >> 8) & 0xff, - 560 & 0xff} + (575 >> 8) & 0xff, + 575 & 0xff} }, { .description = "l3_hdr_error", @@ -54793,15 +55597,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3475 >> 8) & 0xff, - 3475 & 0xff, + (3543 >> 8) & 0xff, + 3543 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (561 >> 8) & 0xff, - 561 & 0xff} + (576 >> 8) & 0xff, + 576 & 0xff} }, { .description = "l3_hdr_error", @@ -54809,8 +55613,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3477 >> 8) & 0xff, - 3477 & 0xff, + (3545 >> 8) & 0xff, + 3545 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -54822,15 +55626,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3481 >> 8) & 0xff, - 3481 & 0xff, + (3549 >> 8) & 0xff, + 3549 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (563 >> 8) & 0xff, - 563 & 0xff} + (578 >> 8) & 0xff, + 578 & 0xff} }, { .description = "l3_hdr_valid", @@ -54838,15 +55642,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3483 >> 8) & 0xff, - 3483 & 0xff, + (3551 >> 8) & 0xff, + 3551 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (564 >> 8) & 0xff, - 564 & 0xff} + (579 >> 8) & 0xff, + 579 & 0xff} }, { .description = "l3_hdr_valid", @@ -54854,8 +55658,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3485 >> 8) & 0xff, - 3485 & 0xff, + (3553 >> 8) & 0xff, + 3553 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54867,8 +55671,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3489 >> 8) & 0xff, - 3489 & 0xff, + (3557 >> 8) & 0xff, + 3557 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54876,8 +55680,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (566 >> 8) & 0xff, - 566 & 0xff} + (581 >> 8) & 0xff, + 581 & 0xff} }, { .description = "l3_hdr_valid", @@ -54885,8 +55689,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3491 >> 8) & 0xff, - 3491 & 0xff, + (3559 >> 8) & 0xff, + 3559 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54894,8 +55698,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (567 >> 8) & 0xff, - 567 & 0xff} + (582 >> 8) & 0xff, + 582 & 0xff} }, { .description = "l3_hdr_valid", @@ -54903,8 +55707,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3493 >> 8) & 0xff, - 3493 & 0xff, + (3561 >> 8) & 0xff, + 3561 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54918,8 +55722,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3498 >> 8) & 0xff, - 3498 & 0xff, + (3566 >> 8) & 0xff, + 3566 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54933,8 +55737,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3504 >> 8) & 0xff, - 3504 & 0xff, + (3572 >> 8) & 0xff, + 3572 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54948,8 +55752,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3511 >> 8) & 0xff, - 3511 & 0xff, + (3579 >> 8) & 0xff, + 3579 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54961,8 +55765,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3515 >> 8) & 0xff, - 3515 & 0xff, + (3583 >> 8) & 0xff, + 3583 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -54974,8 +55778,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3519 >> 8) & 0xff, - 3519 & 0xff, + (3587 >> 8) & 0xff, + 3587 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54989,15 +55793,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3523 >> 8) & 0xff, - 3523 & 0xff, + (3591 >> 8) & 0xff, + 3591 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (574 >> 8) & 0xff, - 574 & 0xff} + (589 >> 8) & 0xff, + 589 & 0xff} }, { .description = "tun_hdr_type", @@ -55005,15 +55809,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3525 >> 8) & 0xff, - 3525 & 0xff, + (3593 >> 8) & 0xff, + 3593 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (575 >> 8) & 0xff, - 575 & 0xff} + (590 >> 8) & 0xff, + 590 & 0xff} }, { .description = "tun_hdr_type", @@ -55021,15 +55825,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3527 >> 8) & 0xff, - 3527 & 0xff, + (3595 >> 8) & 0xff, + 3595 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (576 >> 8) & 0xff, - 576 & 0xff} + (591 >> 8) & 0xff, + 591 & 0xff} }, { .description = "tun_hdr_type", @@ -55037,15 +55841,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3529 >> 8) & 0xff, - 3529 & 0xff, + (3597 >> 8) & 0xff, + 3597 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (577 >> 8) & 0xff, - 577 & 0xff} + (592 >> 8) & 0xff, + 592 & 0xff} }, { .description = "tun_hdr_type", @@ -55053,8 +55857,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3531 >> 8) & 0xff, - 3531 & 0xff, + (3599 >> 8) & 0xff, + 3599 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55066,15 +55870,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3535 >> 8) & 0xff, - 3535 & 0xff, + (3603 >> 8) & 0xff, + 3603 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (579 >> 8) & 0xff, - 579 & 0xff} + (594 >> 8) & 0xff, + 594 & 0xff} }, { .description = "tun_hdr_type", @@ -55082,8 +55886,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3537 >> 8) & 0xff, - 3537 & 0xff, + (3605 >> 8) & 0xff, + 3605 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55091,8 +55895,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_GENEVE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (580 >> 8) & 0xff, - 580 & 0xff} + (595 >> 8) & 0xff, + 595 & 0xff} }, { .description = "tun_hdr_type", @@ -55100,8 +55904,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3539 >> 8) & 0xff, - 3539 & 0xff, + (3607 >> 8) & 0xff, + 3607 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55109,8 +55913,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_GRE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (581 >> 8) & 0xff, - 581 & 0xff} + (596 >> 8) & 0xff, + 596 & 0xff} }, { .description = "tun_hdr_type", @@ -55118,8 +55922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3541 >> 8) & 0xff, - 3541 & 0xff, + (3609 >> 8) & 0xff, + 3609 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55127,8 +55931,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_UPAR1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (582 >> 8) & 0xff, - 582 & 0xff} + (597 >> 8) & 0xff, + 597 & 0xff} }, { .description = "tun_hdr_type", @@ -55136,8 +55940,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3543 >> 8) & 0xff, - 3543 & 0xff, + (3611 >> 8) & 0xff, + 3611 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55151,8 +55955,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3550 >> 8) & 0xff, - 3550 & 0xff, + (3618 >> 8) & 0xff, + 3618 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55164,8 +55968,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3554 >> 8) & 0xff, - 3554 & 0xff, + (3622 >> 8) & 0xff, + 3622 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55179,8 +55983,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3558 >> 8) & 0xff, - 3558 & 0xff, + (3626 >> 8) & 0xff, + 3626 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55192,8 +55996,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3562 >> 8) & 0xff, - 3562 & 0xff, + (3630 >> 8) & 0xff, + 3630 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55207,8 +56011,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3566 >> 8) & 0xff, - 3566 & 0xff, + (3634 >> 8) & 0xff, + 3634 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55220,8 +56024,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3570 >> 8) & 0xff, - 3570 & 0xff, + (3638 >> 8) & 0xff, + 3638 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -55233,15 +56037,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3574 >> 8) & 0xff, - 3574 & 0xff, + (3642 >> 8) & 0xff, + 3642 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (590 >> 8) & 0xff, - 590 & 0xff} + (605 >> 8) & 0xff, + 605 & 0xff} }, { .description = "tl4_hdr_valid", @@ -55249,8 +56053,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3576 >> 8) & 0xff, - 3576 & 0xff, + (3644 >> 8) & 0xff, + 3644 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -55262,8 +56066,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3579 >> 8) & 0xff, - 3579 & 0xff, + (3647 >> 8) & 0xff, + 3647 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55271,8 +56075,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (592 >> 8) & 0xff, - 592 & 0xff} + (607 >> 8) & 0xff, + 607 & 0xff} }, { .description = "tl4_hdr_valid", @@ -55280,8 +56084,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3581 >> 8) & 0xff, - 3581 & 0xff, + (3649 >> 8) & 0xff, + 3649 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -55293,8 +56097,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3584 >> 8) & 0xff, - 3584 & 0xff, + (3652 >> 8) & 0xff, + 3652 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55308,8 +56112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3588 >> 8) & 0xff, - 3588 & 0xff, + (3656 >> 8) & 0xff, + 3656 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55321,8 +56125,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3592 >> 8) & 0xff, - 3592 & 0xff, + (3660 >> 8) & 0xff, + 3660 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -55334,8 +56138,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3596 >> 8) & 0xff, - 3596 & 0xff, + (3664 >> 8) & 0xff, + 3664 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55347,8 +56151,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3600 >> 8) & 0xff, - 3600 & 0xff, + (3668 >> 8) & 0xff, + 3668 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -55360,8 +56164,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3604 >> 8) & 0xff, - 3604 & 0xff, + (3672 >> 8) & 0xff, + 3672 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55375,10 +56179,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3618 >> 8) & 0xff, - 3618 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (3686 >> 8) & 0xff, + 3686 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, @@ -55391,8 +56195,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3629 >> 8) & 0xff, - 3629 & 0xff, + (3697 >> 8) & 0xff, + 3697 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (616 >> 8) & 0xff, + 616 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3698 >> 8) & 0xff, + 3698 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -55407,8 +56227,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3644 >> 8) & 0xff, - 3644 & 0xff, + (3713 >> 8) & 0xff, + 3713 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -55423,8 +56243,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3651 >> 8) & 0xff, - 3651 & 0xff, + (3720 >> 8) & 0xff, + 3720 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -55439,8 +56259,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3669 >> 8) & 0xff, - 3669 & 0xff, + (3738 >> 8) & 0xff, + 3738 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55455,8 +56275,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3679 >> 8) & 0xff, - 3679 & 0xff, + (3748 >> 8) & 0xff, + 3748 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55471,8 +56291,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3706 >> 8) & 0xff, - 3706 & 0xff, + (3775 >> 8) & 0xff, + 3775 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55487,8 +56307,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3711 >> 8) & 0xff, - 3711 & 0xff, + (3780 >> 8) & 0xff, + 3780 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55503,8 +56323,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3732 >> 8) & 0xff, - 3732 & 0xff, + (3801 >> 8) & 0xff, + 3801 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55519,8 +56339,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3740 >> 8) & 0xff, - 3740 & 0xff, + (3809 >> 8) & 0xff, + 3809 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55535,8 +56355,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3748 >> 8) & 0xff, - 3748 & 0xff, + (3817 >> 8) & 0xff, + 3817 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55551,8 +56371,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3756 >> 8) & 0xff, - 3756 & 0xff, + (3825 >> 8) & 0xff, + 3825 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55567,8 +56387,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3764 >> 8) & 0xff, - 3764 & 0xff, + (3833 >> 8) & 0xff, + 3833 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55583,8 +56403,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3772 >> 8) & 0xff, - 3772 & 0xff, + (3841 >> 8) & 0xff, + 3841 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55599,8 +56419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3780 >> 8) & 0xff, - 3780 & 0xff, + (3849 >> 8) & 0xff, + 3849 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55615,8 +56435,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3788 >> 8) & 0xff, - 3788 & 0xff, + (3857 >> 8) & 0xff, + 3857 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55631,8 +56451,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3797 >> 8) & 0xff, - 3797 & 0xff, + (3866 >> 8) & 0xff, + 3866 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55647,8 +56467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3806 >> 8) & 0xff, - 3806 & 0xff, + (3875 >> 8) & 0xff, + 3875 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55663,8 +56483,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3813 >> 8) & 0xff, - 3813 & 0xff, + (3882 >> 8) & 0xff, + 3882 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55679,8 +56499,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3819 >> 8) & 0xff, - 3819 & 0xff, + (3888 >> 8) & 0xff, + 3888 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55695,8 +56515,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3826 >> 8) & 0xff, - 3826 & 0xff, + (3895 >> 8) & 0xff, + 3895 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55711,8 +56531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3833 >> 8) & 0xff, - 3833 & 0xff, + (3902 >> 8) & 0xff, + 3902 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55727,8 +56547,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3840 >> 8) & 0xff, - 3840 & 0xff, + (3909 >> 8) & 0xff, + 3909 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55743,8 +56563,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3847 >> 8) & 0xff, - 3847 & 0xff, + (3916 >> 8) & 0xff, + 3916 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55759,8 +56579,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3855 >> 8) & 0xff, - 3855 & 0xff, + (3924 >> 8) & 0xff, + 3924 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55775,8 +56595,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3864 >> 8) & 0xff, - 3864 & 0xff, + (3933 >> 8) & 0xff, + 3933 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55791,8 +56611,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3873 >> 8) & 0xff, - 3873 & 0xff, + (3942 >> 8) & 0xff, + 3942 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55801,8 +56621,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (626 >> 8) & 0xff, - 626 & 0xff} + (642 >> 8) & 0xff, + 642 & 0xff} }, { .description = "l2_ivv", @@ -55810,8 +56630,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3878 >> 8) & 0xff, - 3878 & 0xff, + (3947 >> 8) & 0xff, + 3947 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55820,8 +56640,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (627 >> 8) & 0xff, - 627 & 0xff} + (643 >> 8) & 0xff, + 643 & 0xff} }, { .description = "l2_ivv", @@ -55829,8 +56649,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3882 >> 8) & 0xff, - 3882 & 0xff, + (3951 >> 8) & 0xff, + 3951 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55845,8 +56665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3891 >> 8) & 0xff, - 3891 & 0xff, + (3960 >> 8) & 0xff, + 3960 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55855,8 +56675,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (629 >> 8) & 0xff, - 629 & 0xff} + (645 >> 8) & 0xff, + 645 & 0xff} }, { .description = "l2_ivv", @@ -55864,8 +56684,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3896 >> 8) & 0xff, - 3896 & 0xff, + (3965 >> 8) & 0xff, + 3965 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55874,8 +56694,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (630 >> 8) & 0xff, - 630 & 0xff} + (646 >> 8) & 0xff, + 646 & 0xff} }, { .description = "l2_ivv", @@ -55883,8 +56703,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3900 >> 8) & 0xff, - 3900 & 0xff, + (3969 >> 8) & 0xff, + 3969 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55899,8 +56719,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3909 >> 8) & 0xff, - 3909 & 0xff, + (3978 >> 8) & 0xff, + 3978 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55915,8 +56735,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3918 >> 8) & 0xff, - 3918 & 0xff, + (3987 >> 8) & 0xff, + 3987 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55931,8 +56751,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3926 >> 8) & 0xff, - 3926 & 0xff, + (3995 >> 8) & 0xff, + 3995 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55947,8 +56767,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3933 >> 8) & 0xff, - 3933 & 0xff, + (4002 >> 8) & 0xff, + 4002 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55963,8 +56783,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3940 >> 8) & 0xff, - 3940 & 0xff, + (4009 >> 8) & 0xff, + 4009 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55979,8 +56799,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3947 >> 8) & 0xff, - 3947 & 0xff, + (4016 >> 8) & 0xff, + 4016 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55995,8 +56815,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3954 >> 8) & 0xff, - 3954 & 0xff, + (4023 >> 8) & 0xff, + 4023 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56011,8 +56831,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3961 >> 8) & 0xff, - 3961 & 0xff, + (4030 >> 8) & 0xff, + 4030 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56027,8 +56847,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3968 >> 8) & 0xff, - 3968 & 0xff, + (4037 >> 8) & 0xff, + 4037 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56043,8 +56863,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3975 >> 8) & 0xff, - 3975 & 0xff, + (4044 >> 8) & 0xff, + 4044 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56059,8 +56879,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3982 >> 8) & 0xff, - 3982 & 0xff, + (4051 >> 8) & 0xff, + 4051 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56069,8 +56889,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (642 >> 8) & 0xff, - 642 & 0xff} + (658 >> 8) & 0xff, + 658 & 0xff} }, { .description = "l3.ttl", @@ -56078,8 +56898,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3986 >> 8) & 0xff, - 3986 & 0xff, + (4055 >> 8) & 0xff, + 4055 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56088,8 +56908,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (643 >> 8) & 0xff, - 643 & 0xff} + (659 >> 8) & 0xff, + 659 & 0xff} }, { .description = "l3.ttl", @@ -56097,8 +56917,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3989 >> 8) & 0xff, - 3989 & 0xff, + (4058 >> 8) & 0xff, + 4058 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56113,8 +56933,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3996 >> 8) & 0xff, - 3996 & 0xff, + (4065 >> 8) & 0xff, + 4065 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56123,8 +56943,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (645 >> 8) & 0xff, - 645 & 0xff} + (661 >> 8) & 0xff, + 661 & 0xff} }, { .description = "l3.ttl", @@ -56132,8 +56952,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4000 >> 8) & 0xff, - 4000 & 0xff, + (4069 >> 8) & 0xff, + 4069 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56142,8 +56962,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (646 >> 8) & 0xff, - 646 & 0xff} + (662 >> 8) & 0xff, + 662 & 0xff} }, { .description = "l3.ttl", @@ -56151,8 +56971,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4003 >> 8) & 0xff, - 4003 & 0xff, + (4072 >> 8) & 0xff, + 4072 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56167,8 +56987,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4010 >> 8) & 0xff, - 4010 & 0xff, + (4079 >> 8) & 0xff, + 4079 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56177,8 +56997,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (648 >> 8) & 0xff, - 648 & 0xff} + (664 >> 8) & 0xff, + 664 & 0xff} }, { .description = "l3.prot", @@ -56186,8 +57006,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4014 >> 8) & 0xff, - 4014 & 0xff, + (4083 >> 8) & 0xff, + 4083 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56196,8 +57016,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (649 >> 8) & 0xff, - 649 & 0xff} + (665 >> 8) & 0xff, + 665 & 0xff} }, { .description = "l3.prot", @@ -56205,8 +57025,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4017 >> 8) & 0xff, - 4017 & 0xff, + (4086 >> 8) & 0xff, + 4086 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56221,8 +57041,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4024 >> 8) & 0xff, - 4024 & 0xff, + (4093 >> 8) & 0xff, + 4093 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56231,8 +57051,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (651 >> 8) & 0xff, - 651 & 0xff} + (667 >> 8) & 0xff, + 667 & 0xff} }, { .description = "l3.prot", @@ -56240,8 +57060,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4028 >> 8) & 0xff, - 4028 & 0xff, + (4097 >> 8) & 0xff, + 4097 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56250,8 +57070,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (652 >> 8) & 0xff, - 652 & 0xff} + (668 >> 8) & 0xff, + 668 & 0xff} }, { .description = "l3.prot", @@ -56259,8 +57079,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4031 >> 8) & 0xff, - 4031 & 0xff, + (4100 >> 8) & 0xff, + 4100 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56275,8 +57095,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4038 >> 8) & 0xff, - 4038 & 0xff, + (4107 >> 8) & 0xff, + 4107 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56285,8 +57105,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (654 >> 8) & 0xff, - 654 & 0xff} + (670 >> 8) & 0xff, + 670 & 0xff} }, { .description = "l3.qos", @@ -56294,8 +57114,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4042 >> 8) & 0xff, - 4042 & 0xff, + (4111 >> 8) & 0xff, + 4111 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56304,8 +57124,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (655 >> 8) & 0xff, - 655 & 0xff} + (671 >> 8) & 0xff, + 671 & 0xff} }, { .description = "l3.qos", @@ -56313,8 +57133,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4045 >> 8) & 0xff, - 4045 & 0xff, + (4114 >> 8) & 0xff, + 4114 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56329,8 +57149,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4052 >> 8) & 0xff, - 4052 & 0xff, + (4121 >> 8) & 0xff, + 4121 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56339,8 +57159,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (657 >> 8) & 0xff, - 657 & 0xff} + (673 >> 8) & 0xff, + 673 & 0xff} }, { .description = "l3.qos", @@ -56348,8 +57168,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4056 >> 8) & 0xff, - 4056 & 0xff, + (4125 >> 8) & 0xff, + 4125 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56358,8 +57178,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (658 >> 8) & 0xff, - 658 & 0xff} + (674 >> 8) & 0xff, + 674 & 0xff} }, { .description = "l3.qos", @@ -56367,8 +57187,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4059 >> 8) & 0xff, - 4059 & 0xff, + (4128 >> 8) & 0xff, + 4128 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56383,8 +57203,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4066 >> 8) & 0xff, - 4066 & 0xff, + (4135 >> 8) & 0xff, + 4135 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56393,8 +57213,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (660 >> 8) & 0xff, - 660 & 0xff} + (676 >> 8) & 0xff, + 676 & 0xff} }, { .description = "l4.src", @@ -56402,8 +57222,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4070 >> 8) & 0xff, - 4070 & 0xff, + (4139 >> 8) & 0xff, + 4139 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56412,8 +57232,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (661 >> 8) & 0xff, - 661 & 0xff} + (677 >> 8) & 0xff, + 677 & 0xff} }, { .description = "l4.src", @@ -56421,8 +57241,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4073 >> 8) & 0xff, - 4073 & 0xff, + (4142 >> 8) & 0xff, + 4142 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56431,8 +57251,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (662 >> 8) & 0xff, - 662 & 0xff} + (678 >> 8) & 0xff, + 678 & 0xff} }, { .description = "l4.src", @@ -56440,8 +57260,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4076 >> 8) & 0xff, - 4076 & 0xff, + (4145 >> 8) & 0xff, + 4145 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -56453,8 +57273,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4082 >> 8) & 0xff, - 4082 & 0xff, + (4151 >> 8) & 0xff, + 4151 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56463,8 +57283,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (664 >> 8) & 0xff, - 664 & 0xff} + (680 >> 8) & 0xff, + 680 & 0xff} }, { .description = "l4.src", @@ -56472,8 +57292,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4086 >> 8) & 0xff, - 4086 & 0xff, + (4155 >> 8) & 0xff, + 4155 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56482,8 +57302,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (665 >> 8) & 0xff, - 665 & 0xff} + (681 >> 8) & 0xff, + 681 & 0xff} }, { .description = "l4.src", @@ -56491,8 +57311,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4089 >> 8) & 0xff, - 4089 & 0xff, + (4158 >> 8) & 0xff, + 4158 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56501,8 +57321,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (666 >> 8) & 0xff, - 666 & 0xff} + (682 >> 8) & 0xff, + 682 & 0xff} }, { .description = "l4.src", @@ -56510,8 +57330,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4092 >> 8) & 0xff, - 4092 & 0xff, + (4161 >> 8) & 0xff, + 4161 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -56523,8 +57343,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4098 >> 8) & 0xff, - 4098 & 0xff, + (4167 >> 8) & 0xff, + 4167 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56533,8 +57353,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (668 >> 8) & 0xff, - 668 & 0xff} + (684 >> 8) & 0xff, + 684 & 0xff} }, { .description = "l4.dst", @@ -56542,8 +57362,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4102 >> 8) & 0xff, - 4102 & 0xff, + (4171 >> 8) & 0xff, + 4171 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56552,8 +57372,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (669 >> 8) & 0xff, - 669 & 0xff} + (685 >> 8) & 0xff, + 685 & 0xff} }, { .description = "l4.dst", @@ -56561,8 +57381,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4105 >> 8) & 0xff, - 4105 & 0xff, + (4174 >> 8) & 0xff, + 4174 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56571,8 +57391,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (670 >> 8) & 0xff, - 670 & 0xff} + (686 >> 8) & 0xff, + 686 & 0xff} }, { .description = "l4.dst", @@ -56580,8 +57400,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4108 >> 8) & 0xff, - 4108 & 0xff, + (4177 >> 8) & 0xff, + 4177 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -56593,8 +57413,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4114 >> 8) & 0xff, - 4114 & 0xff, + (4183 >> 8) & 0xff, + 4183 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56603,8 +57423,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (672 >> 8) & 0xff, - 672 & 0xff} + (688 >> 8) & 0xff, + 688 & 0xff} }, { .description = "l4.dst", @@ -56612,8 +57432,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4118 >> 8) & 0xff, - 4118 & 0xff, + (4187 >> 8) & 0xff, + 4187 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56622,8 +57442,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (673 >> 8) & 0xff, - 673 & 0xff} + (689 >> 8) & 0xff, + 689 & 0xff} }, { .description = "l4.dst", @@ -56631,8 +57451,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4121 >> 8) & 0xff, - 4121 & 0xff, + (4190 >> 8) & 0xff, + 4190 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56641,8 +57461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (674 >> 8) & 0xff, - 674 & 0xff} + (690 >> 8) & 0xff, + 690 & 0xff} }, { .description = "l4.dst", @@ -56650,8 +57470,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4124 >> 8) & 0xff, - 4124 & 0xff, + (4193 >> 8) & 0xff, + 4193 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -56663,8 +57483,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4158 >> 8) & 0xff, - 4158 & 0xff, + (4227 >> 8) & 0xff, + 4227 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56678,8 +57498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4172 >> 8) & 0xff, - 4172 & 0xff, + (4241 >> 8) & 0xff, + 4241 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56693,8 +57513,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4180 >> 8) & 0xff, - 4180 & 0xff, + (4249 >> 8) & 0xff, + 4249 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56708,8 +57528,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4188 >> 8) & 0xff, - 4188 & 0xff, + (4257 >> 8) & 0xff, + 4257 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56723,8 +57543,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4196 >> 8) & 0xff, - 4196 & 0xff, + (4265 >> 8) & 0xff, + 4265 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56738,8 +57558,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4204 >> 8) & 0xff, - 4204 & 0xff, + (4273 >> 8) & 0xff, + 4273 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56753,8 +57573,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4212 >> 8) & 0xff, - 4212 & 0xff, + (4281 >> 8) & 0xff, + 4281 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56768,8 +57588,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4221 >> 8) & 0xff, - 4221 & 0xff, + (4290 >> 8) & 0xff, + 4290 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56783,8 +57603,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4228 >> 8) & 0xff, - 4228 & 0xff, + (4297 >> 8) & 0xff, + 4297 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56798,8 +57618,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4235 >> 8) & 0xff, - 4235 & 0xff, + (4304 >> 8) & 0xff, + 4304 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56813,8 +57633,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4242 >> 8) & 0xff, - 4242 & 0xff, + (4311 >> 8) & 0xff, + 4311 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56828,8 +57648,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4250 >> 8) & 0xff, - 4250 & 0xff, + (4319 >> 8) & 0xff, + 4319 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56843,8 +57663,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4259 >> 8) & 0xff, - 4259 & 0xff, + (4328 >> 8) & 0xff, + 4328 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56852,8 +57672,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (688 >> 8) & 0xff, - 688 & 0xff} + (704 >> 8) & 0xff, + 704 & 0xff} }, { .description = "l2_ivv.en", @@ -56861,8 +57681,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4264 >> 8) & 0xff, - 4264 & 0xff, + (4333 >> 8) & 0xff, + 4333 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56870,8 +57690,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (689 >> 8) & 0xff, - 689 & 0xff} + (705 >> 8) & 0xff, + 705 & 0xff} }, { .description = "l2_ivv.en", @@ -56879,8 +57699,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4268 >> 8) & 0xff, - 4268 & 0xff, + (4337 >> 8) & 0xff, + 4337 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56894,8 +57714,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4277 >> 8) & 0xff, - 4277 & 0xff, + (4346 >> 8) & 0xff, + 4346 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56909,8 +57729,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4285 >> 8) & 0xff, - 4285 & 0xff, + (4354 >> 8) & 0xff, + 4354 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56918,8 +57738,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (692 >> 8) & 0xff, - 692 & 0xff} + (708 >> 8) & 0xff, + 708 & 0xff} }, { .description = "l3_sip.en", @@ -56927,8 +57747,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4289 >> 8) & 0xff, - 4289 & 0xff, + (4358 >> 8) & 0xff, + 4358 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56936,8 +57756,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (693 >> 8) & 0xff, - 693 & 0xff} + (709 >> 8) & 0xff, + 709 & 0xff} }, { .description = "l3_sip.en", @@ -56945,8 +57765,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4292 >> 8) & 0xff, - 4292 & 0xff, + (4361 >> 8) & 0xff, + 4361 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56960,8 +57780,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4299 >> 8) & 0xff, - 4299 & 0xff, + (4368 >> 8) & 0xff, + 4368 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56969,8 +57789,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (695 >> 8) & 0xff, - 695 & 0xff} + (711 >> 8) & 0xff, + 711 & 0xff} }, { .description = "l3_dip.en", @@ -56978,8 +57798,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4303 >> 8) & 0xff, - 4303 & 0xff, + (4372 >> 8) & 0xff, + 4372 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56987,8 +57807,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (696 >> 8) & 0xff, - 696 & 0xff} + (712 >> 8) & 0xff, + 712 & 0xff} }, { .description = "l3_dip.en", @@ -56996,8 +57816,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4306 >> 8) & 0xff, - 4306 & 0xff, + (4375 >> 8) & 0xff, + 4375 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57011,8 +57831,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4313 >> 8) & 0xff, - 4313 & 0xff, + (4382 >> 8) & 0xff, + 4382 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57020,8 +57840,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (698 >> 8) & 0xff, - 698 & 0xff} + (714 >> 8) & 0xff, + 714 & 0xff} }, { .description = "l3_ttl.en", @@ -57029,8 +57849,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4317 >> 8) & 0xff, - 4317 & 0xff, + (4386 >> 8) & 0xff, + 4386 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57038,8 +57858,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (699 >> 8) & 0xff, - 699 & 0xff} + (715 >> 8) & 0xff, + 715 & 0xff} }, { .description = "l3_ttl.en", @@ -57047,8 +57867,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4320 >> 8) & 0xff, - 4320 & 0xff, + (4389 >> 8) & 0xff, + 4389 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57062,8 +57882,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4327 >> 8) & 0xff, - 4327 & 0xff, + (4396 >> 8) & 0xff, + 4396 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57071,8 +57891,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (701 >> 8) & 0xff, - 701 & 0xff} + (717 >> 8) & 0xff, + 717 & 0xff} }, { .description = "l3_prot.en", @@ -57080,8 +57900,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4331 >> 8) & 0xff, - 4331 & 0xff, + (4400 >> 8) & 0xff, + 4400 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57089,8 +57909,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (702 >> 8) & 0xff, - 702 & 0xff} + (718 >> 8) & 0xff, + 718 & 0xff} }, { .description = "l3_prot.en", @@ -57098,8 +57918,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4334 >> 8) & 0xff, - 4334 & 0xff, + (4403 >> 8) & 0xff, + 4403 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57113,8 +57933,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4341 >> 8) & 0xff, - 4341 & 0xff, + (4410 >> 8) & 0xff, + 4410 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57122,8 +57942,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (704 >> 8) & 0xff, - 704 & 0xff} + (720 >> 8) & 0xff, + 720 & 0xff} }, { .description = "l3_qos.en", @@ -57131,8 +57951,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4345 >> 8) & 0xff, - 4345 & 0xff, + (4414 >> 8) & 0xff, + 4414 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57140,8 +57960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (705 >> 8) & 0xff, - 705 & 0xff} + (721 >> 8) & 0xff, + 721 & 0xff} }, { .description = "l3_qos.en", @@ -57149,8 +57969,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4348 >> 8) & 0xff, - 4348 & 0xff, + (4417 >> 8) & 0xff, + 4417 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57164,8 +57984,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4355 >> 8) & 0xff, - 4355 & 0xff, + (4424 >> 8) & 0xff, + 4424 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57173,8 +57993,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (707 >> 8) & 0xff, - 707 & 0xff} + (723 >> 8) & 0xff, + 723 & 0xff} }, { .description = "l4_src.en", @@ -57182,8 +58002,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4359 >> 8) & 0xff, - 4359 & 0xff, + (4428 >> 8) & 0xff, + 4428 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57191,8 +58011,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (708 >> 8) & 0xff, - 708 & 0xff} + (724 >> 8) & 0xff, + 724 & 0xff} }, { .description = "l4_src.en", @@ -57200,8 +58020,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4362 >> 8) & 0xff, - 4362 & 0xff, + (4431 >> 8) & 0xff, + 4431 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57215,8 +58035,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4369 >> 8) & 0xff, - 4369 & 0xff, + (4438 >> 8) & 0xff, + 4438 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57224,8 +58044,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (710 >> 8) & 0xff, - 710 & 0xff} + (726 >> 8) & 0xff, + 726 & 0xff} }, { .description = "l4_dst.en", @@ -57233,8 +58053,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4373 >> 8) & 0xff, - 4373 & 0xff, + (4442 >> 8) & 0xff, + 4442 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57242,8 +58062,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (711 >> 8) & 0xff, - 711 & 0xff} + (727 >> 8) & 0xff, + 727 & 0xff} }, { .description = "l4_dst.en", @@ -57251,8 +58071,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4376 >> 8) & 0xff, - 4376 & 0xff, + (4445 >> 8) & 0xff, + 4445 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57266,8 +58086,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4420 >> 8) & 0xff, - 4420 & 0xff, + (4489 >> 8) & 0xff, + 4489 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57279,8 +58099,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4430 >> 8) & 0xff, - 4430 & 0xff, + (4499 >> 8) & 0xff, + 4499 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57295,8 +58115,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4481 >> 8) & 0xff, - 4481 & 0xff, + (4550 >> 8) & 0xff, + 4550 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57308,8 +58128,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4489 >> 8) & 0xff, - 4489 & 0xff, + (4558 >> 8) & 0xff, + 4558 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57324,8 +58144,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4497 >> 8) & 0xff, - 4497 & 0xff, + (4566 >> 8) & 0xff, + 4566 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57337,8 +58157,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4505 >> 8) & 0xff, - 4505 & 0xff, + (4574 >> 8) & 0xff, + 4574 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57353,8 +58173,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4513 >> 8) & 0xff, - 4513 & 0xff, + (4582 >> 8) & 0xff, + 4582 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57366,8 +58186,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4521 >> 8) & 0xff, - 4521 & 0xff, + (4590 >> 8) & 0xff, + 4590 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57382,8 +58202,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4529 >> 8) & 0xff, - 4529 & 0xff, + (4598 >> 8) & 0xff, + 4598 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57395,8 +58215,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4537 >> 8) & 0xff, - 4537 & 0xff, + (4606 >> 8) & 0xff, + 4606 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57411,8 +58231,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4546 >> 8) & 0xff, - 4546 & 0xff, + (4615 >> 8) & 0xff, + 4615 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57424,8 +58244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4555 >> 8) & 0xff, - 4555 & 0xff, + (4624 >> 8) & 0xff, + 4624 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57440,8 +58260,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4562 >> 8) & 0xff, - 4562 & 0xff, + (4631 >> 8) & 0xff, + 4631 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57453,8 +58273,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4568 >> 8) & 0xff, - 4568 & 0xff, + (4637 >> 8) & 0xff, + 4637 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57469,8 +58289,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4575 >> 8) & 0xff, - 4575 & 0xff, + (4644 >> 8) & 0xff, + 4644 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57482,8 +58302,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4582 >> 8) & 0xff, - 4582 & 0xff, + (4651 >> 8) & 0xff, + 4651 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57498,8 +58318,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4589 >> 8) & 0xff, - 4589 & 0xff, + (4658 >> 8) & 0xff, + 4658 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57511,8 +58331,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4596 >> 8) & 0xff, - 4596 & 0xff, + (4665 >> 8) & 0xff, + 4665 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57527,8 +58347,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4604 >> 8) & 0xff, - 4604 & 0xff, + (4673 >> 8) & 0xff, + 4673 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57540,8 +58360,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4613 >> 8) & 0xff, - 4613 & 0xff, + (4682 >> 8) & 0xff, + 4682 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57556,15 +58376,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4622 >> 8) & 0xff, - 4622 & 0xff, + (4691 >> 8) & 0xff, + 4691 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (733 >> 8) & 0xff, - 733 & 0xff} + (749 >> 8) & 0xff, + 749 & 0xff} }, { .description = "l2_ivv", @@ -57572,15 +58392,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4627 >> 8) & 0xff, - 4627 & 0xff, + (4696 >> 8) & 0xff, + 4696 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (734 >> 8) & 0xff, - 734 & 0xff} + (750 >> 8) & 0xff, + 750 & 0xff} }, { .description = "l2_ivv", @@ -57588,8 +58408,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4631 >> 8) & 0xff, - 4631 & 0xff, + (4700 >> 8) & 0xff, + 4700 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57601,8 +58421,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4640 >> 8) & 0xff, - 4640 & 0xff, + (4709 >> 8) & 0xff, + 4709 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57611,8 +58431,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (736 >> 8) & 0xff, - 736 & 0xff} + (752 >> 8) & 0xff, + 752 & 0xff} }, { .description = "l2_ivv", @@ -57620,8 +58440,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4645 >> 8) & 0xff, - 4645 & 0xff, + (4714 >> 8) & 0xff, + 4714 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57630,8 +58450,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (737 >> 8) & 0xff, - 737 & 0xff} + (753 >> 8) & 0xff, + 753 & 0xff} }, { .description = "l2_ivv", @@ -57639,8 +58459,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4649 >> 8) & 0xff, - 4649 & 0xff, + (4718 >> 8) & 0xff, + 4718 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57655,8 +58475,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4658 >> 8) & 0xff, - 4658 & 0xff, + (4727 >> 8) & 0xff, + 4727 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57668,8 +58488,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4667 >> 8) & 0xff, - 4667 & 0xff, + (4736 >> 8) & 0xff, + 4736 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57684,8 +58504,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4675 >> 8) & 0xff, - 4675 & 0xff, + (4744 >> 8) & 0xff, + 4744 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57697,8 +58517,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4682 >> 8) & 0xff, - 4682 & 0xff, + (4751 >> 8) & 0xff, + 4751 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57713,8 +58533,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4689 >> 8) & 0xff, - 4689 & 0xff, + (4758 >> 8) & 0xff, + 4758 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57726,8 +58546,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4696 >> 8) & 0xff, - 4696 & 0xff, + (4765 >> 8) & 0xff, + 4765 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57742,8 +58562,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4703 >> 8) & 0xff, - 4703 & 0xff, + (4772 >> 8) & 0xff, + 4772 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57755,8 +58575,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4710 >> 8) & 0xff, - 4710 & 0xff, + (4779 >> 8) & 0xff, + 4779 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57771,8 +58591,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4717 >> 8) & 0xff, - 4717 & 0xff, + (4786 >> 8) & 0xff, + 4786 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57784,8 +58604,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4724 >> 8) & 0xff, - 4724 & 0xff, + (4793 >> 8) & 0xff, + 4793 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57800,15 +58620,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4731 >> 8) & 0xff, - 4731 & 0xff, + (4800 >> 8) & 0xff, + 4800 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (749 >> 8) & 0xff, - 749 & 0xff} + (765 >> 8) & 0xff, + 765 & 0xff} }, { .description = "l3.ttl", @@ -57816,15 +58636,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4735 >> 8) & 0xff, - 4735 & 0xff, + (4804 >> 8) & 0xff, + 4804 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (750 >> 8) & 0xff, - 750 & 0xff} + (766 >> 8) & 0xff, + 766 & 0xff} }, { .description = "l3.ttl", @@ -57832,8 +58652,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4738 >> 8) & 0xff, - 4738 & 0xff, + (4807 >> 8) & 0xff, + 4807 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57845,8 +58665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4745 >> 8) & 0xff, - 4745 & 0xff, + (4814 >> 8) & 0xff, + 4814 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57855,8 +58675,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (752 >> 8) & 0xff, - 752 & 0xff} + (768 >> 8) & 0xff, + 768 & 0xff} }, { .description = "l3.ttl", @@ -57864,8 +58684,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4749 >> 8) & 0xff, - 4749 & 0xff, + (4818 >> 8) & 0xff, + 4818 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57874,8 +58694,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (753 >> 8) & 0xff, - 753 & 0xff} + (769 >> 8) & 0xff, + 769 & 0xff} }, { .description = "l3.ttl", @@ -57883,8 +58703,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4752 >> 8) & 0xff, - 4752 & 0xff, + (4821 >> 8) & 0xff, + 4821 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57899,15 +58719,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4759 >> 8) & 0xff, - 4759 & 0xff, + (4828 >> 8) & 0xff, + 4828 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (755 >> 8) & 0xff, - 755 & 0xff} + (771 >> 8) & 0xff, + 771 & 0xff} }, { .description = "l3.prot", @@ -57915,15 +58735,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4763 >> 8) & 0xff, - 4763 & 0xff, + (4832 >> 8) & 0xff, + 4832 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (756 >> 8) & 0xff, - 756 & 0xff} + (772 >> 8) & 0xff, + 772 & 0xff} }, { .description = "l3.prot", @@ -57931,8 +58751,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4766 >> 8) & 0xff, - 4766 & 0xff, + (4835 >> 8) & 0xff, + 4835 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57944,8 +58764,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4773 >> 8) & 0xff, - 4773 & 0xff, + (4842 >> 8) & 0xff, + 4842 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57954,8 +58774,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (758 >> 8) & 0xff, - 758 & 0xff} + (774 >> 8) & 0xff, + 774 & 0xff} }, { .description = "l3.prot", @@ -57963,8 +58783,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4777 >> 8) & 0xff, - 4777 & 0xff, + (4846 >> 8) & 0xff, + 4846 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57973,8 +58793,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (759 >> 8) & 0xff, - 759 & 0xff} + (775 >> 8) & 0xff, + 775 & 0xff} }, { .description = "l3.prot", @@ -57982,8 +58802,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4780 >> 8) & 0xff, - 4780 & 0xff, + (4849 >> 8) & 0xff, + 4849 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57998,15 +58818,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4787 >> 8) & 0xff, - 4787 & 0xff, + (4856 >> 8) & 0xff, + 4856 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (761 >> 8) & 0xff, - 761 & 0xff} + (777 >> 8) & 0xff, + 777 & 0xff} }, { .description = "l3.qos", @@ -58014,15 +58834,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4791 >> 8) & 0xff, - 4791 & 0xff, + (4860 >> 8) & 0xff, + 4860 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (762 >> 8) & 0xff, - 762 & 0xff} + (778 >> 8) & 0xff, + 778 & 0xff} }, { .description = "l3.qos", @@ -58030,8 +58850,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4794 >> 8) & 0xff, - 4794 & 0xff, + (4863 >> 8) & 0xff, + 4863 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -58043,8 +58863,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4801 >> 8) & 0xff, - 4801 & 0xff, + (4870 >> 8) & 0xff, + 4870 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58053,8 +58873,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (764 >> 8) & 0xff, - 764 & 0xff} + (780 >> 8) & 0xff, + 780 & 0xff} }, { .description = "l3.qos", @@ -58062,8 +58882,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4805 >> 8) & 0xff, - 4805 & 0xff, + (4874 >> 8) & 0xff, + 4874 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58072,8 +58892,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (765 >> 8) & 0xff, - 765 & 0xff} + (781 >> 8) & 0xff, + 781 & 0xff} }, { .description = "l3.qos", @@ -58081,8 +58901,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4808 >> 8) & 0xff, - 4808 & 0xff, + (4877 >> 8) & 0xff, + 4877 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58097,15 +58917,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4815 >> 8) & 0xff, - 4815 & 0xff, + (4884 >> 8) & 0xff, + 4884 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (767 >> 8) & 0xff, - 767 & 0xff} + (783 >> 8) & 0xff, + 783 & 0xff} }, { .description = "l4.src", @@ -58113,15 +58933,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4819 >> 8) & 0xff, - 4819 & 0xff, + (4888 >> 8) & 0xff, + 4888 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (768 >> 8) & 0xff, - 768 & 0xff} + (784 >> 8) & 0xff, + 784 & 0xff} }, { .description = "l4.src", @@ -58129,8 +58949,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4822 >> 8) & 0xff, - 4822 & 0xff, + (4891 >> 8) & 0xff, + 4891 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -58142,8 +58962,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4829 >> 8) & 0xff, - 4829 & 0xff, + (4898 >> 8) & 0xff, + 4898 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58152,8 +58972,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (770 >> 8) & 0xff, - 770 & 0xff} + (786 >> 8) & 0xff, + 786 & 0xff} }, { .description = "l4.src", @@ -58161,8 +58981,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4833 >> 8) & 0xff, - 4833 & 0xff, + (4902 >> 8) & 0xff, + 4902 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58171,8 +58991,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (771 >> 8) & 0xff, - 771 & 0xff} + (787 >> 8) & 0xff, + 787 & 0xff} }, { .description = "l4.src", @@ -58180,8 +59000,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4836 >> 8) & 0xff, - 4836 & 0xff, + (4905 >> 8) & 0xff, + 4905 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58196,15 +59016,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4843 >> 8) & 0xff, - 4843 & 0xff, + (4912 >> 8) & 0xff, + 4912 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (773 >> 8) & 0xff, - 773 & 0xff} + (789 >> 8) & 0xff, + 789 & 0xff} }, { .description = "l4.dst", @@ -58212,15 +59032,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4847 >> 8) & 0xff, - 4847 & 0xff, + (4916 >> 8) & 0xff, + 4916 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (774 >> 8) & 0xff, - 774 & 0xff} + (790 >> 8) & 0xff, + 790 & 0xff} }, { .description = "l4.dst", @@ -58228,8 +59048,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4850 >> 8) & 0xff, - 4850 & 0xff, + (4919 >> 8) & 0xff, + 4919 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -58241,8 +59061,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4857 >> 8) & 0xff, - 4857 & 0xff, + (4926 >> 8) & 0xff, + 4926 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58251,8 +59071,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (776 >> 8) & 0xff, - 776 & 0xff} + (792 >> 8) & 0xff, + 792 & 0xff} }, { .description = "l4.dst", @@ -58260,8 +59080,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4861 >> 8) & 0xff, - 4861 & 0xff, + (4930 >> 8) & 0xff, + 4930 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58270,8 +59090,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (777 >> 8) & 0xff, - 777 & 0xff} + (793 >> 8) & 0xff, + 793 & 0xff} }, { .description = "l4.dst", @@ -58279,8 +59099,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4864 >> 8) & 0xff, - 4864 & 0xff, + (4933 >> 8) & 0xff, + 4933 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58685,8 +59505,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (165 >> 8) & 0xff, - 165 & 0xff, + (167 >> 8) & 0xff, + 167 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58724,8 +59544,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (167 >> 8) & 0xff, - 167 & 0xff, + (169 >> 8) & 0xff, + 169 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58739,8 +59559,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (170 >> 8) & 0xff, - 170 & 0xff, + (172 >> 8) & 0xff, + 172 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58766,8 +59586,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (171 >> 8) & 0xff, - 171 & 0xff, + (173 >> 8) & 0xff, + 173 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58781,8 +59601,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (175 >> 8) & 0xff, - 175 & 0xff, + (177 >> 8) & 0xff, + 177 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58826,8 +59646,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (179 >> 8) & 0xff, - 179 & 0xff, + (181 >> 8) & 0xff, + 181 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58859,8 +59679,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (184 >> 8) & 0xff, - 184 & 0xff, + (186 >> 8) & 0xff, + 186 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58883,8 +59703,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (194 >> 8) & 0xff, - 194 & 0xff, + (196 >> 8) & 0xff, + 196 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58904,8 +59724,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (199 >> 8) & 0xff, - 199 & 0xff, + (201 >> 8) & 0xff, + 201 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, @@ -58929,8 +59749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (208 >> 8) & 0xff, - 208 & 0xff, + (210 >> 8) & 0xff, + 210 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58953,8 +59773,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (216 >> 8) & 0xff, - 216 & 0xff, + (218 >> 8) & 0xff, + 218 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58971,8 +59791,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (224 >> 8) & 0xff, - 224 & 0xff, + (226 >> 8) & 0xff, + 226 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58995,8 +59815,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (232 >> 8) & 0xff, - 232 & 0xff, + (234 >> 8) & 0xff, + 234 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59079,8 +59899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (240 >> 8) & 0xff, - 240 & 0xff, + (242 >> 8) & 0xff, + 242 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59097,8 +59917,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (248 >> 8) & 0xff, - 248 & 0xff, + (250 >> 8) & 0xff, + 250 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59163,8 +59983,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (257 >> 8) & 0xff, - 257 & 0xff, + (259 >> 8) & 0xff, + 259 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59178,8 +59998,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { { .description = "tid.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (268 >> 8) & 0xff, + 268 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tctxts.en", @@ -59217,8 +60046,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (263 >> 8) & 0xff, - 263 & 0xff, + (271 >> 8) & 0xff, + 271 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59226,8 +60055,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (20 >> 8) & 0xff, - 20 & 0xff} + (21 >> 8) & 0xff, + 21 & 0xff} }, { .description = "l2_smac.en", @@ -59235,8 +60064,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (270 >> 8) & 0xff, - 270 & 0xff, + (278 >> 8) & 0xff, + 278 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59244,8 +60073,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (21 >> 8) & 0xff, - 21 & 0xff} + (22 >> 8) & 0xff, + 22 & 0xff} }, { .description = "l2_dt.en", @@ -59283,8 +60112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (277 >> 8) & 0xff, - 277 & 0xff, + (285 >> 8) & 0xff, + 285 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59292,8 +60121,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (22 >> 8) & 0xff, - 22 & 0xff} + (23 >> 8) & 0xff, + 23 & 0xff} }, { .description = "l2_ovt.en", @@ -59319,8 +60148,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (286 >> 8) & 0xff, - 286 & 0xff, + (294 >> 8) & 0xff, + 294 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59328,8 +60157,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (23 >> 8) & 0xff, - 23 & 0xff} + (24 >> 8) & 0xff, + 24 & 0xff} }, { .description = "l2_ivt.en", @@ -59343,8 +60172,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (304 >> 8) & 0xff, - 304 & 0xff, + (312 >> 8) & 0xff, + 312 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59352,8 +60181,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (26 >> 8) & 0xff, - 26 & 0xff} + (27 >> 8) & 0xff, + 27 & 0xff} }, { .description = "l3_l3type.en", @@ -59367,8 +60196,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (313 >> 8) & 0xff, - 313 & 0xff, + (321 >> 8) & 0xff, + 321 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59376,8 +60205,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (27 >> 8) & 0xff, - 27 & 0xff} + (28 >> 8) & 0xff, + 28 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -59391,8 +60220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (331 >> 8) & 0xff, - 331 & 0xff, + (339 >> 8) & 0xff, + 339 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59400,8 +60229,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (30 >> 8) & 0xff, - 30 & 0xff} + (31 >> 8) & 0xff, + 31 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -59415,8 +60244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (349 >> 8) & 0xff, - 349 & 0xff, + (357 >> 8) & 0xff, + 357 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59424,8 +60253,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (33 >> 8) & 0xff, - 33 & 0xff} + (34 >> 8) & 0xff, + 34 & 0xff} }, { .description = "l3_prot.en", @@ -59433,8 +60262,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (367 >> 8) & 0xff, - 367 & 0xff, + (375 >> 8) & 0xff, + 375 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59442,8 +60271,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (36 >> 8) & 0xff, - 36 & 0xff} + (37 >> 8) & 0xff, + 37 & 0xff} }, { .description = "l3_fid.en", @@ -59457,8 +60286,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (385 >> 8) & 0xff, - 385 & 0xff, + (393 >> 8) & 0xff, + 393 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59466,8 +60295,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (39 >> 8) & 0xff, - 39 & 0xff} + (40 >> 8) & 0xff, + 40 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -59541,18 +60370,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (403 >> 8) & 0xff, - 403 & 0xff, + (411 >> 8) & 0xff, + 411 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (42 >> 8) & 0xff, - 42 & 0xff}, + (43 >> 8) & 0xff, + 43 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (43 >> 8) & 0xff, - 43 & 0xff} + (44 >> 8) & 0xff, + 44 & 0xff} }, { .description = "l4_dst.en", @@ -59560,18 +60389,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (412 >> 8) & 0xff, - 412 & 0xff, + (420 >> 8) & 0xff, + 420 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (45 >> 8) & 0xff, - 45 & 0xff}, + (46 >> 8) & 0xff, + 46 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (46 >> 8) & 0xff, - 46 & 0xff} + (47 >> 8) & 0xff, + 47 & 0xff} }, { .description = "l4_flags.en", @@ -60480,8 +61309,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1718 >> 8) & 0xff, - 1718 & 0xff, + (1765 >> 8) & 0xff, + 1765 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60519,8 +61348,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1720 >> 8) & 0xff, - 1720 & 0xff, + (1767 >> 8) & 0xff, + 1767 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60534,8 +61363,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1722 >> 8) & 0xff, - 1722 & 0xff, + (1769 >> 8) & 0xff, + 1769 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60561,8 +61390,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1723 >> 8) & 0xff, - 1723 & 0xff, + (1770 >> 8) & 0xff, + 1770 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60576,8 +61405,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1728 >> 8) & 0xff, - 1728 & 0xff, + (1775 >> 8) & 0xff, + 1775 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60621,8 +61450,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1732 >> 8) & 0xff, - 1732 & 0xff, + (1779 >> 8) & 0xff, + 1779 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60654,8 +61483,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1737 >> 8) & 0xff, - 1737 & 0xff, + (1784 >> 8) & 0xff, + 1784 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60663,8 +61492,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (287 >> 8) & 0xff, - 287 & 0xff} + (299 >> 8) & 0xff, + 299 & 0xff} }, { .description = "tl2_ivt.en", @@ -60678,8 +61507,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1747 >> 8) & 0xff, - 1747 & 0xff, + (1794 >> 8) & 0xff, + 1794 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60699,8 +61528,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1752 >> 8) & 0xff, - 1752 & 0xff, + (1799 >> 8) & 0xff, + 1799 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60708,8 +61537,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (288 >> 8) & 0xff, - 288 & 0xff} + (300 >> 8) & 0xff, + 300 & 0xff} }, { .description = "tl3_sip_selcmp.en", @@ -60723,8 +61552,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1760 >> 8) & 0xff, - 1760 & 0xff, + (1807 >> 8) & 0xff, + 1807 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60732,8 +61561,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (289 >> 8) & 0xff, - 289 & 0xff} + (301 >> 8) & 0xff, + 301 & 0xff} }, { .description = "tl3_dip_selcmp.en", @@ -60747,8 +61576,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1768 >> 8) & 0xff, - 1768 & 0xff, + (1815 >> 8) & 0xff, + 1815 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60756,8 +61585,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (290 >> 8) & 0xff, - 290 & 0xff} + (302 >> 8) & 0xff, + 302 & 0xff} }, { .description = "tl3_prot.en", @@ -60765,8 +61594,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1776 >> 8) & 0xff, - 1776 & 0xff, + (1823 >> 8) & 0xff, + 1823 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60774,8 +61603,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (291 >> 8) & 0xff, - 291 & 0xff} + (303 >> 8) & 0xff, + 303 & 0xff} }, { .description = "tl3_fid.en", @@ -60789,8 +61618,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1784 >> 8) & 0xff, - 1784 & 0xff, + (1831 >> 8) & 0xff, + 1831 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60798,8 +61627,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (292 >> 8) & 0xff, - 292 & 0xff} + (304 >> 8) & 0xff, + 304 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -60873,8 +61702,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1792 >> 8) & 0xff, - 1792 & 0xff, + (1839 >> 8) & 0xff, + 1839 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60882,8 +61711,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (293 >> 8) & 0xff, - 293 & 0xff} + (305 >> 8) & 0xff, + 305 & 0xff} }, { .description = "tl4_dst.en", @@ -60891,8 +61720,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1800 >> 8) & 0xff, - 1800 & 0xff, + (1847 >> 8) & 0xff, + 1847 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60900,8 +61729,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (294 >> 8) & 0xff, - 294 & 0xff} + (306 >> 8) & 0xff, + 306 & 0xff} }, { .description = "tl4_flags.en", @@ -60957,8 +61786,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1809 >> 8) & 0xff, - 1809 & 0xff, + (1856 >> 8) & 0xff, + 1856 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60966,14 +61795,23 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (295 >> 8) & 0xff, - 295 & 0xff} + (307 >> 8) & 0xff, + 307 & 0xff} }, { .description = "tid.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1865 >> 8) & 0xff, + 1865 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tctxts.en", @@ -61011,8 +61849,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1815 >> 8) & 0xff, - 1815 & 0xff, + (1868 >> 8) & 0xff, + 1868 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61020,8 +61858,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (296 >> 8) & 0xff, - 296 & 0xff} + (309 >> 8) & 0xff, + 309 & 0xff} }, { .description = "l2_smac.en", @@ -61029,8 +61867,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1824 >> 8) & 0xff, - 1824 & 0xff, + (1877 >> 8) & 0xff, + 1877 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61038,8 +61876,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (297 >> 8) & 0xff, - 297 & 0xff} + (310 >> 8) & 0xff, + 310 & 0xff} }, { .description = "l2_dt.en", @@ -61077,8 +61915,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1831 >> 8) & 0xff, - 1831 & 0xff, + (1884 >> 8) & 0xff, + 1884 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61086,8 +61924,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (298 >> 8) & 0xff, - 298 & 0xff} + (311 >> 8) & 0xff, + 311 & 0xff} }, { .description = "l2_ovt.en", @@ -61113,8 +61951,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1840 >> 8) & 0xff, - 1840 & 0xff, + (1893 >> 8) & 0xff, + 1893 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61122,8 +61960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (299 >> 8) & 0xff, - 299 & 0xff} + (312 >> 8) & 0xff, + 312 & 0xff} }, { .description = "l2_ivt.en", @@ -61137,8 +61975,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1858 >> 8) & 0xff, - 1858 & 0xff, + (1911 >> 8) & 0xff, + 1911 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61146,8 +61984,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (302 >> 8) & 0xff, - 302 & 0xff} + (315 >> 8) & 0xff, + 315 & 0xff} }, { .description = "l3_l3type.en", @@ -61161,8 +61999,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1867 >> 8) & 0xff, - 1867 & 0xff, + (1920 >> 8) & 0xff, + 1920 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61170,8 +62008,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (303 >> 8) & 0xff, - 303 & 0xff} + (316 >> 8) & 0xff, + 316 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -61185,8 +62023,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1881 >> 8) & 0xff, - 1881 & 0xff, + (1934 >> 8) & 0xff, + 1934 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61194,8 +62032,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (306 >> 8) & 0xff, - 306 & 0xff} + (319 >> 8) & 0xff, + 319 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -61209,8 +62047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1895 >> 8) & 0xff, - 1895 & 0xff, + (1948 >> 8) & 0xff, + 1948 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61218,8 +62056,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (309 >> 8) & 0xff, - 309 & 0xff} + (322 >> 8) & 0xff, + 322 & 0xff} }, { .description = "l3_prot.en", @@ -61227,8 +62065,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1909 >> 8) & 0xff, - 1909 & 0xff, + (1962 >> 8) & 0xff, + 1962 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61236,8 +62074,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (312 >> 8) & 0xff, - 312 & 0xff} + (325 >> 8) & 0xff, + 325 & 0xff} }, { .description = "l3_fid.en", @@ -61251,8 +62089,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1923 >> 8) & 0xff, - 1923 & 0xff, + (1976 >> 8) & 0xff, + 1976 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61260,8 +62098,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (315 >> 8) & 0xff, - 315 & 0xff} + (328 >> 8) & 0xff, + 328 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -61335,8 +62173,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1937 >> 8) & 0xff, - 1937 & 0xff, + (1990 >> 8) & 0xff, + 1990 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61344,8 +62182,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (318 >> 8) & 0xff, - 318 & 0xff} + (331 >> 8) & 0xff, + 331 & 0xff} }, { .description = "l4_dst.en", @@ -61353,8 +62191,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1951 >> 8) & 0xff, - 1951 & 0xff, + (2004 >> 8) & 0xff, + 2004 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61362,8 +62200,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (321 >> 8) & 0xff, - 321 & 0xff} + (334 >> 8) & 0xff, + 334 & 0xff} }, { .description = "l4_flags.en", @@ -61605,8 +62443,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2570 >> 8) & 0xff, - 2570 & 0xff, + (2638 >> 8) & 0xff, + 2638 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61644,8 +62482,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2572 >> 8) & 0xff, - 2572 & 0xff, + (2640 >> 8) & 0xff, + 2640 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61659,8 +62497,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2575 >> 8) & 0xff, - 2575 & 0xff, + (2643 >> 8) & 0xff, + 2643 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61686,8 +62524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2576 >> 8) & 0xff, - 2576 & 0xff, + (2644 >> 8) & 0xff, + 2644 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61701,14 +62539,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2580 >> 8) & 0xff, - 2580 & 0xff, + (2648 >> 8) & 0xff, + 2648 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (394 >> 8) & 0xff, - 394 & 0xff}, + (409 >> 8) & 0xff, + 409 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -61747,8 +62585,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2587 >> 8) & 0xff, - 2587 & 0xff, + (2655 >> 8) & 0xff, + 2655 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61780,8 +62618,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2592 >> 8) & 0xff, - 2592 & 0xff, + (2660 >> 8) & 0xff, + 2660 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61789,8 +62627,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (395 >> 8) & 0xff, - 395 & 0xff} + (410 >> 8) & 0xff, + 410 & 0xff} }, { .description = "tl2_ivt.en", @@ -61804,8 +62642,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2602 >> 8) & 0xff, - 2602 & 0xff, + (2670 >> 8) & 0xff, + 2670 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61825,18 +62663,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2607 >> 8) & 0xff, - 2607 & 0xff, + (2675 >> 8) & 0xff, + 2675 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (396 >> 8) & 0xff, - 396 & 0xff}, + (411 >> 8) & 0xff, + 411 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (397 >> 8) & 0xff, - 397 & 0xff} + (412 >> 8) & 0xff, + 412 & 0xff} }, { .description = "tl3_sip_selcmp.en", @@ -61850,8 +62688,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2616 >> 8) & 0xff, - 2616 & 0xff, + (2684 >> 8) & 0xff, + 2684 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61859,8 +62697,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (398 >> 8) & 0xff, - 398 & 0xff} + (413 >> 8) & 0xff, + 413 & 0xff} }, { .description = "tl3_dip_selcmp.en", @@ -61874,8 +62712,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2624 >> 8) & 0xff, - 2624 & 0xff, + (2692 >> 8) & 0xff, + 2692 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61883,8 +62721,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (399 >> 8) & 0xff, - 399 & 0xff} + (414 >> 8) & 0xff, + 414 & 0xff} }, { .description = "tl3_prot.en", @@ -61892,8 +62730,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2632 >> 8) & 0xff, - 2632 & 0xff, + (2700 >> 8) & 0xff, + 2700 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61901,8 +62739,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (400 >> 8) & 0xff, - 400 & 0xff} + (415 >> 8) & 0xff, + 415 & 0xff} }, { .description = "tl3_fid.en", @@ -61916,8 +62754,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2640 >> 8) & 0xff, - 2640 & 0xff, + (2708 >> 8) & 0xff, + 2708 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61925,8 +62763,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (401 >> 8) & 0xff, - 401 & 0xff} + (416 >> 8) & 0xff, + 416 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -62000,8 +62838,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2648 >> 8) & 0xff, - 2648 & 0xff, + (2716 >> 8) & 0xff, + 2716 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62009,8 +62847,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (402 >> 8) & 0xff, - 402 & 0xff} + (417 >> 8) & 0xff, + 417 & 0xff} }, { .description = "tl4_dst.en", @@ -62018,8 +62856,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2656 >> 8) & 0xff, - 2656 & 0xff, + (2724 >> 8) & 0xff, + 2724 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62027,8 +62865,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (403 >> 8) & 0xff, - 403 & 0xff} + (418 >> 8) & 0xff, + 418 & 0xff} }, { .description = "tl4_flags.en", @@ -62084,8 +62922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2665 >> 8) & 0xff, - 2665 & 0xff, + (2733 >> 8) & 0xff, + 2733 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62093,8 +62931,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (404 >> 8) & 0xff, - 404 & 0xff} + (419 >> 8) & 0xff, + 419 & 0xff} }, { .description = "tid.en", @@ -62138,8 +62976,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2671 >> 8) & 0xff, - 2671 & 0xff, + (2739 >> 8) & 0xff, + 2739 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62147,8 +62985,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (405 >> 8) & 0xff, - 405 & 0xff} + (420 >> 8) & 0xff, + 420 & 0xff} }, { .description = "l2_smac.en", @@ -62156,8 +62994,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2678 >> 8) & 0xff, - 2678 & 0xff, + (2746 >> 8) & 0xff, + 2746 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62165,8 +63003,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (406 >> 8) & 0xff, - 406 & 0xff} + (421 >> 8) & 0xff, + 421 & 0xff} }, { .description = "l2_dt.en", @@ -62204,8 +63042,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2685 >> 8) & 0xff, - 2685 & 0xff, + (2753 >> 8) & 0xff, + 2753 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62213,8 +63051,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (407 >> 8) & 0xff, - 407 & 0xff} + (422 >> 8) & 0xff, + 422 & 0xff} }, { .description = "l2_ovt.en", @@ -62240,8 +63078,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2694 >> 8) & 0xff, - 2694 & 0xff, + (2762 >> 8) & 0xff, + 2762 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62249,8 +63087,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (408 >> 8) & 0xff, - 408 & 0xff} + (423 >> 8) & 0xff, + 423 & 0xff} }, { .description = "l2_ivt.en", @@ -62264,8 +63102,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2712 >> 8) & 0xff, - 2712 & 0xff, + (2780 >> 8) & 0xff, + 2780 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62273,8 +63111,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (411 >> 8) & 0xff, - 411 & 0xff} + (426 >> 8) & 0xff, + 426 & 0xff} }, { .description = "l3_l3type.en", @@ -62288,8 +63126,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2721 >> 8) & 0xff, - 2721 & 0xff, + (2789 >> 8) & 0xff, + 2789 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62297,8 +63135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (412 >> 8) & 0xff, - 412 & 0xff} + (427 >> 8) & 0xff, + 427 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -62312,8 +63150,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2739 >> 8) & 0xff, - 2739 & 0xff, + (2807 >> 8) & 0xff, + 2807 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62321,8 +63159,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (415 >> 8) & 0xff, - 415 & 0xff} + (430 >> 8) & 0xff, + 430 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -62336,8 +63174,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2757 >> 8) & 0xff, - 2757 & 0xff, + (2825 >> 8) & 0xff, + 2825 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62345,8 +63183,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (418 >> 8) & 0xff, - 418 & 0xff} + (433 >> 8) & 0xff, + 433 & 0xff} }, { .description = "l3_prot.en", @@ -62354,8 +63192,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2775 >> 8) & 0xff, - 2775 & 0xff, + (2843 >> 8) & 0xff, + 2843 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62363,8 +63201,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (421 >> 8) & 0xff, - 421 & 0xff} + (436 >> 8) & 0xff, + 436 & 0xff} }, { .description = "l3_fid.en", @@ -62378,8 +63216,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2793 >> 8) & 0xff, - 2793 & 0xff, + (2861 >> 8) & 0xff, + 2861 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62387,8 +63225,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (424 >> 8) & 0xff, - 424 & 0xff} + (439 >> 8) & 0xff, + 439 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -62462,18 +63300,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2811 >> 8) & 0xff, - 2811 & 0xff, + (2879 >> 8) & 0xff, + 2879 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (427 >> 8) & 0xff, - 427 & 0xff}, + (442 >> 8) & 0xff, + 442 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (428 >> 8) & 0xff, - 428 & 0xff} + (443 >> 8) & 0xff, + 443 & 0xff} }, { .description = "l4_dst.en", @@ -62481,18 +63319,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2820 >> 8) & 0xff, - 2820 & 0xff, + (2888 >> 8) & 0xff, + 2888 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (430 >> 8) & 0xff, - 430 & 0xff}, + (445 >> 8) & 0xff, + 445 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (431 >> 8) & 0xff, - 431 & 0xff} + (446 >> 8) & 0xff, + 446 & 0xff} }, { .description = "l4_flags.en", @@ -63401,8 +64239,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4135 >> 8) & 0xff, - 4135 & 0xff, + (4204 >> 8) & 0xff, + 4204 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63440,8 +64278,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4137 >> 8) & 0xff, - 4137 & 0xff, + (4206 >> 8) & 0xff, + 4206 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63455,8 +64293,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4139 >> 8) & 0xff, - 4139 & 0xff, + (4208 >> 8) & 0xff, + 4208 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63482,8 +64320,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4140 >> 8) & 0xff, - 4140 & 0xff, + (4209 >> 8) & 0xff, + 4209 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63497,8 +64335,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4144 >> 8) & 0xff, - 4144 & 0xff, + (4213 >> 8) & 0xff, + 4213 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63542,8 +64380,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4148 >> 8) & 0xff, - 4148 & 0xff, + (4217 >> 8) & 0xff, + 4217 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63575,8 +64413,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4153 >> 8) & 0xff, - 4153 & 0xff, + (4222 >> 8) & 0xff, + 4222 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63584,8 +64422,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (675 >> 8) & 0xff, - 675 & 0xff} + (691 >> 8) & 0xff, + 691 & 0xff} }, { .description = "tl2_ivt.en", @@ -63599,8 +64437,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4163 >> 8) & 0xff, - 4163 & 0xff, + (4232 >> 8) & 0xff, + 4232 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63620,8 +64458,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4168 >> 8) & 0xff, - 4168 & 0xff, + (4237 >> 8) & 0xff, + 4237 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63629,8 +64467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (676 >> 8) & 0xff, - 676 & 0xff} + (692 >> 8) & 0xff, + 692 & 0xff} }, { .description = "tl3_sip_selcmp.en", @@ -63644,8 +64482,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4176 >> 8) & 0xff, - 4176 & 0xff, + (4245 >> 8) & 0xff, + 4245 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63653,8 +64491,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (677 >> 8) & 0xff, - 677 & 0xff} + (693 >> 8) & 0xff, + 693 & 0xff} }, { .description = "tl3_dip_selcmp.en", @@ -63668,8 +64506,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4184 >> 8) & 0xff, - 4184 & 0xff, + (4253 >> 8) & 0xff, + 4253 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63677,8 +64515,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (678 >> 8) & 0xff, - 678 & 0xff} + (694 >> 8) & 0xff, + 694 & 0xff} }, { .description = "tl3_prot.en", @@ -63686,8 +64524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4192 >> 8) & 0xff, - 4192 & 0xff, + (4261 >> 8) & 0xff, + 4261 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63695,8 +64533,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (679 >> 8) & 0xff, - 679 & 0xff} + (695 >> 8) & 0xff, + 695 & 0xff} }, { .description = "tl3_fid.en", @@ -63710,8 +64548,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4200 >> 8) & 0xff, - 4200 & 0xff, + (4269 >> 8) & 0xff, + 4269 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63719,8 +64557,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (680 >> 8) & 0xff, - 680 & 0xff} + (696 >> 8) & 0xff, + 696 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -63794,8 +64632,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4208 >> 8) & 0xff, - 4208 & 0xff, + (4277 >> 8) & 0xff, + 4277 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63803,8 +64641,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (681 >> 8) & 0xff, - 681 & 0xff} + (697 >> 8) & 0xff, + 697 & 0xff} }, { .description = "tl4_dst.en", @@ -63812,8 +64650,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4216 >> 8) & 0xff, - 4216 & 0xff, + (4285 >> 8) & 0xff, + 4285 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63821,8 +64659,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (682 >> 8) & 0xff, - 682 & 0xff} + (698 >> 8) & 0xff, + 698 & 0xff} }, { .description = "tl4_flags.en", @@ -63878,8 +64716,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4225 >> 8) & 0xff, - 4225 & 0xff, + (4294 >> 8) & 0xff, + 4294 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63887,8 +64725,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (683 >> 8) & 0xff, - 683 & 0xff} + (699 >> 8) & 0xff, + 699 & 0xff} }, { .description = "tid.en", @@ -63932,8 +64770,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4231 >> 8) & 0xff, - 4231 & 0xff, + (4300 >> 8) & 0xff, + 4300 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63941,8 +64779,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (684 >> 8) & 0xff, - 684 & 0xff} + (700 >> 8) & 0xff, + 700 & 0xff} }, { .description = "l2_smac.en", @@ -63950,8 +64788,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4238 >> 8) & 0xff, - 4238 & 0xff, + (4307 >> 8) & 0xff, + 4307 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63959,8 +64797,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (685 >> 8) & 0xff, - 685 & 0xff} + (701 >> 8) & 0xff, + 701 & 0xff} }, { .description = "l2_dt.en", @@ -63998,8 +64836,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4245 >> 8) & 0xff, - 4245 & 0xff, + (4314 >> 8) & 0xff, + 4314 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64007,8 +64845,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (686 >> 8) & 0xff, - 686 & 0xff} + (702 >> 8) & 0xff, + 702 & 0xff} }, { .description = "l2_ovt.en", @@ -64034,8 +64872,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4254 >> 8) & 0xff, - 4254 & 0xff, + (4323 >> 8) & 0xff, + 4323 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64043,8 +64881,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (687 >> 8) & 0xff, - 687 & 0xff} + (703 >> 8) & 0xff, + 703 & 0xff} }, { .description = "l2_ivt.en", @@ -64058,8 +64896,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4272 >> 8) & 0xff, - 4272 & 0xff, + (4341 >> 8) & 0xff, + 4341 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64067,8 +64905,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (690 >> 8) & 0xff, - 690 & 0xff} + (706 >> 8) & 0xff, + 706 & 0xff} }, { .description = "l3_l3type.en", @@ -64082,8 +64920,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4281 >> 8) & 0xff, - 4281 & 0xff, + (4350 >> 8) & 0xff, + 4350 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64091,8 +64929,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (691 >> 8) & 0xff, - 691 & 0xff} + (707 >> 8) & 0xff, + 707 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -64106,8 +64944,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4295 >> 8) & 0xff, - 4295 & 0xff, + (4364 >> 8) & 0xff, + 4364 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64115,8 +64953,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (694 >> 8) & 0xff, - 694 & 0xff} + (710 >> 8) & 0xff, + 710 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -64130,8 +64968,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4309 >> 8) & 0xff, - 4309 & 0xff, + (4378 >> 8) & 0xff, + 4378 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64139,8 +64977,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (697 >> 8) & 0xff, - 697 & 0xff} + (713 >> 8) & 0xff, + 713 & 0xff} }, { .description = "l3_prot.en", @@ -64148,8 +64986,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4323 >> 8) & 0xff, - 4323 & 0xff, + (4392 >> 8) & 0xff, + 4392 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64157,8 +64995,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (700 >> 8) & 0xff, - 700 & 0xff} + (716 >> 8) & 0xff, + 716 & 0xff} }, { .description = "l3_fid.en", @@ -64172,8 +65010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4337 >> 8) & 0xff, - 4337 & 0xff, + (4406 >> 8) & 0xff, + 4406 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64181,8 +65019,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (703 >> 8) & 0xff, - 703 & 0xff} + (719 >> 8) & 0xff, + 719 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -64256,8 +65094,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4351 >> 8) & 0xff, - 4351 & 0xff, + (4420 >> 8) & 0xff, + 4420 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64265,8 +65103,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (706 >> 8) & 0xff, - 706 & 0xff} + (722 >> 8) & 0xff, + 722 & 0xff} }, { .description = "l4_dst.en", @@ -64274,8 +65112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4365 >> 8) & 0xff, - 4365 & 0xff, + (4434 >> 8) & 0xff, + 4434 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64283,8 +65121,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (709 >> 8) & 0xff, - 709 & 0xff} + (725 >> 8) & 0xff, + 725 & 0xff} }, { .description = "l4_flags.en", @@ -64526,9 +65364,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -64786,9 +65622,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -65330,9 +66164,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -65648,9 +66480,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -65758,9 +66588,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -67784,9 +68612,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -67894,9 +68720,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -68008,8 +68832,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4892 >> 8) & 0xff, - 4892 & 0xff, + (4961 >> 8) & 0xff, + 4961 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -68050,8 +68874,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4894 >> 8) & 0xff, - 4894 & 0xff, + (4963 >> 8) & 0xff, + 4963 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -68097,8 +68921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4896 >> 8) & 0xff, - 4896 & 0xff, + (4965 >> 8) & 0xff, + 4965 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -68122,8 +68946,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4898 >> 8) & 0xff, - 4898 & 0xff, + (4967 >> 8) & 0xff, + 4967 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -68313,6 +69137,13 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { .ident_bit_size = 7, .ident_bit_pos = 32 }, + /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, + .ident_bit_size = 10, + .ident_bit_pos = 42 + }, /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ { .description = "l2_cntxt_id", diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_act.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_act.c index 98cb4f30df..7a7e9bf5d3 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_act.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_act.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c index 90224bb063..36b08faa71 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -75,6 +75,16 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = { .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, .num_tbls = 1, .start_tbl_idx = 97, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 50, + .cond_nums = 0 } + }, + /* class_tid: 8, ingress */ + [8] = { + .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, + .num_tbls = 1, + .start_tbl_idx = 98, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, .cond_start_idx = 50, @@ -2277,6 +2287,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 8, , table: control.reject */ + .description = "control.reject", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "Reject: wh+ not supporting hot upgrade template", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 50, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP } }; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup 2025-09-30 0:35 ` [PATCH 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 03/54] net/bnxt: enable vector mode processing Manish Kurup ` (52 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Jay Ding, Kalesh AP From: Jay Ding <jay.ding@broadcom.com> There are some changes made in the 23.11 upstream function rte_eth_dev_release_port(). The library now sets "eth_dev->data = NULL" at the end of the routine. This causes a NULL pointer dereference in the bnxt_rep_link_update_op() and bnxt_vfr_free() routines when it tries to access the parent dev. Signed-off-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/bnxt_reps.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnxt/bnxt_reps.c b/drivers/net/bnxt/bnxt_reps.c index 6f5c3f80eb..20a0ba65a5 100644 --- a/drivers/net/bnxt/bnxt_reps.c +++ b/drivers/net/bnxt/bnxt_reps.c @@ -299,10 +299,10 @@ int bnxt_rep_link_update_op(struct rte_eth_dev *eth_dev, int wait_to_compl) struct rte_eth_link *link; int rc; - parent_bp = rep->parent_dev->data->dev_private; - if (!parent_bp) + if (!bnxt_rep_check_parent(rep)) return 0; + parent_bp = rep->parent_dev->data->dev_private; rc = bnxt_link_update_op(parent_bp->eth_dev, wait_to_compl); /* Link state. Inherited from PF or trusted VF */ @@ -542,7 +542,7 @@ static int bnxt_vfr_free(struct bnxt_representor *vfr) if (!bnxt_rep_check_parent(vfr)) { PMD_DRV_LOG_LINE(DEBUG, "BNXT Port:%d VFR already freed", - vfr->dpdk_port_id); + vfr->dpdk_port_id); return 0; } parent_bp = vfr->parent_dev->data->dev_private; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 03/54] net/bnxt: enable vector mode processing 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup 2025-09-30 0:35 ` [PATCH 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup 2025-09-30 0:35 ` [PATCH 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 Manish Kurup ` (51 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> When representors are not enabled, then truflow could be run in vector mode processing to achieve higher throughput. Added logic to check representors to enable or disable vector mode. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/bnxt.h | 7 +++ drivers/net/bnxt/bnxt_ethdev.c | 88 +++++++++++++++++++++++++++++++++- 2 files changed, 93 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index c9fdd36d3e..72ac66b0db 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -852,6 +852,13 @@ struct bnxt { ((bp)->flags2 & BNXT_FLAGS2_MULTIROOT_EN) #define BNXT_FLAGS2_COMPRESSED_RX_CQE BIT(5) +#define BNXT_FLAGS2_USE_MPC BIT(6) +#define BNXT_USE_MPC(bp) \ + ((bp)->flags2 & BNXT_FLAGS2_USE_MPC) +#define BNXT_FLAGS2_REP_MODE BIT(7) +#define BNXT_REP_MODE_EN(bp) \ + ((bp)->flags2 & BNXT_FLAGS2_REP_MODE) + uint32_t fw_cap; #define BNXT_FW_CAP_HOT_RESET BIT(0) #define BNXT_FW_CAP_IF_CHANGE BIT(1) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index cb0d99b9ee..0836be3b1e 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -107,6 +107,8 @@ static const struct rte_pci_id bnxt_pci_id_map[] = { #define BNXT_DEVARG_IEEE_1588 "ieee-1588" #define BNXT_DEVARG_CQE_MODE "cqe-mode" #define BNXT_DEVARG_MPC "mpc" +#define BNXT_DEVARG_SCALAR_MODE "scalar-mode" +#define BNXT_DEVARD_APP_INST_ID "app-instance-id" static const char *const bnxt_dev_args[] = { BNXT_DEVARG_REPRESENTOR, @@ -122,6 +124,8 @@ static const char *const bnxt_dev_args[] = { BNXT_DEVARG_IEEE_1588, BNXT_DEVARG_CQE_MODE, BNXT_DEVARG_MPC, + BNXT_DEVARG_SCALAR_MODE, + BNXT_DEVARD_APP_INST_ID, NULL }; @@ -1447,7 +1451,7 @@ bnxt_receive_function(struct rte_eth_dev *eth_dev) * asynchronous completions and receive completions can be placed in * the same completion ring. */ - if ((BNXT_TRUFLOW_EN(bp) && !BNXT_CHIP_P7(bp)) || + if ((BNXT_TRUFLOW_EN(bp) && BNXT_REP_MODE_EN(bp)) || !BNXT_NUM_ASYNC_CPR(bp)) goto use_scalar_rx; @@ -1523,7 +1527,7 @@ bnxt_transmit_function(__rte_unused struct rte_eth_dev *eth_dev) */ if (eth_dev->data->scattered_rx || (offloads & ~RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) || - (BNXT_TRUFLOW_EN(bp) && !BNXT_CHIP_P7(bp)) || + (BNXT_TRUFLOW_EN(bp) && BNXT_REP_MODE_EN(bp)) || bp->ieee_1588) goto use_scalar_tx; @@ -6385,6 +6389,64 @@ bnxt_parse_devarg_rep_fc_f2r(__rte_unused const char *key, return 0; } +static int +bnxt_parse_devarg_representor_mode(__rte_unused const char *key, + const char *value, void *opaque_arg) +{ + struct bnxt *bp = opaque_arg; + unsigned long rep; + char *end = NULL; + + if (!value || !opaque_arg) { + PMD_DRV_LOG_LINE(ERR, + "Invalid param passed to rep mode in devargs"); + return -EINVAL; + } + + rep = strtoul(value, &end, 10); + if (end == NULL || *end != '\0' || + (rep == ULONG_MAX && errno == ERANGE)) { + PMD_DRV_LOG_LINE(ERR, + "Invalid param passed to rep mode in devargs"); + return -EINVAL; + } + + if (rep > 0) + bp->flags2 |= BNXT_FLAGS2_REP_MODE; + PMD_DRV_LOG_LINE(INFO, "representor feature enabled"); + + return 0; +} + +static int +bnxt_parse_devarg_scalar_mode(__rte_unused const char *key, + const char *value, void *opaque_arg) +{ + struct bnxt *bp = opaque_arg; + unsigned long rep; + char *end = NULL; + + if (!value || !opaque_arg) { + PMD_DRV_LOG_LINE(ERR, + "Invalid param passed to scalar mode in devargs"); + return -EINVAL; + } + + rep = strtoul(value, &end, 10); + if (end == NULL || *end != '\0' || + (rep == ULONG_MAX && errno == ERANGE)) { + PMD_DRV_LOG_LINE(ERR, + "Invalid param passed to scalar mode in devargs"); + return -EINVAL; + } + + if (rep > 0) + bp->flags2 |= BNXT_FLAGS2_REP_MODE; + PMD_DRV_LOG_LINE(INFO, "Scalar mode enabled"); + + return 0; +} + static int bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs) { @@ -6445,6 +6507,28 @@ bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs) rte_kvargs_process(kvlist, BNXT_DEVARG_CQE_MODE, bnxt_parse_devarg_cqe_mode, bp); + /* + * Handler for "representor" devarg. + * Invoked as for ex: "-a 000:00:0d.0,representor=1" + */ + rte_kvargs_process(kvlist, BNXT_DEVARG_REPRESENTOR, + bnxt_parse_devarg_representor_mode, bp); + + /* + * Handler for "scalar-mode" devarg. + * Invoked as for ex: "-a 000:00:0d.0,scalar-mode=1" + */ + rte_kvargs_process(kvlist, BNXT_DEVARG_SCALAR_MODE, + bnxt_parse_devarg_scalar_mode, bp); + + /* + * Handler for "app-instance-id" devarg. + * Invoked as for ex: "-a 000:00:0d.0,app-instance-id=1" + * This argument is required for enabling truflow hot upgrade feature. + */ + rte_kvargs_process(kvlist, BNXT_DEVARD_APP_INST_ID, + bnxt_parse_devarg_app_instance_id, bp); + rte_kvargs_free(kvlist); return ret; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (2 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 03/54] net/bnxt: enable vector mode processing Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 Manish Kurup ` (50 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Jay Ding, Michael Baucom From: Jay Ding <jay.ding@broadcom.com> A CFA stats counter is created with each meter by default but is only activated when the meter is attached to a non-tunnel flow because the tunnel flow may use the stats pointer for other purpose. Only the green and red/drop packet/byte stats are supported. Signed-off-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Michael Baucom <michael.baucom@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 45 ++++++++++++----- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 46 +++++++++++++++++ drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h | 11 +++++ drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c | 3 +- drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c | 63 ++++++++++++++++++++---- drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 6 +++ drivers/net/bnxt/tf_ulp/ulp_mapper.c | 9 ---- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 24 +++++++++ drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 5 +- drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 54 +++++++++++++++++++- 10 files changed, 234 insertions(+), 32 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c index 591bde96e8..bc48e35c00 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c @@ -42,7 +42,6 @@ * Meter init status */ int bnxt_mtr_initialized; - int32_t bnxt_flow_mtr_init(struct bnxt *bp __rte_unused) { @@ -542,6 +541,7 @@ bnxt_flow_mtr_destroy(struct rte_eth_dev *dev, uint16_t func_id; int ret; uint32_t tmp_mtr_id; + const struct ulp_mapper_core_ops *oper; if (!bnxt_mtr_initialized) return -rte_mtr_error_set(error, ENOTSUP, @@ -750,17 +750,40 @@ bnxt_flow_mtr_stats_update(struct rte_eth_dev *dev __rte_unused, * Read meter statistics. */ static int -bnxt_flow_mtr_stats_read(struct rte_eth_dev *dev __rte_unused, - uint32_t mtr_id __rte_unused, - struct rte_mtr_stats *stats __rte_unused, - uint64_t *stats_mask __rte_unused, - int clear __rte_unused, - struct rte_mtr_error *error) +bnxt_flow_mtr_stats_read(struct rte_eth_dev *dev, + uint32_t mtr_id, + struct rte_mtr_stats *stats, + uint64_t *stats_mask, + int clear, + struct rte_mtr_error *error) { - return -rte_mtr_error_set(error, ENOTSUP, - RTE_MTR_ERROR_TYPE_UNSPECIFIED, - NULL, - "Meter_stats_read not supported yet"); + int rc = 0; + struct bnxt_ulp_context *ulp_ctx; + + ulp_ctx = bnxt_ulp_eth_dev_ptr2_cntxt_get(dev); + if (unlikely(!ulp_ctx)) { + BNXT_DRV_DBG(ERR, "ULP context is not initialized\n"); + goto error; + } + + memset(stats, 0, sizeof(*stats)); + rc = ulp_mtr_query_count_get(ulp_ctx, mtr_id, clear, stats); + if (unlikely(rc)) + goto error; + + *stats_mask = 0; + *stats_mask |= RTE_MTR_STATS_N_PKTS_GREEN; + *stats_mask |= RTE_MTR_STATS_N_PKTS_RED; + *stats_mask |= RTE_MTR_STATS_N_PKTS_DROPPED; + *stats_mask |= RTE_MTR_STATS_N_BYTES_GREEN; + *stats_mask |= RTE_MTR_STATS_N_BYTES_RED; + *stats_mask |= RTE_MTR_STATS_N_BYTES_DROPPED; + + return rc; +error: + return -rte_mtr_error_set(error, EINVAL, + RTE_MTR_ERROR_TYPE_STATS, NULL, + "Failed to query meter."); } static const struct rte_mtr_ops bnxt_flow_mtr_ops = { diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c index f9d069f4e1..4be2703740 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c @@ -627,6 +627,52 @@ int ulp_fc_mgr_query_count_get(struct bnxt_ulp_context *ctxt, return rc; } +/* + * Fill the rte_mtr_stats 'mtr_count' argument passed + * in the rte_mtr_stats_read() with the values obtained + * through CFA table get. + * + * ctxt [in] The ulp context for the flow counter manager + * + * mtr_id [in] The SW meter ID + * + * count [out] The rte_mtr_stats 'mtr_count' that is set + * + */ +int ulp_mtr_query_count_get(struct bnxt_ulp_context *ctxt, + uint32_t mtr_id, + int clear, + struct rte_mtr_stats *mtr_count) +{ + int rc = 0; + struct bnxt_ulp_fc_info *ulp_fc_info; + const struct bnxt_ulp_fc_core_ops *fc_ops; + struct ulp_flow_db_res_params params; + uint32_t session_type = 0; + uint8_t dir = 0; + const struct ulp_mapper_core_ops *oper; + + ulp_fc_info = bnxt_ulp_cntxt_ptr2_fc_info_get(ctxt); + if (!ulp_fc_info) + return -ENODEV; + + oper = ulp_mapper_data_oper_get(ctxt); + if (!oper) + return -ENODEV; + rc = oper->ulp_mapper_mtr_stats_hndl_get(mtr_id, ¶ms.resource_hndl); + if (rc) + return rc; + + fc_ops = ulp_fc_info->fc_ops; + if (!fc_ops || !fc_ops->ulp_mtr_stat_get) + return -ENODEV; + + rc = fc_ops->ulp_mtr_stat_get(ctxt, dir, session_type, + params.resource_hndl, clear, mtr_count); + + return rc; +} + /* * Set the parent flow if it is SW accumulation counter entry. * diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h index 0b81be7af9..d80d2e4e9d 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h @@ -36,6 +36,13 @@ struct bnxt_ulp_fc_core_ops { (*ulp_flow_stats_accum_update)(struct bnxt_ulp_context *ctxt, struct bnxt_ulp_fc_info *ulp_fc_info, struct bnxt_ulp_device_params *dparms); + int32_t + (*ulp_mtr_stat_get)(struct bnxt_ulp_context *ctxt, + uint8_t direction, + uint32_t session_type, + uint64_t handle, + int32_t clear, + struct rte_mtr_stats *mtr_count); }; struct sw_acc_counter { @@ -186,6 +193,10 @@ bool ulp_fc_mgr_thread_isstarted(struct bnxt_ulp_context *ctxt); int ulp_fc_mgr_query_count_get(struct bnxt_ulp_context *ulp_ctx, uint32_t flow_id, struct rte_flow_query_count *count); +int ulp_mtr_query_count_get(struct bnxt_ulp_context *ulp_ctx, + uint32_t mtr_id, + int clear, + struct rte_mtr_stats *count); /* * Set the parent flow if in the SW accumulator table entry diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c index 60a7073514..65737f0cde 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c @@ -255,5 +255,6 @@ ulp_fc_tf_flow_stat_get(struct bnxt_ulp_context *ctxt, const struct bnxt_ulp_fc_core_ops ulp_fc_tf_core_ops = { .ulp_flow_stat_get = ulp_fc_tf_flow_stat_get, - .ulp_flow_stats_accum_update = ulp_fc_tf_update_accum_stats + .ulp_flow_stats_accum_update = ulp_fc_tf_update_accum_stats, + .ulp_mtr_stat_get = NULL, }; diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c index 4a1d0bf3df..d1b374e603 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c @@ -26,6 +26,8 @@ */ #define ULP_FC_TFC_PKT_CNT_OFFS 0 #define ULP_FC_TFC_BYTE_CNT_OFFS 1 +#define ULP_FC_TFC_PKT_MTR_DROP_CNT_OFFS 2 +#define ULP_FC_TFC_BYTE_MTR_DROP_CNT_OFFS 3 #define ULP_TFC_CNTR_READ_BYTES 32 #define ULP_TFC_CNTR_ALIGN 32 #define ULP_TFC_ACT_WORD_SZ 32 @@ -56,11 +58,12 @@ static uint8_t *data; static uint64_t virt2iova_data; static int32_t -ulp_fc_tfc_flow_stat_get(struct bnxt_ulp_context *ctxt, - uint8_t direction, - uint32_t session_type __rte_unused, - uint64_t handle, - struct rte_flow_query_count *count) +ulp_fc_tfc_stat_get(struct bnxt_ulp_context *ctxt, + uint8_t direction, + uint32_t session_type __rte_unused, + uint64_t handle, + struct rte_flow_query_count *count, + struct rte_mtr_stats *mtr_drop_count) { uint16_t data_size = ULP_TFC_CNTR_READ_BYTES; struct tfc_cmm_clr cmm_clr = { 0 }; @@ -102,11 +105,15 @@ ulp_fc_tfc_flow_stat_get(struct bnxt_ulp_context *ctxt, cmm_info.act_handle = handle; cmm_info.dir = (enum cfa_dir)direction; /* Read and Clear the hw stat if requested */ - if (count->reset) { + if (count && count->reset) { cmm_clr.clr = true; cmm_clr.offset_in_byte = 0; cmm_clr.sz_in_byte = sizeof(data64[ULP_FC_TFC_PKT_CNT_OFFS]) + sizeof(data64[ULP_FC_TFC_BYTE_CNT_OFFS]); + if (mtr_drop_count) { + cmm_clr.sz_in_byte += sizeof(data64[ULP_FC_TFC_PKT_MTR_DROP_CNT_OFFS]); + cmm_clr.sz_in_byte += sizeof(data64[ULP_FC_TFC_BYTE_MTR_DROP_CNT_OFFS]); + } } rc = tfc_act_get(tfcp, NULL, &cmm_info, &cmm_clr, &virt2iova_data, &word_size); if (rc) { @@ -115,19 +122,57 @@ ulp_fc_tfc_flow_stat_get(struct bnxt_ulp_context *ctxt, handle); return rc; } - if (data64[ULP_FC_TFC_PKT_CNT_OFFS]) { + if (count && data64[ULP_FC_TFC_PKT_CNT_OFFS]) { count->hits_set = 1; count->hits = data64[ULP_FC_TFC_PKT_CNT_OFFS]; } - if (data64[ULP_FC_TFC_BYTE_CNT_OFFS]) { + if (count && data64[ULP_FC_TFC_BYTE_CNT_OFFS]) { count->bytes_set = 1; count->bytes = data64[ULP_FC_TFC_BYTE_CNT_OFFS]; } + if (mtr_drop_count) { + mtr_drop_count->n_pkts[RTE_COLOR_GREEN] = data64[ULP_FC_TFC_PKT_CNT_OFFS]; + mtr_drop_count->n_bytes[RTE_COLOR_GREEN] = data64[ULP_FC_TFC_BYTE_CNT_OFFS]; + mtr_drop_count->n_pkts_dropped = data64[ULP_FC_TFC_PKT_MTR_DROP_CNT_OFFS]; + mtr_drop_count->n_pkts[RTE_COLOR_RED] = data64[ULP_FC_TFC_PKT_MTR_DROP_CNT_OFFS]; + mtr_drop_count->n_bytes_dropped = data64[ULP_FC_TFC_BYTE_MTR_DROP_CNT_OFFS]; + mtr_drop_count->n_bytes[RTE_COLOR_RED] = data64[ULP_FC_TFC_BYTE_MTR_DROP_CNT_OFFS]; + } + return rc; } +static int32_t +ulp_fc_tfc_flow_stat_get(struct bnxt_ulp_context *ctxt, + uint8_t direction, + uint32_t session_type, + uint64_t handle, + struct rte_flow_query_count *count) +{ + return ulp_fc_tfc_stat_get(ctxt, direction, session_type, handle, count, NULL); +} + +static int32_t +ulp_fc_tfc_mtr_stat_get(struct bnxt_ulp_context *ctxt, + uint8_t direction, + uint32_t session_type, + uint64_t handle, + int32_t clear, + struct rte_mtr_stats *mtr_count) +{ + struct rte_flow_query_count count; + + if (clear) + count.reset = 1; + else + count.reset = 0; + + return ulp_fc_tfc_stat_get(ctxt, direction, session_type, handle, &count, mtr_count); +} + const struct bnxt_ulp_fc_core_ops ulp_fc_tfc_core_ops = { .ulp_flow_stat_get = ulp_fc_tfc_flow_stat_get, - .ulp_flow_stats_accum_update = ulp_fc_tfc_update_accum_stats + .ulp_flow_stats_accum_update = ulp_fc_tfc_update_accum_stats, + .ulp_mtr_stat_get = ulp_fc_tfc_mtr_stat_get }; diff --git a/drivers/net/bnxt/tf_ulp/ulp_flow_db.h b/drivers/net/bnxt/tf_ulp/ulp_flow_db.h index 4301094cfe..f0a677b64b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_flow_db.h +++ b/drivers/net/bnxt/tf_ulp/ulp_flow_db.h @@ -91,6 +91,12 @@ struct ulp_flow_db_res_params { uint64_t resource_hndl; }; +struct bnxt_mtr_stats_id_map { + bool valid; + uint32_t mtr_id; + uint64_t stats_hndl; +}; + /* * Initialize the flow database. Memory is allocated in this * call and assigned to the flow database. diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index c06d849883..4829ae41d1 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -71,15 +71,6 @@ bnxt_ulp_mapper_ops_get(struct bnxt *bp) return func_ops; } -static const struct ulp_mapper_core_ops * -ulp_mapper_data_oper_get(struct bnxt_ulp_context *ulp_ctx) -{ - struct bnxt_ulp_mapper_data *m_data; - - m_data = (struct bnxt_ulp_mapper_data *)ulp_ctx->cfg_data->mapper_data; - return m_data->mapper_oper; -} - static const char * ulp_mapper_tmpl_name_str(enum bnxt_ulp_template_type tmpl_type) { diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h index d1dec6c2bd..f9a407cd84 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h @@ -170,8 +170,26 @@ struct ulp_mapper_core_ops { int (*ulp_mapper_mpc_batch_end)(struct tfc *tfcp, struct tfc_mpc_batch_info_t *batch_info); + + int32_t + (*ulp_mapper_mtr_stats_hndl_set)(struct bnxt_ulp_mapper_parms *parms, + uint32_t mtr_id, + uint64_t stats_hndl); + int32_t + (*ulp_mapper_mtr_stats_hndl_get)(uint32_t mtr_id, uint64_t *stats_hndl); + + int + (*ulp_mapper_mtr_stats_hndl_del)(uint32_t mtr_id); }; +static inline const struct ulp_mapper_core_ops * +ulp_mapper_data_oper_get(struct bnxt_ulp_context *ulp_ctx) { + struct bnxt_ulp_mapper_data *m_data; + + m_data = (struct bnxt_ulp_mapper_data *)ulp_ctx->cfg_data->mapper_data; + return m_data->mapper_oper; +} + extern const struct ulp_mapper_core_ops ulp_mapper_tf_core_ops; extern const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops; @@ -302,6 +320,12 @@ ulp_mapper_init(struct bnxt_ulp_context *ulp_ctx); void ulp_mapper_deinit(struct bnxt_ulp_context *ulp_ctx); +int +ulp_mapper_get_mtr_stats_hndl(uint32_t mtr_id, uint64_t *stats_ptr); + +int +ulp_mapper_del_mtr_stats_hndl(uint32_t mtr_id); + #ifdef TF_FLOW_SCALE_QUERY int32_t ulp_resc_usage_sync(struct bnxt_ulp_context *ulp_ctx); diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c index 53497c164a..e755591716 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c @@ -1385,5 +1385,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tf_core_ops = { .ulp_mapper_core_handle_to_offset = ulp_mapper_tf_handle_to_offset, .ulp_mapper_mpc_batch_started = ulp_mapper_tf_mpc_batch_started, .ulp_mapper_mpc_batch_start = ulp_mapper_tf_mpc_batch_start, - .ulp_mapper_mpc_batch_end = ulp_mapper_tf_mpc_batch_end + .ulp_mapper_mpc_batch_end = ulp_mapper_tf_mpc_batch_end, + .ulp_mapper_mtr_stats_hndl_set = NULL, + .ulp_mapper_mtr_stats_hndl_get = NULL, + .ulp_mapper_mtr_stats_hndl_del = NULL }; diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index cbe9aa01c9..388ebea7ee 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -1759,6 +1759,55 @@ ulp_mapper_tfc_mpc_batch_start(struct tfc_mpc_batch_info_t *batch_info) return tfc_mpc_batch_start(batch_info); } +static int32_t +ulp_mapper_tfc_mtr_stats_hndl_set(struct bnxt_ulp_mapper_parms *parms __rte_unused, + uint32_t mtr_id, uint64_t stats_hndl) +{ + int32_t i, rc = -ENOMEM; + + for (i = 0; i < BNXT_METER_MAX_NUM; i++) + if (!mtr_stats[i].valid) { + mtr_stats[i].mtr_id = mtr_id; + mtr_stats[i].stats_hndl = stats_hndl; + mtr_stats[i].valid = true; + rc = 0; + break; + } + + return rc; +} + +static int32_t +ulp_mapper_tfc_mtr_stats_hndl_get(uint32_t mtr_id, uint64_t *stats_hndl) +{ + int32_t i, rc = -EINVAL; + + for (i = 0; i < BNXT_METER_MAX_NUM; i++) { + if (mtr_stats[i].valid && mtr_stats[i].mtr_id == mtr_id) { + *stats_hndl = mtr_stats[i].stats_hndl; + rc = 0; + break; + } + } + + return rc; +} + +static int32_t +ulp_mapper_tfc_mtr_stats_hndl_del(uint32_t mtr_id) +{ + int32_t i, rc = -EINVAL; + + for (i = 0; i < BNXT_METER_MAX_NUM; i++) + if (mtr_stats[i].valid && mtr_stats[i].mtr_id == mtr_id) { + mtr_stats[i].valid = false; + rc = 0; + break; + } + + return rc; +} + const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops = { .ulp_mapper_core_tcam_tbl_process = ulp_mapper_tfc_tcam_tbl_process, .ulp_mapper_core_tcam_entry_free = ulp_mapper_tfc_tcam_entry_free, @@ -1779,5 +1828,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops = { .ulp_mapper_core_handle_to_offset = ulp_mapper_tfc_handle_to_offset, .ulp_mapper_mpc_batch_start = ulp_mapper_tfc_mpc_batch_start, .ulp_mapper_mpc_batch_started = ulp_mapper_tfc_mpc_batch_started, - .ulp_mapper_mpc_batch_end = ulp_mapper_tfc_mpc_batch_end + .ulp_mapper_mpc_batch_end = ulp_mapper_tfc_mpc_batch_end, + .ulp_mapper_mtr_stats_hndl_set = ulp_mapper_tfc_mtr_stats_hndl_set, + .ulp_mapper_mtr_stats_hndl_get = ulp_mapper_tfc_mtr_stats_hndl_get, + .ulp_mapper_mtr_stats_hndl_del = ulp_mapper_tfc_mtr_stats_hndl_del }; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (3 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool Manish Kurup ` (49 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Jay Ding Changes to support Dynamic UPAR APIs on THOR2. 1. TF core changes 2. ULP Mapper changes 3. RTE parser changes 4. Add 128B encap table type string Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Jay Ding <jay.ding@broadcom.com> --- .../bnxt/hcapi/cfa_v3/include/cfa_resources.h | 25 +++- drivers/net/bnxt/tf_core/tf_util.c | 2 + drivers/net/bnxt/tf_core/v3/tfc.h | 1 + drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c | 51 +++++--- drivers/net/bnxt/tf_core/v3/tfc_msg.c | 121 +++++++++++++++++- drivers/net/bnxt/tf_core/v3/tfc_msg.h | 13 +- drivers/net/bnxt/tf_core/v3/tfc_util.c | 2 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 29 +++++ 8 files changed, 213 insertions(+), 31 deletions(-) diff --git a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h index 7408859a53..d1d62738d3 100644 --- a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h +++ b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h @@ -94,7 +94,18 @@ enum cfa_resource_subtype_idx_tbl { CFA_RSUBTYPE_IDX_TBL_EM_FKB, /**< EM FKB table */ CFA_RSUBTYPE_IDX_TBL_WC_FKB, /**< WC TCAM FKB table */ CFA_RSUBTYPE_IDX_TBL_EM_FKB_MASK, /**< EM FKB Mask table */ - CFA_RSUBTYPE_IDX_TBL_MAX + CFA_RSUBTYPE_IDX_TBL_MAX, + /* + * Resource subtypes that come after this point are handled "specially" + * by code in the TFC core and firmware layers. This #define loses + * significance after the Mapper TFC layer. + */ + CFA_RSUBTYPE_IDX_TBL_DYN_UPAR, /**< Dynamic UPAR table */ + /* + * MAX value for custom index tables, i.e. tables that are handled + * specially by firmware or layers below mapper. + */ + CFA_RSUBTYPE_CUSTOM_IDX_TBL_MAX }; /** @@ -132,6 +143,18 @@ enum cfa_resource_subtype_if_tbl { CFA_RSUBTYPE_IF_TBL_MAX }; +/** + * Resource sub-types for CFA_BLKTYPE_IDX_TBL + */ +enum cfa_resource_blktype_idx_tbl { + CFA_IDX_TBL_BLKTYPE_CFA = 0, + CFA_IDX_TBL_BLKTYPE_RXP, + CFA_IDX_TBL_BLKTYPE_RE_GPARSE, + CFA_IDX_TBL_BLKTYPE_TE_GPARSE, + CFA_IDX_TBL_BLKTYPE_LAST = CFA_IDX_TBL_BLKTYPE_TE_GPARSE, + CFA_IDX_TBL_BLKTYPE_MAX +}; + /** * Resource sub-types for CFA_RTYPE_CMM */ diff --git a/drivers/net/bnxt/tf_core/tf_util.c b/drivers/net/bnxt/tf_core/tf_util.c index 8ce8238b4a..16aea7204c 100644 --- a/drivers/net/bnxt/tf_core/tf_util.c +++ b/drivers/net/bnxt/tf_core/tf_util.c @@ -85,6 +85,8 @@ tf_tbl_type_2_str(enum tf_tbl_type tbl_type) return "Encap 32B"; case TF_TBL_TYPE_ACT_ENCAP_64B: return "Encap 64B"; + case TF_TBL_TYPE_ACT_ENCAP_128B: + return "Encap 128B"; case TF_TBL_TYPE_ACT_SP_SMAC: return "Source Properties SMAC"; case TF_TBL_TYPE_ACT_SP_SMAC_IPV4: diff --git a/drivers/net/bnxt/tf_core/v3/tfc.h b/drivers/net/bnxt/tf_core/v3/tfc.h index 4176aa01bd..1c7eb51c8c 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc.h +++ b/drivers/net/bnxt/tf_core/v3/tfc.h @@ -372,6 +372,7 @@ struct tfc_idx_tbl_info { enum cfa_resource_subtype_idx_tbl rsubtype; /**< resource subtype */ enum cfa_dir dir; /**< direction rx/tx */ uint16_t id; /**< alloc/free index */ + enum cfa_resource_blktype_idx_tbl blktype; /**< block type */ }; /** diff --git a/drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c b/drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c index c8d64c5418..3311b9df65 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c @@ -15,6 +15,9 @@ #include "tfc_msg.h" #include "tfc_util.h" +#define BLKTYPE_IS_CFA(blktype) \ + (CFA_IDX_TBL_BLKTYPE_CFA == (blktype)) + int tfc_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, enum cfa_track_type tt, struct tfc_idx_tbl_info *tbl_info) @@ -48,9 +51,10 @@ int tfc_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, return -EINVAL; } - if (tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { - PMD_DRV_LOG_LINE(ERR, "Invalid idx tbl subtype: %d", - tbl_info->rsubtype); + if (BLKTYPE_IS_CFA(tbl_info->blktype) && + tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid idx tbl subtype: %d", + __func__, tbl_info->rsubtype); return -EINVAL; } @@ -68,7 +72,8 @@ int tfc_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, } rc = tfc_msg_idx_tbl_alloc(tfcp, fid, sid, tt, tbl_info->dir, - tbl_info->rsubtype, &tbl_info->id); + tbl_info->rsubtype, &tbl_info->id, + tbl_info->blktype); if (rc) PMD_DRV_LOG_LINE(ERR, "hwrm failed: %s:%s %s", tfc_dir_2_str(tbl_info->dir), @@ -118,9 +123,10 @@ int tfc_idx_tbl_alloc_set(struct tfc *tfcp, uint16_t fid, return -EINVAL; } - if (tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { - PMD_DRV_LOG_LINE(ERR, "Invalid idx tbl subtype: %d", - tbl_info->rsubtype); + if (BLKTYPE_IS_CFA(tbl_info->blktype) && + tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid idx tbl subtype: %d", + __func__, tbl_info->rsubtype); return -EINVAL; } @@ -143,7 +149,8 @@ int tfc_idx_tbl_alloc_set(struct tfc *tfcp, uint16_t fid, rc = tfc_msg_idx_tbl_alloc_set(tfcp, fid, sid, tt, tbl_info->dir, tbl_info->rsubtype, data, - data_sz_in_bytes, &tbl_info->id); + data_sz_in_bytes, &tbl_info->id, + tbl_info->blktype); if (rc) PMD_DRV_LOG_LINE(ERR, "hwrm failed: %s:%s %s", tfc_dir_2_str(tbl_info->dir), @@ -181,8 +188,9 @@ int tfc_idx_tbl_set(struct tfc *tfcp, uint16_t fid, return -EINVAL; } - if (tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { - PMD_DRV_LOG_LINE(ERR, "Invalid idx tbl subtype: %d", + if (BLKTYPE_IS_CFA(tbl_info->blktype) && + tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid idx tbl subtype: %d", __func__, tbl_info->rsubtype); return -EINVAL; } @@ -202,7 +210,8 @@ int tfc_idx_tbl_set(struct tfc *tfcp, uint16_t fid, rc = tfc_msg_idx_tbl_set(tfcp, fid, sid, tbl_info->dir, tbl_info->rsubtype, tbl_info->id, - data, data_sz_in_bytes); + data, data_sz_in_bytes, + tbl_info->blktype); if (rc) PMD_DRV_LOG_LINE(ERR, "hwrm failed: %s:%s %d %s", tfc_dir_2_str(tbl_info->dir), @@ -240,9 +249,10 @@ int tfc_idx_tbl_get(struct tfc *tfcp, uint16_t fid, return -EINVAL; } - if (tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { - PMD_DRV_LOG_LINE(ERR, "Invalid idx tbl subtype: %d", - tbl_info->rsubtype); + if (BLKTYPE_IS_CFA(tbl_info->blktype) && + tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid idx tbl subtype: %d", + __func__, tbl_info->rsubtype); return -EINVAL; } @@ -261,7 +271,8 @@ int tfc_idx_tbl_get(struct tfc *tfcp, uint16_t fid, rc = tfc_msg_idx_tbl_get(tfcp, fid, sid, tbl_info->dir, tbl_info->rsubtype, tbl_info->id, - data, data_sz_in_bytes); + data, data_sz_in_bytes, + tbl_info->blktype); if (rc) PMD_DRV_LOG_LINE(ERR, "hwrm failed: %s:%s %d %s", tfc_dir_2_str(tbl_info->dir), @@ -297,9 +308,10 @@ int tfc_idx_tbl_free(struct tfc *tfcp, uint16_t fid, return -EINVAL; } - if (tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { - PMD_DRV_LOG_LINE(ERR, "Invalid idx tbl subtype: %d", - tbl_info->rsubtype); + if (BLKTYPE_IS_CFA(tbl_info->blktype) && + tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid idx tbl subtype: %d", + __func__, tbl_info->rsubtype); return -EINVAL; } @@ -317,7 +329,8 @@ int tfc_idx_tbl_free(struct tfc *tfcp, uint16_t fid, } rc = tfc_msg_idx_tbl_free(tfcp, fid, sid, tbl_info->dir, - tbl_info->rsubtype, tbl_info->id); + tbl_info->rsubtype, tbl_info->id, + tbl_info->blktype); if (rc) PMD_DRV_LOG_LINE(ERR, "hwrm failed: %s:%s %d %s", tfc_dir_2_str(tbl_info->dir), diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_msg.c index ef64707233..2ad0b386fa 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.c @@ -61,6 +61,79 @@ static int tfc_msg_set_fid(struct bnxt *bp, uint16_t req_fid, uint16_t *msg_fid) return 0; } +/* + * Lookup table to map TFC local blocktype values to HWRM equivalents. Does + * this on a per HWRM command basis. + */ +enum tfc_hwrm_idx_tbl_cmds { + IDX_TBL_ALLOC, + IDX_TBL_ALLOC_SET, + IDX_TBL_SET, + IDX_TBL_GET, + IDX_TBL_FREE, + IDX_TBL_LAST = IDX_TBL_FREE, + IDX_TBL_MAX +}; + +#define CMD_TO_HWRM_BLKT(tfc_cmd, blktype) \ + HWRM_TFC_##tfc_cmd##_INPUT_BLKTYPE_BLKTYPE_##blktype + +uint8_t cfa_res_to_hwrm_blkt_lkup_tbl[IDX_TBL_MAX][CFA_IDX_TBL_BLKTYPE_MAX] = { + [IDX_TBL_ALLOC] = { + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC, CFA), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC, RXP), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC, RE_GPARSE), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC, TE_GPARSE), + }, + [IDX_TBL_ALLOC_SET] = { + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC_SET, CFA), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC_SET, RXP), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC_SET, RE_GPARSE), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC_SET, TE_GPARSE), + }, + [IDX_TBL_SET] = { + CMD_TO_HWRM_BLKT(IDX_TBL_SET, CFA), + CMD_TO_HWRM_BLKT(IDX_TBL_SET, RXP), + CMD_TO_HWRM_BLKT(IDX_TBL_SET, RE_GPARSE), + CMD_TO_HWRM_BLKT(IDX_TBL_SET, TE_GPARSE), + }, + [IDX_TBL_GET] = { + CMD_TO_HWRM_BLKT(IDX_TBL_GET, CFA), + CMD_TO_HWRM_BLKT(IDX_TBL_GET, RXP), + CMD_TO_HWRM_BLKT(IDX_TBL_GET, RE_GPARSE), + CMD_TO_HWRM_BLKT(IDX_TBL_GET, TE_GPARSE), + }, + [IDX_TBL_FREE] = { + CMD_TO_HWRM_BLKT(IDX_TBL_FREE, CFA), + CMD_TO_HWRM_BLKT(IDX_TBL_FREE, RXP), + CMD_TO_HWRM_BLKT(IDX_TBL_FREE, RE_GPARSE), + CMD_TO_HWRM_BLKT(IDX_TBL_FREE, TE_GPARSE), + }, +}; + +/* + * Maps TFC local blocktype values to HWRM equivalents. This function is + * required as each HWRM idx_tbl msg (alloc, alloc_set, get_set, free) has + * their own #defines, even though the values are the same across messages. + * Using this macro maps the appropriate TFC block type correctly to its HWRM + * msg relative equivalent. Returns an ERROR value if either idxtbl cmd OR + * blocktype is invalid. + */ +#define HWRM_BLKTYPE_ERR 0xff +static uint8_t +cfa_res_to_hwrm_blkt_lkup(enum cfa_resource_blktype_idx_tbl blktype, + enum tfc_hwrm_idx_tbl_cmds idxtbl_cmd) +{ + if ((idxtbl_cmd) > IDX_TBL_LAST || + (blktype) > CFA_IDX_TBL_BLKTYPE_LAST) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, (blktype)); + return -EINVAL; + } + + return cfa_res_to_hwrm_blkt_lkup_tbl[idxtbl_cmd][blktype]; +} + /** * Allocates a DMA buffer that can be used for message transfer. * @@ -406,7 +479,7 @@ int tfc_msg_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_track_type tt, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, - uint16_t *id) + uint16_t *id, enum cfa_resource_blktype_idx_tbl blktype) { int rc = 0; @@ -430,7 +503,13 @@ tfc_msg_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, if (rc) return rc; req.sid = rte_le_to_cpu_16(sid); - req.subtype = rte_le_to_cpu_16(subtype); + req.subtype = (uint8_t)subtype; + req.blktype = cfa_res_to_hwrm_blkt_lkup(blktype, IDX_TBL_ALLOC); + if (req.blktype == HWRM_BLKTYPE_ERR) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, blktype); + return -EINVAL; + } rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_IDX_TBL_ALLOC, &req, sizeof(req), &resp, sizeof(resp)); @@ -446,7 +525,7 @@ tfc_msg_idx_tbl_alloc_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_track_type tt, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, const uint32_t *dev_data, uint8_t data_size, - uint16_t *id) + uint16_t *id, enum cfa_resource_blktype_idx_tbl blktype) { int rc = 0; @@ -473,6 +552,13 @@ tfc_msg_idx_tbl_alloc_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, return rc; req.sid = rte_le_to_cpu_16(sid); req.subtype = rte_le_to_cpu_16(subtype); + req.blktype = cfa_res_to_hwrm_blkt_lkup(blktype, IDX_TBL_ALLOC_SET); + if (req.blktype == HWRM_BLKTYPE_ERR) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, blktype); + return -EINVAL; + } + req.data_size = rte_le_to_cpu_16(data_size); if (req.data_size >= sizeof(req.dev_data)) { @@ -504,7 +590,8 @@ int tfc_msg_idx_tbl_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, uint16_t id, - const uint32_t *dev_data, uint8_t data_size) + const uint32_t *dev_data, uint8_t data_size, + enum cfa_resource_blktype_idx_tbl blktype) { int rc = 0; struct bnxt *bp = tfcp->bp; @@ -526,6 +613,13 @@ tfc_msg_idx_tbl_set(struct tfc *tfcp, uint16_t fid, req.sid = rte_le_to_cpu_16(sid); req.idx_tbl_id = rte_le_to_cpu_16(id); req.subtype = rte_le_to_cpu_16(subtype); + req.blktype = cfa_res_to_hwrm_blkt_lkup(blktype, IDX_TBL_SET); + if (req.blktype == HWRM_BLKTYPE_ERR) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, blktype); + return -EINVAL; + } + req.data_size = rte_le_to_cpu_16(data_size); rc = tfc_msg_alloc_dma_buf(&buf, data_size); if (rc) @@ -555,7 +649,8 @@ int tfc_msg_idx_tbl_get(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, uint16_t id, - uint32_t *dev_data, uint8_t *data_size) + uint32_t *dev_data, uint8_t *data_size, + enum cfa_resource_blktype_idx_tbl blktype) { int rc = 0; struct bnxt *bp = tfcp->bp; @@ -576,6 +671,13 @@ tfc_msg_idx_tbl_get(struct tfc *tfcp, uint16_t fid, req.sid = rte_cpu_to_le_16(sid); req.idx_tbl_id = rte_cpu_to_le_16(id); req.subtype = rte_cpu_to_le_16(subtype); + req.blktype = cfa_res_to_hwrm_blkt_lkup(blktype, IDX_TBL_GET); + if (req.blktype == HWRM_BLKTYPE_ERR) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, blktype); + return -EINVAL; + } + req.buffer_size = rte_cpu_to_le_16(*data_size); rc = tfc_msg_alloc_dma_buf(&buf, *data_size); @@ -600,7 +702,8 @@ tfc_msg_idx_tbl_get(struct tfc *tfcp, uint16_t fid, int tfc_msg_idx_tbl_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, - enum cfa_resource_subtype_idx_tbl subtype, uint16_t id) + enum cfa_resource_subtype_idx_tbl subtype, uint16_t id, + enum cfa_resource_blktype_idx_tbl blktype) { struct bnxt *bp = tfcp->bp; struct hwrm_tfc_idx_tbl_free_input req = { 0 }; @@ -620,6 +723,12 @@ tfc_msg_idx_tbl_free(struct tfc *tfcp, uint16_t fid, req.sid = rte_cpu_to_le_16(sid); req.idx_tbl_id = rte_cpu_to_le_16(id); req.subtype = rte_cpu_to_le_16(subtype); + req.blktype = cfa_res_to_hwrm_blkt_lkup(blktype, IDX_TBL_FREE); + if (req.blktype == HWRM_BLKTYPE_ERR) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, blktype); + return -EINVAL; + } return bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_IDX_TBL_FREE, &req, sizeof(req), &resp, sizeof(resp)); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_msg.h index a8dcacc9f0..635c656e8f 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.h @@ -46,31 +46,34 @@ int tfc_msg_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_track_type tt, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl rsubtype, - uint16_t *id); + uint16_t *id, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_idx_tbl_alloc_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_track_type tt, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, const uint32_t *dev_data, uint8_t data_size, - uint16_t *id); + uint16_t *id, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_idx_tbl_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, - uint16_t id, const uint32_t *dev_data, uint8_t data_size); + uint16_t id, const uint32_t *dev_data, + uint8_t data_size, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_idx_tbl_get(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, - uint16_t id, uint32_t *dev_data, uint8_t *data_size); + uint16_t id, uint32_t *dev_data, + uint8_t *data_size, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_idx_tbl_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, - enum cfa_resource_subtype_idx_tbl subtype, uint16_t id); + enum cfa_resource_subtype_idx_tbl subtype, + uint16_t id, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_global_id_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum tfc_domain_id domain_id, uint16_t req_cnt, diff --git a/drivers/net/bnxt/tf_core/v3/tfc_util.c b/drivers/net/bnxt/tf_core/v3/tfc_util.c index cd784245e5..d3229bd104 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_util.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_util.c @@ -92,6 +92,8 @@ tfc_idx_tbl_2_str(enum cfa_resource_subtype_idx_tbl tbl_stype) return "idx_tbl_range_prof"; case CFA_RSUBTYPE_IDX_TBL_RANGE_ENTRY: return "idx_tbl_range_entry"; + case CFA_RSUBTYPE_IDX_TBL_DYN_UPAR: + return "idx_tbl_dyn_upar"; default: return "Invalid idx tbl subtype"; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index 388ebea7ee..db7aa22c57 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -18,6 +18,15 @@ #include "tfc_debug.h" #endif +#define BNXT_METER_MAX_NUM 1024 +static struct bnxt_mtr_stats_id_map mtr_stats[BNXT_METER_MAX_NUM]; + +static uint32_t CFA_RESTYPE_TO_BLKT(uint8_t idx_tbl_restype) +{ + return (idx_tbl_restype > CFA_RSUBTYPE_IDX_TBL_MAX) ? + CFA_IDX_TBL_BLKTYPE_RXP : CFA_IDX_TBL_BLKTYPE_CFA; +} + /* Internal function to write the tcam entry */ static int32_t ulp_mapper_tfc_tcam_tbl_entry_write(struct bnxt_ulp_mapper_parms *parms, @@ -857,6 +866,7 @@ ulp_mapper_tfc_index_tbl_process(struct bnxt_ulp_mapper_parms *parms, index = rte_be_to_cpu_64(regval); tbl_info.dir = tbl->direction; tbl_info.rsubtype = tbl->resource_type; + tbl_info.blktype = CFA_RESTYPE_TO_BLKT(tbl->resource_type); tbl_info.id = index; /* Nothing has been pushed to blob, so push bit_size */ tmplen = ulp_blob_pad_push(&data, bit_size); @@ -910,6 +920,22 @@ ulp_mapper_tfc_index_tbl_process(struct bnxt_ulp_mapper_parms *parms, if (alloc) { tbl_info.dir = tbl->direction; tbl_info.rsubtype = tbl->resource_type; + tbl_info.blktype = CFA_RESTYPE_TO_BLKT(tbl->resource_type); + /* + * Read back the operand and pass it into the + * alloc command if its a Dyn UPAR table. + */ + if (tbl_info.blktype == CFA_IDX_TBL_BLKTYPE_RXP) { + if (ulp_regfile_read(parms->regfile, + tbl->tbl_operand, ®val)) { + BNXT_DRV_DBG(ERR, + "Failed to get tbl idx from regfile[%d]\n", + tbl->tbl_operand); + return -EINVAL; + } + tbl_info.rsubtype = rte_be_to_cpu_64(regval); + } + rc = tfc_idx_tbl_alloc(tfcp, fw_fid, tt, &tbl_info); if (unlikely(rc)) { BNXT_DRV_DBG(ERR, "Alloc table[%s][%s] failed rc=%d\n", @@ -971,6 +997,7 @@ ulp_mapper_tfc_index_tbl_process(struct bnxt_ulp_mapper_parms *parms, data_p = ulp_blob_data_get(&data, &tmplen); tbl_info.dir = tbl->direction; tbl_info.rsubtype = tbl->resource_type; + tbl_info.blktype = CFA_RESTYPE_TO_BLKT(tbl->resource_type); tbl_info.id = index; wordlen = ULP_BITS_2_BYTE(tmplen); rc = tfc_idx_tbl_set(tfcp, fw_fid, &tbl_info, @@ -1021,6 +1048,7 @@ ulp_mapper_tfc_index_tbl_process(struct bnxt_ulp_mapper_parms *parms, * write to the entry or link the flow */ + tbl_info.blktype = CFA_RESTYPE_TO_BLKT(tbl->resource_type); if (tfc_idx_tbl_free(tfcp, fw_fid, &tbl_info)) BNXT_DRV_DBG(ERR, "Failed to free index entry on failure\n"); return rc; @@ -1050,6 +1078,7 @@ ulp_mapper_tfc_index_entry_free(struct bnxt_ulp_context *ulp_ctx, tbl_info.dir = (enum cfa_dir)res->direction; tbl_info.rsubtype = res->resource_type; tbl_info.id = (uint16_t)res->resource_hndl; + tbl_info.blktype = CFA_RESTYPE_TO_BLKT(res->resource_type); /* TBD: check to see if the memory needs to be cleaned as well*/ rc = tfc_idx_tbl_free(tfcp, fw_fid, &tbl_info); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (4 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments Manish Kurup ` (48 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Jay Ding, Peter Spreadborough From: Jay Ding <jay.ding@broadcom.com> The size of the lkup table pool should include the static bucket. The miscalculation casues crash with big number of offloaded flows. Signed-off-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index 10149a3963..88863ed6ad 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -941,8 +941,7 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, break; rc = calc_pool_sz_exp(&parms->lkup_pool_sz_exp[dir], - parms->lkup_rec_cnt[dir] - - (1 << parms->static_bucket_cnt_exp[dir]), + parms->lkup_rec_cnt[dir], parms->max_pools); if (rc) break; @@ -1290,6 +1289,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, valid, parms->max_pools); } } + return rc; cleanup: for (dir = 0; dir < CFA_DIR_MAX; dir++) { @@ -1632,7 +1632,7 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, goto cleanup; } /* Create lkup pool CMM instance */ - qparms.max_records = mem_cfg.rec_cnt; + qparms.max_records = mem_cfg.rec_cnt - mem_cfg.lkup_rec_start_offset; qparms.max_contig_records = pi.lkup_max_contig_rec; rc = cfa_mm_query(&qparms); if (rc != 0) { @@ -1653,7 +1653,8 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, /* override the record size since a single pool because * pool_sz_exp is 0 in this case */ - tfc_cpm_set_pool_size(pi.lkup_cpm, mem_cfg.rec_cnt); + tfc_cpm_set_pool_size(pi.lkup_cpm, + mem_cfg.rec_cnt - mem_cfg.lkup_rec_start_offset); /* Store CMM instance in the CPM for pool_id 0 */ rc = tfc_cpm_set_cmm_inst(pi.lkup_cpm, pool_id, cmm_lkup); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (5 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 08/54] net/bnxt/tf_ulp: add support for global identifiers Manish Kurup ` (47 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Peter Spreadborough From: Farah Smith <farah.smith@broadcom.com> In order for the pool size to be calculated correctly flow counts must be updated to the next power of 2 so that the pool_size_exp shift can be used correctly without losing pool entries due to rounding errors. Also, max_pools must be a power of 2 for same reasons. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index 88863ed6ad..e7b82eee49 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -86,6 +86,8 @@ static int calc_lkup_rec_cnt(uint32_t flow_cnt, uint16_t key_sz_in_bytes, unsigned int flow_adj; /* flow_cnt adjusted for factor */ unsigned int key_rec_cnt; + flow_cnt = 1 << next_pow2(flow_cnt); + switch (factor) { case TFC_TBL_SCOPE_BUCKET_FACTOR_1: flow_adj = flow_cnt; @@ -924,6 +926,12 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, return -EINVAL; } + if (parms->max_pools != next_pow2(parms->max_pools)) { + PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", + __func__, parms->max_pools); + return -EINVAL; + } + for (dir = CFA_DIR_RX; dir < CFA_DIR_MAX; dir++) { rc = calc_lkup_rec_cnt(parms->flow_cnt[dir], parms->key_sz_in_bytes[dir], @@ -941,7 +949,8 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, break; rc = calc_pool_sz_exp(&parms->lkup_pool_sz_exp[dir], - parms->lkup_rec_cnt[dir], + parms->lkup_rec_cnt[dir] - + (1 << parms->static_bucket_cnt_exp[dir]), parms->max_pools); if (rc) break; @@ -1033,6 +1042,11 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, PMD_DRV_LOG_LINE(ERR, "tsid(%d) not allocated", tsid); return -EINVAL; } + if (parms->max_pools != next_pow2(parms->max_pools)) { + PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", __func__, + parms->max_pools); + return -EINVAL; + } /* Normalize page size to a power of 2 */ page_sz = 1 << next_pow2(parms->pbl_page_sz_in_bytes); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 08/54] net/bnxt/tf_ulp: add support for global identifiers 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (6 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 09/54] net/bnxt/tf_core: add support for multi instance Manish Kurup ` (46 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Michael Baucom From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Added support in the mapper to enable global identifier allocations. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Michael Baucom <michael.baucom@broadcom.com> --- drivers/net/bnxt/hsi_struct_def_dpdk.h | 164 ++++++++++++++------ drivers/net/bnxt/tf_core/v3/tfc_global_id.c | 42 ++++- drivers/net/bnxt/tf_core/v3/tfc_tcam.c | 55 +++++++ drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 2 + drivers/net/bnxt/tf_ulp/ulp_mapper.c | 89 +++++++++-- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 11 ++ drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 2 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 64 ++++++++ 8 files changed, 370 insertions(+), 59 deletions(-) diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index f089813a68..3a0c1fbdc2 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -61178,32 +61178,6 @@ struct __rte_packed_begin hwrm_tfc_idx_tbl_free_output { uint8_t valid; } __rte_packed_end; -/* TruFlow resources request for a global id. */ -/* tfc_global_id_hwrm_req (size:64b/8B) */ -struct __rte_packed_begin tfc_global_id_hwrm_req { - /* Type of the resource, defined in enum cfa_resource_type HCAPI RM. */ - uint16_t rtype; - /* Indicates the flow direction in type of cfa_dir. */ - uint16_t dir; - /* Subtype of the resource type. */ - uint16_t subtype; - /* Number of the type of resources. */ - uint16_t cnt; -} __rte_packed_end; - -/* The reserved resources for the global id. */ -/* tfc_global_id_hwrm_rsp (size:64b/8B) */ -struct __rte_packed_begin tfc_global_id_hwrm_rsp { - /* Type of the resource, defined in enum cfa_resource_type HCAPI RM. */ - uint16_t rtype; - /* Indicates the flow direction in type of cfa_dir. */ - uint16_t dir; - /* Subtype of the resource type. */ - uint16_t subtype; - /* The global id that the resources reserved for. */ - uint16_t id; -} __rte_packed_end; - /**************************** * hwrm_tfc_global_id_alloc * ****************************/ @@ -61248,30 +61222,36 @@ struct __rte_packed_begin hwrm_tfc_global_id_alloc_input { * field. */ uint16_t fid; - /* Firmware session id returned when HWRM_TF_SESSION_OPEN is sent. */ + /* + * Session associated with function requesting the global identifier + * resource. + */ uint16_t sid; - /* Global domain id. */ - uint16_t global_id; /* - * Defines the array size of the provided req_addr and - * resv_addr array buffers. Should be set to the number of - * request entries. + * Firmware CFA Resource Type, for definitions see + * cfa_v3/include/cfa_resources.h. */ - uint16_t req_cnt; + uint16_t rtype; /* - * This is the DMA address for the request input data array - * buffer. Array is of tfc_global_id_hwrm_req type. Size of the - * array buffer is provided by the 'req_cnt' field in this - * message. + * Firmware CFA Resource Subtype, for definitions see + * cfa_v3/include/cfa_resources.h */ - uint64_t req_addr; + uint8_t subtype; + /* Control flags. */ + uint8_t flags; + /* Indicates the flow direction. */ + #define HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR UINT32_C(0x1) + /* If this bit set to 0, then it indicates rx flow. */ + #define HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_RX UINT32_C(0x0) + /* If this bit is set to 1, then it indicates tx flow. */ + #define HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_TX UINT32_C(0x1) + #define HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_LAST \ + HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_TX /* - * This is the DMA address for the resc output data array - * buffer. Array is of tfc_global_id_hwrm_rsp type. Size of the array - * buffer is provided by the 'req_cnt' field in this - * message. + * Context id of the resource. This is opaque to FW and used to + * uniquely map the identifier. */ - uint64_t resc_addr; + uint8_t context_id[16]; } __rte_packed_end; /* hwrm_tfc_global_id_alloc_output (size:128b/16B) */ @@ -61285,12 +61265,10 @@ struct __rte_packed_begin hwrm_tfc_global_id_alloc_output { /* The length of the response data in number of bytes. */ uint16_t resp_len; /* - * Size of the returned hwrm_tfc_global_id_req data array. The value - * cannot exceed the req_cnt defined by the input msg. The data - * array is returned using the resv_addr specified DMA - * address also provided by the input msg. + * returns the allocated global id, it could be identifier + * based on the request. */ - uint16_t rsp_cnt; + uint16_t global_id; /* Non-zero if this is the first allocation for the global ID. */ uint8_t first; /* unused. */ @@ -61306,6 +61284,96 @@ struct __rte_packed_begin hwrm_tfc_global_id_alloc_output { uint8_t valid; } __rte_packed_end; +/*************************** + * hwrm_tfc_global_id_free * + ***************************/ + + +/* hwrm_tfc_global_id_free_input (size:256b/32B) */ +struct __rte_packed_begin hwrm_tfc_global_id_free_input { + /* The HWRM command request type. */ + uint16_t req_type; + /* + * The completion ring to send the completion event on. This should + * be the NQ ID returned from the `nq_alloc` HWRM command. + */ + uint16_t cmpl_ring; + /* + * The sequence ID is used by the driver for tracking multiple + * commands. This ID is treated as opaque data by the firmware and + * the value is returned in the `hwrm_resp_hdr` upon completion. + */ + uint16_t seq_id; + /* + * The target ID of the command: + * * 0x0-0xFFF8 - The function ID + * * 0xFFF8-0xFFFC, 0xFFFE - Reserved for internal processors + * * 0xFFFD - Reserved for user-space HWRM interface + * * 0xFFFF - HWRM + */ + uint16_t target_id; + /* + * A physical address pointer pointing to a host buffer that the + * command's response data will be written. This can be either a host + * physical address (HPA) or a guest physical address (GPA) and must + * point to a physically contiguous block of memory. + */ + uint64_t resp_addr; + /* + * Function ID. + * If running on a trusted VF or PF, the fid field can be used to + * specify that the function is a non-trusted VF of the parent PF. + * If this command is used for the target_id itself, this field is + * set to 0xffff. A non-trusted VF cannot specify a valid FID in this + * field. + */ + uint16_t fid; + /* + * Session associated with function requesting the global identifier + * resource. + */ + uint16_t sid; + /* + * Firmware CFA Resource Type, for definitions see + * cfa_v3/include/cfa_resources.h. + */ + uint16_t rtype; + /* + * Firmware CFA Resource Subtype, for definitions see + * cfa_v3/include/cfa_resources.h + */ + uint8_t subtype; + /* Indicates the flow direction. */ + uint8_t dir; + /* Global id of the resource. */ + uint16_t global_id; + /* unused. */ + uint8_t unused0[6]; +} __rte_packed_end; + +/* hwrm_tfc_global_id_free_output (size:128b/16B) */ +struct __rte_packed_begin hwrm_tfc_global_id_free_output { + /* The specific error status for the command. */ + uint16_t error_code; + /* The HWRM command request type. */ + uint16_t req_type; + /* The sequence ID from the original command. */ + uint16_t seq_id; + /* The length of the response data in number of bytes. */ + uint16_t resp_len; + /* unused. */ + uint8_t unused0[7]; + /* + * This field is used in Output records to indicate that the output + * is completely written to RAM. This field should be read as '1' + * to indicate that the output has been completely written. + * When writing a command completion or response to an internal + * processor, the order of writes has to be such that this field + * is written last. + */ + uint8_t valid; +} __rte_packed_end; + /********************* * hwrm_tfc_tcam_set * *********************/ diff --git a/drivers/net/bnxt/tf_core/v3/tfc_global_id.c b/drivers/net/bnxt/tf_core/v3/tfc_global_id.c index 4c90afaee1..ec1b2f728f 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_global_id.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_global_id.c @@ -51,7 +51,45 @@ int tfc_global_id_alloc(struct tfc *tfcp, uint16_t fid, return rc; } - rc = tfc_msg_global_id_alloc(tfcp, fid, sid, domain_id, req_cnt, - req, rsp, rsp_cnt, first); + rc = tfc_msg_global_id_alloc(tfcp, fid, sid, req, rsp, first); + return rc; +} + +int tfc_global_id_free(struct tfc *tfcp, uint16_t fid, + const struct tfc_global_id_req *req) +{ + int rc = 0; + struct bnxt *bp; + uint16_t sid; + + if (tfcp == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tfcp pointer", __func__); + return -EINVAL; + } + + if (tfcp->bp == NULL || tfcp->tfo == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: tfcp not initialized", __func__); + return -EINVAL; + } + + if (req == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: global_id req is NULL", __func__); + return -EINVAL; + } + + bp = tfcp->bp; + if (!BNXT_PF(bp) && !BNXT_VF_IS_TRUSTED(bp)) { + PMD_DRV_LOG_LINE(ERR, "%s: bp not PF or trusted VF", __func__); + return -EINVAL; + } + + rc = tfo_sid_get(tfcp->tfo, &sid); + if (rc) { + PMD_DRV_LOG_LINE(ERR, "%s: Failed to retrieve SID, rc:%s", + __func__, strerror(-rc)); + return rc; + } + + rc = tfc_msg_global_id_free(tfcp, fid, sid, req); return rc; } diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tcam.c b/drivers/net/bnxt/tf_core/v3/tfc_tcam.c index 2497929671..054431be12 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tcam.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tcam.c @@ -297,3 +297,58 @@ int tfc_tcam_free(struct tfc *tfcp, uint16_t fid, const struct tfc_tcam_info *tc strerror(-rc)); return rc; } + +int tfc_tcam_priority_update(struct tfc *tfcp, uint16_t fid, + enum cfa_track_type tt, + const struct tfc_tcam_info *tcam_info, + uint16_t priority) +{ + int rc = 0; + struct bnxt *bp; + uint16_t sid; + + if (tfcp == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tfcp pointer", __func__); + return -EINVAL; + } + + if (tfcp->bp == NULL || tfcp->tfo == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: tfcp not initialized", __func__); + return -EINVAL; + } + bp = tfcp->bp; + + if (tcam_info == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: tcam_info is NULL", __func__); + return -EINVAL; + } + + if (tcam_info->rsubtype >= CFA_RSUBTYPE_TCAM_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tcam subtype: %d", __func__, + tcam_info->rsubtype); + return -EINVAL; + } + + if (!BNXT_PF(bp) && !BNXT_VF_IS_TRUSTED(bp)) { + PMD_DRV_LOG_LINE(ERR, "%s: bp not PF or trusted VF", __func__); + return -EINVAL; + } + + rc = tfo_sid_get(tfcp->tfo, &sid); + if (rc) { + PMD_DRV_LOG_LINE(ERR, "%s: Failed to retrieve SID, rc:%s", + __func__, strerror(-rc)); + return rc; + } + + rc = tfc_msg_tcam_prioriry_update(tfcp, fid, sid, tcam_info->dir, tt, + tcam_info->rsubtype, tcam_info->id, + priority); + if (rc) + PMD_DRV_LOG_LINE(ERR, "%s: update failed: %s:%s %d %s", __func__, + tfc_dir_2_str(tcam_info->dir), + tfc_tcam_2_str(tcam_info->rsubtype), tcam_info->id, + strerror(-rc)); + + return rc; +} diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index e6f316539c..c8b6f544ca 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1088,6 +1088,8 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Port Mac Address Feature is enabled\n"); if (bit & BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW) BNXT_DRV_DBG(ERR, "Multi Tunnel Flow Feature is enabled\n"); + if (bit & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE) + BNXT_DRV_DBG(ERR, "Multi Instance Feature is enabled\n"); *out_bits = bit; return 0; diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index 4829ae41d1..d58899bdb1 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -729,11 +729,13 @@ ulp_mapper_tbl_ident_scan_ext(struct bnxt_ulp_mapper_parms *parms, static int32_t ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_tbl_info *tbl, + struct ulp_blob *key __rte_unused, struct bnxt_ulp_mapper_ident_info *ident, uint16_t *val) { const struct ulp_mapper_core_ops *op = parms->mapper_data->mapper_oper; struct ulp_flow_db_res_params fid_parms = { 0 }; + bool global = false; uint64_t id = 0; int32_t idx; int rc; @@ -742,14 +744,25 @@ ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, fid_parms.resource_func = ident->resource_func; fid_parms.resource_type = ident->ident_type; fid_parms.critical_resource = tbl->critical_resource; - ulp_flow_db_shared_session_set(&fid_parms, tbl->session_type); - rc = op->ulp_mapper_core_ident_alloc_process(parms->ulp_ctx, - tbl->session_type, - ident->ident_type, - tbl->direction, - tbl->track_type, - &id); + if (tbl->resource_func == BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER) + global = true; + + if (!global) { + ulp_flow_db_shared_session_set(&fid_parms, tbl->session_type); + rc = op->ulp_mapper_core_ident_alloc_process(parms->ulp_ctx, + tbl->session_type, + ident->ident_type, + tbl->direction, + tbl->track_type, + &id); + } else { + rc = op->ulp_mapper_core_global_ident_alloc(parms->ulp_ctx, + ident->ident_type, + tbl->direction, + &id); + } + if (unlikely(rc)) { BNXT_DRV_DBG(ERR, "identifier process failed\n"); return rc; @@ -781,7 +794,11 @@ ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, error: /* Need to free the identifier */ - op->ulp_mapper_core_ident_free(parms->ulp_ctx, &fid_parms); + if (!global) + op->ulp_mapper_core_ident_free(parms->ulp_ctx, &fid_parms); + else + op->ulp_mapper_core_global_ident_free(parms->ulp_ctx, + &fid_parms); return rc; } @@ -2413,7 +2430,7 @@ ulp_mapper_tcam_tbl_ident_alloc(struct bnxt_ulp_mapper_parms *parms, idents = ulp_mapper_ident_fields_get(parms, tbl, &num_idents); for (i = 0; i < num_idents; i++) { - if (unlikely(ulp_mapper_ident_process(parms, tbl, + if (unlikely(ulp_mapper_ident_process(parms, tbl, NULL, &idents[i], NULL))) return -EINVAL; } @@ -3006,6 +3023,55 @@ ulp_mapper_stats_cache_tbl_res_free(struct bnxt_ulp_context *ulp, return 0; } +static int32_t +ulp_mapper_global_identifier_process(struct bnxt_ulp_mapper_parms *parms, + struct bnxt_ulp_mapper_tbl_info *tbl) +{ + int32_t rc = 0; + struct bnxt_ulp_mapper_ident_info *idents; + struct bnxt_ulp_mapper_key_info *kflds; + struct ulp_blob key; + uint32_t num_idents; + uint32_t num_kflds; + uint32_t i; + + /* check the table opcode */ + if (tbl->tbl_opcode != BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC) { + BNXT_DRV_DBG(ERR, "Invalid global ident table opcode %d\n", + tbl->tbl_opcode); + return -EINVAL; + } + + /* Create the key blob */ + if (unlikely(ulp_blob_init(&key, tbl->blob_key_bit_size, + BNXT_ULP_BYTE_ORDER_BE))) { + BNXT_DRV_DBG(ERR, "blob init failed.\n"); + return -EINVAL; + } + + kflds = ulp_mapper_key_fields_get(parms, tbl, &num_kflds); + for (i = 0; i < num_kflds; i++) { + rc = ulp_mapper_field_opc_process(parms, tbl->direction, + &kflds[i].field_info_spec, + &key, 1, "Global Id Context"); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Key field set failed %s\n", + kflds[i].field_info_spec.description); + return rc; + } + } + + /* Get the identifiers to process it */ + idents = ulp_mapper_ident_fields_get(parms, tbl, &num_idents); + for (i = 0; i < num_idents; i++) { + if (unlikely(ulp_mapper_ident_process(parms, tbl, &key, + &idents[i], NULL))) + return -EINVAL; + } + + return rc; +} + /* Free the vnic resource */ static int32_t ulp_mapper_vnic_tbl_res_free(struct bnxt_ulp_context *ulp __rte_unused, @@ -4211,6 +4277,9 @@ ulp_mapper_tbls_process(struct bnxt_ulp_mapper_parms *parms, void *error) case BNXT_ULP_RESOURCE_FUNC_STATS_CACHE: rc = ulp_mapper_stats_cache_tbl_process(parms, tbl); break; + case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER: + rc = ulp_mapper_global_identifier_process(parms, tbl); + break; default: BNXT_DRV_DBG(ERR, "Unexpected mapper resource %d\n", tbl->resource_func); @@ -4353,6 +4422,8 @@ ulp_mapper_resource_free(struct bnxt_ulp_context *ulp, rc = ulp_mapper_stats_cache_tbl_res_free(ulp, fid); break; + case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER: + rc = mapper_op->ulp_mapper_core_global_ident_free(ulp, res); default: break; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h index f9a407cd84..2bcfc6ef1b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h @@ -147,6 +147,17 @@ struct ulp_mapper_core_ops { int32_t (*ulp_mapper_core_ident_free)(struct bnxt_ulp_context *ulp_ctx, struct ulp_flow_db_res_params *res); + + int32_t + (*ulp_mapper_core_global_ident_alloc)(struct bnxt_ulp_context *ulp_ctx, + uint16_t ident_type, + uint8_t direction, + uint64_t *identifier_id); + + int32_t + (*ulp_mapper_core_global_ident_free)(struct bnxt_ulp_context *ulp_ctx, + struct ulp_flow_db_res_params *r); + uint32_t (*ulp_mapper_core_dyn_tbl_type_get)(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_tbl_info *t, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c index e755591716..e548a6b91f 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c @@ -1377,6 +1377,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tf_core_ops = { .ulp_mapper_core_if_tbl_process = ulp_mapper_tf_if_tbl_process, .ulp_mapper_core_ident_alloc_process = ulp_mapper_tf_ident_alloc, .ulp_mapper_core_ident_free = ulp_mapper_tf_ident_free, + .ulp_mapper_core_global_ident_alloc = NULL, + .ulp_mapper_core_global_ident_free = NULL, .ulp_mapper_core_dyn_tbl_type_get = ulp_mapper_tf_dyn_tbl_type_get, .ulp_mapper_core_index_tbl_alloc_process = ulp_mapper_tf_index_tbl_alloc_process, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index db7aa22c57..3db98fa160 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -1636,6 +1636,68 @@ ulp_mapper_tfc_ident_free(struct bnxt_ulp_context *ulp_ctx, return rc; } +static int32_t +ulp_mapper_tfc_global_ident_alloc(struct bnxt_ulp_context *ulp_ctx, + uint16_t ident_type, + uint8_t direction, + uint64_t *identifier_id) +{ + struct tfc *tfcp = NULL; + struct tfc_global_id_req glb_req = { 0 }; + struct tfc_global_id glb_rsp = { 0 }; + uint16_t fw_fid = 0; + uint16_t rsp_cnt; + int32_t rc = 0; + bool first = false; + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + return -EINVAL; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + BNXT_DRV_DBG(ERR, "Failed to get tfcp pointer\n"); + return -EINVAL; + } + + glb_req.rtype = CFA_RTYPE_IDENT; + glb_req.dir = direction; + glb_req.cnt = 1; + glb_req.rsubtype = ident_type; + + rc = tfc_global_id_alloc(tfcp, fw_fid, 1, 1, &glb_req, &glb_rsp, &rsp_cnt, &first); + if (unlikely(rc != 0)) { + BNXT_DRV_DBG(ERR, "alloc failed %d\n", rc); + return rc; + } + *identifier_id = glb_rsp.id; + + return rc; +} + +static int32_t +ulp_mapper_tfc_global_ident_free(struct bnxt_ulp_context *ulp_ctx, + struct ulp_flow_db_res_params *res) +{ + struct tfc *tfcp = NULL; + int32_t rc = 0; + uint16_t fw_fid = 0; + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + return -EINVAL; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + BNXT_DRV_DBG(ERR, "Failed to get tfcp pointer\n"); + return -EINVAL; + } + + return rc; +} + static inline int32_t ulp_mapper_tfc_tcam_entry_free(struct bnxt_ulp_context *ulp, struct ulp_flow_db_res_params *res) @@ -1849,6 +1911,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops = { .ulp_mapper_core_if_tbl_process = ulp_mapper_tfc_if_tbl_process, .ulp_mapper_core_ident_alloc_process = ulp_mapper_tfc_ident_alloc, .ulp_mapper_core_ident_free = ulp_mapper_tfc_ident_free, + .ulp_mapper_core_global_ident_alloc = ulp_mapper_tfc_global_ident_alloc, + .ulp_mapper_core_global_ident_free = ulp_mapper_tfc_global_ident_free, .ulp_mapper_core_dyn_tbl_type_get = ulp_mapper_tfc_dyn_tbl_type_get, .ulp_mapper_core_index_tbl_alloc_process = ulp_mapper_tfc_index_tbl_alloc_process, -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 09/54] net/bnxt/tf_core: add support for multi instance 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (7 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 08/54] net/bnxt/tf_ulp: add support for global identifiers Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 10/54] net/bnxt/tf_core: fix table scope free Manish Kurup ` (45 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Farah Smith From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Added support for multi instances of applications to exist at same time. Added shared scope fixes to enable shared table scope between applications. Integrated the support for global ids to allow dynamic allocation and freeing of the shared identifiers. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc.h | 45 +++++++--- drivers/net/bnxt/tf_core/v3/tfc_act.c | 3 +- drivers/net/bnxt/tf_core/v3/tfc_em.c | 2 + drivers/net/bnxt/tf_core/v3/tfc_em.h | 3 + drivers/net/bnxt/tf_core/v3/tfc_global_id.c | 5 +- drivers/net/bnxt/tf_core/v3/tfc_msg.c | 95 +++++++++------------ drivers/net/bnxt/tf_core/v3/tfc_msg.h | 7 +- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 13 ++- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 16 ++-- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 9 +- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 2 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 20 ++++- 12 files changed, 129 insertions(+), 91 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc.h b/drivers/net/bnxt/tf_core/v3/tfc.h index 1c7eb51c8c..cb4dc5558a 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc.h +++ b/drivers/net/bnxt/tf_core/v3/tfc.h @@ -240,7 +240,9 @@ struct tfc_global_id_req { enum cfa_resource_type rtype; /**< Resource type */ uint8_t rsubtype; /**< Resource subtype */ enum cfa_dir dir; /**< Direction */ - uint16_t cnt; /**< Number of resources to allocate of this type */ + uint8_t *context_id; + uint16_t context_len; + uint16_t resource_id; }; /** Global id resource definition @@ -268,18 +270,9 @@ struct tfc_global_id { * @param[in] fid * FID - Function ID to be used * - * @param[in] domain_id - * The domain id to associate. - * - * @param[in] req_cnt - * The number of total resource requests - * * @param[in] glb_id_req * The list of global id requests * - * @param[in,out] rsp_cnt - * The number of items in the response buffer - * * @param[out] glb_id_rsp * The number of items in the response buffer * @@ -289,10 +282,36 @@ struct tfc_global_id { * @returns * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfc_global_id_alloc(struct tfc *tfcp, uint16_t fid, enum tfc_domain_id domain_id, - uint16_t req_cnt, const struct tfc_global_id_req *glb_id_req, - struct tfc_global_id *glb_id_rsp, uint16_t *rsp_cnt, +int tfc_global_id_alloc(struct tfc *tfcp, uint16_t fid, + const struct tfc_global_id_req *glb_id_req, + struct tfc_global_id *glb_id_rsp, bool *first); + +/** + * Free global Identifier TFC resources + * + * Some resources are not owned by a single session. They are "global" in that + * they will be in use as long as any associated session exists. Once all + * sessions/functions hve been removed, all associated global ids are freed. + * There are currently up to 4 global id domain sets. + * + * TODO: REDUCE PARAMETERS WHEN IMPLEMENTING API + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] glb_id_req + * The list of global id requests + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int tfc_global_id_free(struct tfc *tfcp, uint16_t fid, + const struct tfc_global_id_req *glb_id_req); + /** * @page Identifiers * diff --git a/drivers/net/bnxt/tf_core/v3/tfc_act.c b/drivers/net/bnxt/tf_core/v3/tfc_act.c index 0e98bd30d7..7b1f82b842 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_act.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_act.c @@ -787,7 +787,8 @@ int tfc_act_free(struct tfc *tfcp, return -EINVAL; } - fparms.record_offset = record_offset; + fparms.record_offset = REMOVE_POOL_FROM_OFFSET(pi.act_pool_sz_exp, + record_offset); fparms.num_contig_records = 1 << next_pow2(record_size); rc = cfa_mm_free(cmm, &fparms); if (unlikely(rc)) { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c index d460ff2ee0..feb6e899f6 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c @@ -662,6 +662,8 @@ int tfc_em_delete(struct tfc *tfcp, struct tfc_em_delete_parms *parms) #endif ); + record_offset = REMOVE_POOL_FROM_OFFSET(pi.lkup_pool_sz_exp, + record_offset); #if TFC_EM_DYNAMIC_BUCKET_EN /* If the dynamic bucket is unused then free it */ if (db_unused) { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.h b/drivers/net/bnxt/tf_core/v3/tfc_em.h index 837678cea1..9ad3ef9fd2 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.h @@ -124,6 +124,9 @@ struct bucket_info_t { #define CREATE_OFFSET(result, pool_sz_exp, pool_id, record_offset) \ (*(result) = (((pool_id) << (pool_sz_exp)) | (record_offset))) +#define REMOVE_POOL_FROM_OFFSET(pool_sz_exp, record_offset) \ + (((1 << (pool_sz_exp)) - 1) & (record_offset)) + int tfc_em_delete_raw(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir, diff --git a/drivers/net/bnxt/tf_core/v3/tfc_global_id.c b/drivers/net/bnxt/tf_core/v3/tfc_global_id.c index ec1b2f728f..107a29cfc5 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_global_id.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_global_id.c @@ -9,9 +9,8 @@ #include "tfc_msg.h" int tfc_global_id_alloc(struct tfc *tfcp, uint16_t fid, - enum tfc_domain_id domain_id, uint16_t req_cnt, const struct tfc_global_id_req *req, - struct tfc_global_id *rsp, uint16_t *rsp_cnt, + struct tfc_global_id *rsp, bool *first) { int rc = 0; @@ -86,7 +85,7 @@ int tfc_global_id_free(struct tfc *tfcp, uint16_t fid, rc = tfo_sid_get(tfcp->tfo, &sid); if (rc) { PMD_DRV_LOG_LINE(ERR, "%s: Failed to retrieve SID, rc:%s", - __func__, strerror(-rc)); + __func__, strerror(-rc)); return rc; } diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_msg.c index 2ad0b386fa..fb007a66f6 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.c @@ -735,56 +735,35 @@ tfc_msg_idx_tbl_free(struct tfc *tfcp, uint16_t fid, } int tfc_msg_global_id_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, - enum tfc_domain_id domain_id, uint16_t req_cnt, const struct tfc_global_id_req *glb_id_req, - struct tfc_global_id *rsp, uint16_t *rsp_cnt, + struct tfc_global_id *rsp, bool *first) { int rc = 0; - int i = 0; struct bnxt *bp = tfcp->bp; struct hwrm_tfc_global_id_alloc_input hwrm_req; struct hwrm_tfc_global_id_alloc_output hwrm_resp; - struct tfc_global_id_hwrm_req *req_data; - struct tfc_global_id_hwrm_rsp *rsp_data; - struct tfc_msg_dma_buf req_buf = { 0 }; - struct tfc_msg_dma_buf rsp_buf = { 0 }; - int dma_size; - int resp_cnt = 0; - - /* Prepare DMA buffers */ - dma_size = req_cnt * sizeof(struct tfc_global_id_req); - rc = tfc_msg_alloc_dma_buf(&req_buf, dma_size); - if (rc) - return rc; - - for (i = 0; i < req_cnt; i++) - resp_cnt += glb_id_req->cnt; - dma_size = resp_cnt * sizeof(struct tfc_global_id); - *rsp_cnt = resp_cnt; - rc = tfc_msg_alloc_dma_buf(&rsp_buf, dma_size); - if (rc) { - tfc_msg_free_dma_buf(&req_buf); - return rc; - } /* Populate the request */ rc = tfc_msg_set_fid(bp, fid, &hwrm_req.fid); if (rc) - goto cleanup; + return rc; hwrm_req.sid = rte_cpu_to_le_16(sid); - hwrm_req.global_id = rte_cpu_to_le_16(domain_id); - hwrm_req.req_cnt = req_cnt; - hwrm_req.req_addr = rte_cpu_to_le_64(req_buf.pa_addr); - hwrm_req.resc_addr = rte_cpu_to_le_64(rsp_buf.pa_addr); - req_data = (struct tfc_global_id_hwrm_req *)req_buf.va_addr; - for (i = 0; i < req_cnt; i++) { - req_data[i].rtype = rte_cpu_to_le_16(glb_id_req[i].rtype); - req_data[i].dir = rte_cpu_to_le_16(glb_id_req[i].dir); - req_data[i].subtype = rte_cpu_to_le_16(glb_id_req[i].rsubtype); - req_data[i].cnt = rte_cpu_to_le_16(glb_id_req[i].cnt); - } + hwrm_req.rtype = rte_cpu_to_le_16(glb_id_req->rtype); + hwrm_req.subtype = glb_id_req->rsubtype; + + if (glb_id_req->dir == CFA_DIR_RX) + hwrm_req.flags = HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_RX; + else + hwrm_req.flags = HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_TX; + + /* check the destination length before copy */ + if (glb_id_req->context_len > sizeof(hwrm_req.context_id)) + return -EINVAL; + + memcpy(hwrm_req.context_id, glb_id_req->context_id, + glb_id_req->context_len); rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_GLOBAL_ID_ALLOC, &hwrm_req, sizeof(hwrm_req), &hwrm_resp, @@ -796,29 +775,33 @@ int tfc_msg_global_id_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, else *first = false; } + rsp->id = hwrm_resp.global_id; } + return rc; +} +int tfc_msg_global_id_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, + const struct tfc_global_id_req *glb_id_req) +{ + int rc = 0; + struct bnxt *bp = tfcp->bp; - /* Process the response - * Should always get expected number of entries - */ - if (rte_le_to_cpu_32(hwrm_resp.rsp_cnt) != *rsp_cnt) { - PMD_DRV_LOG_LINE(ERR, "Alloc message size error, rc:%s", - strerror(-EINVAL)); - rc = -EINVAL; - goto cleanup; - } + struct hwrm_tfc_global_id_free_input hwrm_req; + struct hwrm_tfc_global_id_free_output hwrm_resp; - rsp_data = (struct tfc_global_id_hwrm_rsp *)rsp_buf.va_addr; - for (i = 0; i < *rsp_cnt; i++) { - rsp[i].rtype = rte_le_to_cpu_32(rsp_data[i].rtype); - rsp[i].dir = rte_le_to_cpu_32(rsp_data[i].dir); - rsp[i].rsubtype = rte_le_to_cpu_32(rsp_data[i].subtype); - rsp[i].id = rte_le_to_cpu_32(rsp_data[i].id); - } + /* Populate the request */ + rc = tfc_msg_set_fid(bp, fid, &hwrm_req.fid); + if (rc) + return rc; -cleanup: - tfc_msg_free_dma_buf(&req_buf); - tfc_msg_free_dma_buf(&rsp_buf); + hwrm_req.sid = rte_cpu_to_le_16(sid); + hwrm_req.rtype = rte_cpu_to_le_16(glb_id_req->rtype); + hwrm_req.subtype = glb_id_req->rsubtype; + hwrm_req.dir = glb_id_req->dir; + hwrm_req.global_id = rte_cpu_to_le_16(glb_id_req->resource_id); + + rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_GLOBAL_ID_FREE, + &hwrm_req, sizeof(hwrm_req), &hwrm_resp, + sizeof(hwrm_resp)); return rc; } diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_msg.h index 635c656e8f..a03452f00a 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.h @@ -76,10 +76,13 @@ tfc_msg_idx_tbl_free(struct tfc *tfcp, uint16_t fid, uint16_t id, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_global_id_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, - enum tfc_domain_id domain_id, uint16_t req_cnt, const struct tfc_global_id_req *glb_id_req, - struct tfc_global_id *rsp, uint16_t *rsp_cnt, + struct tfc_global_id *rsp, bool *first); + +int tfc_msg_global_id_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, + const struct tfc_global_id_req *glb_id_req); + int tfc_msg_session_id_alloc(struct tfc *tfcp, uint16_t fid, uint16_t *tsid); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index e7b82eee49..b01bf8d42a 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -926,7 +926,8 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, return -EINVAL; } - if (parms->max_pools != next_pow2(parms->max_pools)) { + if (parms->max_pools != 1 && parms->max_pools != + (uint32_t)(1 << next_pow2(parms->max_pools))) { PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", __func__, parms->max_pools); return -EINVAL; @@ -1042,9 +1043,11 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, PMD_DRV_LOG_LINE(ERR, "tsid(%d) not allocated", tsid); return -EINVAL; } - if (parms->max_pools != next_pow2(parms->max_pools)) { - PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", __func__, - parms->max_pools); + + if (parms->max_pools != 1 && parms->max_pools != + (1 << next_pow2(parms->max_pools))) { + PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", + __func__, parms->max_pools); return -EINVAL; } @@ -1388,6 +1391,8 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) /* continue cleanup regardless */ } PMD_DRV_LOG_LINE(DEBUG, "tsid: %d, status %d", resp.tsid, resp.status); + if (shared) + return rc; } if (shared && is_pf) { diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 508c194d04..55adceb59f 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -346,6 +346,7 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) struct tfc_tbl_scope_cpm_alloc_parms cparms; uint16_t fid, max_pools; bool first = true, shared = false; + uint64_t feat_bits; uint8_t tsid = 0; struct tfc *tfcp; int32_t rc = 0; @@ -368,15 +369,14 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) shared = bnxt_ulp_cntxt_shared_tbl_scope_enabled(bp->ulp_ctx); -#if (TFC_SHARED_TBL_SCOPE_ENABLE == 1) - /* Temporary code for testing shared table scopes until ULP - * usage defined. - */ - if (!BNXT_PF(bp)) { - shared = true; - max_pools = 8; + feat_bits = bnxt_ulp_feature_bits_get(bp->ulp_ctx); + if ((feat_bits & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE)) { + if (!BNXT_PF(bp)) { + shared = true; + max_pools = 8; + } } -#endif + /* Calculate the sizes for setting up memory */ qparms.shared = shared; qparms.max_pools = max_pools; diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index d58899bdb1..d545bd2fda 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -729,7 +729,7 @@ ulp_mapper_tbl_ident_scan_ext(struct bnxt_ulp_mapper_parms *parms, static int32_t ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_tbl_info *tbl, - struct ulp_blob *key __rte_unused, + struct ulp_blob *key, struct bnxt_ulp_mapper_ident_info *ident, uint16_t *val) { @@ -737,6 +737,8 @@ ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, struct ulp_flow_db_res_params fid_parms = { 0 }; bool global = false; uint64_t id = 0; + uint8_t *context; + uint16_t tmplen = 0; int32_t idx; int rc; @@ -757,10 +759,15 @@ ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, tbl->track_type, &id); } else { + context = ulp_blob_data_get(key, &tmplen); + tmplen = ULP_BITS_2_BYTE(tmplen); rc = op->ulp_mapper_core_global_ident_alloc(parms->ulp_ctx, ident->ident_type, tbl->direction, + context, + tmplen, &id); + fid_parms.resource_func = tbl->resource_func; } if (unlikely(rc)) { diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h index 2bcfc6ef1b..79052664dd 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h @@ -152,6 +152,8 @@ struct ulp_mapper_core_ops { (*ulp_mapper_core_global_ident_alloc)(struct bnxt_ulp_context *ulp_ctx, uint16_t ident_type, uint8_t direction, + uint8_t *context_id, + uint16_t context_len, uint64_t *identifier_id); int32_t diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index 3db98fa160..d4c03a2d74 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -1640,13 +1640,14 @@ static int32_t ulp_mapper_tfc_global_ident_alloc(struct bnxt_ulp_context *ulp_ctx, uint16_t ident_type, uint8_t direction, + uint8_t *context_id, + uint16_t context_len, uint64_t *identifier_id) { struct tfc *tfcp = NULL; struct tfc_global_id_req glb_req = { 0 }; struct tfc_global_id glb_rsp = { 0 }; uint16_t fw_fid = 0; - uint16_t rsp_cnt; int32_t rc = 0; bool first = false; @@ -1663,10 +1664,11 @@ ulp_mapper_tfc_global_ident_alloc(struct bnxt_ulp_context *ulp_ctx, glb_req.rtype = CFA_RTYPE_IDENT; glb_req.dir = direction; - glb_req.cnt = 1; glb_req.rsubtype = ident_type; + glb_req.context_len = context_len; + glb_req.context_id = context_id; - rc = tfc_global_id_alloc(tfcp, fw_fid, 1, 1, &glb_req, &glb_rsp, &rsp_cnt, &first); + rc = tfc_global_id_alloc(tfcp, fw_fid, &glb_req, &glb_rsp, &first); if (unlikely(rc != 0)) { BNXT_DRV_DBG(ERR, "alloc failed %d\n", rc); return rc; @@ -1680,6 +1682,7 @@ static int32_t ulp_mapper_tfc_global_ident_free(struct bnxt_ulp_context *ulp_ctx, struct ulp_flow_db_res_params *res) { + struct tfc_global_id_req glb_req = { 0 }; struct tfc *tfcp = NULL; int32_t rc = 0; uint16_t fw_fid = 0; @@ -1695,6 +1698,17 @@ ulp_mapper_tfc_global_ident_free(struct bnxt_ulp_context *ulp_ctx, return -EINVAL; } + glb_req.rtype = CFA_RTYPE_IDENT; + glb_req.dir = (enum cfa_dir)res->direction; + glb_req.rsubtype = res->resource_type; + glb_req.resource_id = (uint16_t)res->resource_hndl; + + rc = tfc_global_id_free(tfcp, fw_fid, &glb_req); + if (unlikely(rc != 0)) { + BNXT_DRV_DBG(ERR, "free failed %d\n", rc); + return rc; + } + return rc; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 10/54] net/bnxt/tf_core: fix table scope free 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (8 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 09/54] net/bnxt/tf_core: add support for multi instance Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup Manish Kurup ` (44 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Farah Smith From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Removed the additional call to free the table scope memory. Also fixed the scope size check which should be power of 2. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 13 ++++--------- drivers/net/bnxt/tf_core/v3/tfc_util.c | 6 ++++++ drivers/net/bnxt/tf_core/v3/tfc_util.h | 3 +++ 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index b01bf8d42a..60b8289805 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -926,8 +926,7 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, return -EINVAL; } - if (parms->max_pools != 1 && parms->max_pools != - (uint32_t)(1 << next_pow2(parms->max_pools))) { + if (is_pow2(parms->max_pools)) { PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", __func__, parms->max_pools); return -EINVAL; @@ -1044,8 +1043,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, return -EINVAL; } - if (parms->max_pools != 1 && parms->max_pools != - (1 << next_pow2(parms->max_pools))) { + if (is_pow2(parms->max_pools)) { PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", __func__, parms->max_pools); return -EINVAL; @@ -1541,11 +1539,8 @@ int tfc_tbl_scope_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, /* * Check if any table has memory configured and, if so, free it. */ - rc = tfo_ts_get_mem_cfg(tfcp->tfo, tsid, CFA_DIR_RX, CFA_REGION_TYPE_LKUP, - &local, &mem_cfg); - /* If mem already freed, then local is set to zero (false). */ - if (rc == 0 && local) - (void)tfc_tbl_scope_mem_free(tfcp, fid, tsid); + (void)tfo_ts_get_mem_cfg(tfcp->tfo, tsid, CFA_DIR_RX, + CFA_REGION_TYPE_LKUP, &local, &mem_cfg); rc = tfo_ts_set(tfcp->tfo, tsid, false, CFA_APP_TYPE_INVALID, false, 0); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_util.c b/drivers/net/bnxt/tf_core/v3/tfc_util.c index d3229bd104..91ad3ad657 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_util.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_util.c @@ -220,6 +220,12 @@ uint32_t prev_pow2(uint32_t x) return x == 1 ? 0 : (BITS_IN_VAR(x) - 1 - __builtin_clz(x - 1)); } +/* returns 0 if power of 2 */ +int32_t is_pow2(uint32_t x) +{ + return (x != 0 && ((x - 1) & x)) ? -1 : 0; +} + uint32_t roundup32(uint32_t x, uint32_t y) { return ((x + y - 1) / y) * y; diff --git a/drivers/net/bnxt/tf_core/v3/tfc_util.h b/drivers/net/bnxt/tf_core/v3/tfc_util.h index 7d33947d1d..5114517792 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_util.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_util.h @@ -110,6 +110,9 @@ uint32_t tfc_getbits(uint32_t *data, int offset, int blen); */ uint32_t next_pow2(uint32_t x); +/* returns 0 if power of 2 */ +int32_t is_pow2(uint32_t x); + /* * Calculate the largest power of 2 that is less than x. The return value is * the exponent of 2. -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (9 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 10/54] net/bnxt/tf_core: fix table scope free Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 12/54] net/bnxt/tf_ulp: add support for special vxlan Manish Kurup ` (43 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Kishore Padmanabha, Peter Spreadborough, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The representor flows were not being deleted as part of the vfr clean up. Added code to delete flows related to vfr interface. Also fixed the stats counter thread lockup. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/bnxt_reps.c | 31 ++++++++++++++++++++++++---- drivers/net/bnxt/tf_core/v3/tfc_em.c | 5 +++-- drivers/net/bnxt/tf_core/v3/tfo.c | 1 + drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 29 ++++++++++++++++---------- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h | 2 +- 5 files changed, 50 insertions(+), 18 deletions(-) diff --git a/drivers/net/bnxt/bnxt_reps.c b/drivers/net/bnxt/bnxt_reps.c index 20a0ba65a5..f32b55b1ee 100644 --- a/drivers/net/bnxt/bnxt_reps.c +++ b/drivers/net/bnxt/bnxt_reps.c @@ -502,12 +502,33 @@ int bnxt_rep_dev_start_op(struct rte_eth_dev *eth_dev) return 0; } +static int bnxt_tf_vfr_flush_flows(struct bnxt_representor *vfr_bp) +{ + struct bnxt *parent_bp = vfr_bp->parent_dev->data->dev_private; + uint16_t func_id; + + /* it is assumed that port is either TVF or PF */ + if (unlikely(ulp_port_db_port_func_id_get(parent_bp->ulp_ctx, + vfr_bp->dpdk_port_id, + &func_id))) { + BNXT_DRV_DBG(ERR, "Invalid argument\n"); + return -EINVAL; + } + return ulp_flow_db_function_flow_flush(parent_bp->ulp_ctx, func_id); +} + static int bnxt_tf_vfr_free(struct bnxt_representor *vfr) { struct bnxt *parent_bp; int32_t rc; PMD_DRV_LOG_LINE(DEBUG, "BNXT Port:%d VFR ulp free", vfr->dpdk_port_id); + rc = bnxt_tf_vfr_flush_flows(vfr); + if (rc) + PMD_DRV_LOG_LINE(ERR, + "Failed to delete rules from Port:%d VFR", + vfr->dpdk_port_id); + rc = bnxt_ulp_delete_vfr_default_rules(vfr); if (rc) PMD_DRV_LOG_LINE(ERR, @@ -603,15 +624,17 @@ int bnxt_rep_dev_info_get_op(struct rte_eth_dev *eth_dev, struct bnxt *parent_bp; unsigned int max_rx_rings; + /* Need be an error scenario, if parent is removed first */ + if (eth_dev->device->driver == NULL) + return -ENODEV; + /* MAC Specifics */ if (!bnxt_rep_check_parent(rep_bp)) { - PMD_DRV_LOG_LINE(INFO, "Rep parent port does not exist"); - /* Need be an error scenario, if parent is removed first */ - if (eth_dev->device->driver == NULL) - return -ENODEV; + PMD_DRV_LOG_LINE(INFO, "Rep parent port does not exist."); /* Need not be an error scenario, if parent is closed first */ return 0; } + parent_bp = rep_bp->parent_dev->data->dev_private; PMD_DRV_LOG_LINE(DEBUG, "Representor dev_info_get_op"); dev_info->max_mac_addrs = parent_bp->max_l2_ctx; diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c index feb6e899f6..8264f9a05d 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c @@ -936,8 +936,9 @@ int tfc_mpc_batch_end(struct tfc *tfcp, tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - if (unlikely(mpc_info->mpcops == NULL)) { - PMD_DRV_LOG_LINE(ERR, "MPC not initialized"); + if (unlikely(mpc_info == NULL || mpc_info->mpcops == NULL)) { + PMD_DRV_LOG_LINE(ERR, "%s: MPC not initialized", + __func__); return -EINVAL; } diff --git a/drivers/net/bnxt/tf_core/v3/tfo.c b/drivers/net/bnxt/tf_core/v3/tfo.c index bee813ebf6..f4ee81aefd 100644 --- a/drivers/net/bnxt/tf_core/v3/tfo.c +++ b/drivers/net/bnxt/tf_core/v3/tfo.c @@ -157,6 +157,7 @@ int tfo_mpcinfo_get(void *tfo, struct cfa_bld_mpcinfo **mpc_info) { struct tfc_object *tfco = (struct tfc_object *)tfo; + *mpc_info = NULL; if (tfo == NULL) { PMD_DRV_LOG_LINE(ERR, "Invalid tfo pointer"); return -EINVAL; diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c index 753c19b055..6b6733133a 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c @@ -158,9 +158,11 @@ ulp_sc_mgr_deinit(struct bnxt_ulp_context *ctxt) if (!ulp_sc_info) return -EINVAL; - rte_free(ulp_sc_info->stats_cache_tbl); + if (ulp_sc_info->stats_cache_tbl) + rte_free(ulp_sc_info->stats_cache_tbl); - rte_free(ulp_sc_info->read_data); + if (ulp_sc_info->read_data) + rte_free(ulp_sc_info->read_data); rte_free(ulp_sc_info); @@ -186,9 +188,14 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) uint32_t batch_size; struct tfc *tfcp = NULL; uint32_t batch, stat_cnt; + int oldstate; + int oldtype; uint8_t *data; int rc; + pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate); + pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype); + while (true) { ctxt = NULL; while (!ctxt) { @@ -222,7 +229,6 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) if (bnxt_ulp_cntxt_acquire_fdb_lock(ctxt)) break; - batch_info.enabled = false; rc = tfc_mpc_batch_start(&batch_info); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, @@ -250,12 +256,12 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) (uint64_t)sce; rc = sc_ops->ulp_stats_cache_update(tfcp, - sce->dir, - &ulp_sc_info->read_data_iova[batch], - sce->handle, - &words, - &batch_info, - sce->reset); + sce->dir, + data, + sce->handle, + &words, + &batch_info, + sce->reset); if (unlikely(rc)) { /* Abort this batch */ PMD_DRV_LOG_LINE(ERR, @@ -278,7 +284,8 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) bnxt_ulp_cntxt_release_fdb_lock(ctxt); if (unlikely(rc)) { - PMD_DRV_LOG_LINE(ERR, "MPC batch end failed rc:%d", rc); + PMD_DRV_LOG_LINE(ERR, + "MPC batch end failed rc:%d", rc); batch_info.enabled = false; break; } @@ -306,7 +313,7 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) } terminate: - PMD_DRV_LOG_LINE(DEBUG, "Terminating the stats cachce thread"); + PMD_DRV_LOG_LINE(ERR, "Terminating the stats cachce thread"); return 0; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h index 5501dc18fd..29d0b0a1a4 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h @@ -36,7 +36,7 @@ struct ulp_sc_tfc_stats_cache_entry { struct bnxt_ulp_sc_info { struct ulp_sc_tfc_stats_cache_entry *stats_cache_tbl; uint8_t *read_data; - uint64_t read_data_iova[ULP_SC_BATCH_SIZE]; + uint64_t read_data_iova[ULP_SC_BATCH_SIZE]; uint32_t flags; uint32_t num_entries; uint32_t num_counters; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 12/54] net/bnxt/tf_ulp: add support for special vxlan 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (10 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 Manish Kurup ` (42 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Smitha Pisupati, Kishore Padmanabha From: Smitha Pisupati <smitha.pisupati@broadcom.com> Some special vxlan packets have extra padding bytes between the vxlan header and inner eth header. Thor2 is required to forward those packets as is, and not drop them. To make this possible, following changes were made: 1. Don't check on the l2 header type in the default template 2. Based on a feature bit called special_vxlan, enable the support to pass the special packets. With feature bits disabled, normal vxlan should still pass. Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index c8b6f544ca..08934eac3f 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1069,7 +1069,6 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) #else uint64_t bit = 0; #endif - *out_bits = 0; if ((feat_bits | bit) != feat_bits) { BNXT_DRV_DBG(ERR, "Invalid TF feature bit is set %" PRIu64 "\n", @@ -1090,6 +1089,9 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Multi Tunnel Flow Feature is enabled\n"); if (bit & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE) BNXT_DRV_DBG(ERR, "Multi Instance Feature is enabled\n"); + if (bit & BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN) + BNXT_DRV_DBG(ERR, "Special VXLAN Feature is enabled\n"); + *out_bits = bit; return 0; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (11 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 12/54] net/bnxt/tf_ulp: add support for special vxlan Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Manish Kurup ` (41 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shahaji Bhosle From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Increased the shared pool size for table scopes from 8 to 32. So that 32 instances of application can be created. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 55adceb59f..af3e82a6a7 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -373,7 +373,7 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) if ((feat_bits & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE)) { if (!BNXT_PF(bp)) { shared = true; - max_pools = 8; + max_pools = 32; } } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (12 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 15/54] net/bnxt/tf_ulp: add support for tcam priority update Manish Kurup ` (40 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Jay Ding, Shuanglin Wang, Peter Spreadborough From: Jay Ding <jay.ding@broadcom.com> 1. Thor doesn't support meter stats. Add null pointer check on ulp_mapper_mtr_stats_hndl_del. 2. Increased the number of mac_addr_cache from 512 to 2048. Changed the data type in an error message. Signed-off-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 10 ++++++++++ drivers/net/bnxt/tf_ulp/ulp_gen_hash.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c index bc48e35c00..7f6a84e699 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c @@ -598,6 +598,16 @@ bnxt_flow_mtr_destroy(struct rte_eth_dev *dev, if (ret) goto parse_error; + oper = ulp_mapper_data_oper_get(ulp_ctx); + if (!oper) + goto parse_error; + + if (oper->ulp_mapper_mtr_stats_hndl_del) { + ret = oper->ulp_mapper_mtr_stats_hndl_del(mtr_id); + if (ret) + goto parse_error; + } + BNXT_DRV_DBG(DEBUG, "Bnxt flow meter %d is deleted\n", mtr_id); return 0; diff --git a/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c b/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c index e8cb1a3784..74cdd5c1da 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c +++ b/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c @@ -33,7 +33,7 @@ int32_t ulp_bit_alloc_list_alloc(struct bit_alloc_list *blist, return 0; } jdx = (uint32_t)(bsize_64 * ULP_INDEX_BITMAP_SIZE); - BNXT_DRV_DBG(ERR, "bit allocator is full reached max:%x\n", jdx); + BNXT_DRV_DBG(ERR, "bit allocator is full reached max:%d\n", jdx); return -1; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 15/54] net/bnxt/tf_ulp: add support for tcam priority update 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (13 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 16/54] net/bnxt/tf_ulp: hot upgrade support Manish Kurup ` (39 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> As part of the hot upgrade feature, added supported for TCAM entry's priority to be updated. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/hsi_struct_def_dpdk.h | 541 ++++++++++++++++++++--- drivers/net/bnxt/tf_core/v3/tfc.h | 27 ++ drivers/net/bnxt/tf_core/v3/tfc_msg.c | 32 ++ drivers/net/bnxt/tf_core/v3/tfc_msg.h | 6 + drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 3 + drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 3 +- drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 29 ++ drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c | 24 + drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h | 12 + drivers/net/bnxt/tf_ulp/ulp_mapper.c | 68 ++- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 8 +- drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 1 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 36 ++ 13 files changed, 729 insertions(+), 61 deletions(-) diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index 3a0c1fbdc2..de72e0e9e9 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -828,6 +828,18 @@ struct __rte_packed_begin cmd_nums { #define HWRM_UDCC_COMP_QCFG UINT32_C(0x25f) /* This command queries the status and statistics of the computation unit. */ #define HWRM_UDCC_COMP_QUERY UINT32_C(0x260) + /* + * This command is used to query the pfc watchdog max configurable + * timeout value. + */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS UINT32_C(0x261) + /* This command is used to set the PFC watchdog timeout value. */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_CFG UINT32_C(0x262) + /* + * This command is used to query the current configured pfc watchdog + * timeout value. + */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_QCFG UINT32_C(0x263) /* Experimental */ #define HWRM_TF UINT32_C(0x2bc) /* Experimental */ @@ -950,18 +962,10 @@ struct __rte_packed_begin cmd_nums { #define HWRM_TFC_TBL_SCOPE_CONFIG_GET UINT32_C(0x39a) /* TruFlow command to query the resource usage state. */ #define HWRM_TFC_RESC_USAGE_QUERY UINT32_C(0x39b) - /* - * This command is used to query the pfc watchdog max configurable - * timeout value. - */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS UINT32_C(0x39c) - /* This command is used to set the PFC watchdog timeout value. */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_CFG UINT32_C(0x39d) - /* - * This command is used to query the current configured pfc watchdog - * timeout value. - */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_QCFG UINT32_C(0x39e) + /* TruFlow command to free resources for a global id. */ + #define HWRM_TFC_GLOBAL_ID_FREE UINT32_C(0x39c) + /* TruFlow command to update the priority of one tcam entry. */ + #define HWRM_TFC_TCAM_PRI_UPDATE UINT32_C(0x39d) /* Experimental */ #define HWRM_SV UINT32_C(0x400) /* Flush any trace buffer data that has not been sent to the host. */ @@ -1246,8 +1250,8 @@ struct __rte_packed_begin hwrm_err_output { #define HWRM_VERSION_MINOR 10 #define HWRM_VERSION_UPDATE 3 /* non-zero means beta version */ -#define HWRM_VERSION_RSVD 40 -#define HWRM_VERSION_STR "1.10.3.40" +#define HWRM_VERSION_RSVD 86 +#define HWRM_VERSION_STR "1.10.3.86" /**************** * hwrm_ver_get * @@ -12667,29 +12671,94 @@ struct __rte_packed_begin hwrm_async_event_cmpl_dbg_buf_producer { UINT32_C(0xffff) #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SFT \ 0 - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SRT_TRACE \ UINT32_C(0x0) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SRT2_TRACE \ UINT32_C(0x1) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CRT_TRACE \ UINT32_C(0x2) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CRT2_TRACE \ UINT32_C(0x3) /* RIGP0 trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP0_TRACE \ UINT32_C(0x4) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_L2_HWRM_TRACE \ UINT32_C(0x5) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x6) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA0_TRACE \ + UINT32_C(0x7) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA1_TRACE \ + UINT32_C(0x8) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA2_TRACE \ + UINT32_C(0x9) + /* RIGP1 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP1_TRACE \ + UINT32_C(0xa) + /* AFM/Kong HWRM trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0xb) #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_LAST \ - HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ROCE_HWRM_TRACE + HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_AFM_KONG_HWRM_TRACE +} __rte_packed_end; + +/* hwrm_async_event_cmpl_peer_mmap_change (size:128b/16B) */ +struct __rte_packed_begin hwrm_async_event_cmpl_peer_mmap_change { + uint16_t type; + /* + * This field indicates the exact type of the completion. + * By convention, the LSB identifies the length of the + * record in 16B units. Even values indicate 16B + * records. Odd values indicate 32B + * records. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_MASK \ + UINT32_C(0x3f) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_SFT 0 + /* HWRM Asynchronous Event Information */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_HWRM_ASYNC_EVENT \ + UINT32_C(0x2e) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_LAST \ + HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_HWRM_ASYNC_EVENT + /* Identifiers of events. */ + uint16_t event_id; + /* + * This async notification message is used to inform the driver + * that the memory mapping for a peer device is set. The driver + * will need to query using get_structured_data. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_PEER_MMAP_CHANGE \ + UINT32_C(0x4d) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_LAST \ + HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_PEER_MMAP_CHANGE + /* Event specific data. */ + uint32_t event_data2; + uint8_t opaque_v; + /* + * This value is written by the NIC such that it will be different + * for each pass through the completion queue. The even passes + * will write 1. The odd passes will write 0. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_V UINT32_C(0x1) + /* opaque is 7 b */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_OPAQUE_MASK \ + UINT32_C(0xfe) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_OPAQUE_SFT 1 + /* 8-lsb timestamp (100-msec resolution) */ + uint8_t timestamp_lo; + /* 16-lsb timestamp (100-msec resolution) */ + uint16_t timestamp_hi; + /* Event specific data */ + uint32_t event_data1; } __rte_packed_end; /* hwrm_async_event_cmpl_fw_trace_msg (size:128b/16B) */ @@ -14990,9 +15059,7 @@ struct __rte_packed_begin hwrm_func_qcaps_output { /* * The maximum number of VFs that can be * allocated to the function. This is valid only on the - * PF with SR-IOV enabled. 0xFF... (All Fs) if this - * command is called on a PF with SR-IOV disabled or - * on a VF. + * PF with SR-IOV enabled. */ uint16_t max_vfs; /* @@ -23717,27 +23784,45 @@ struct __rte_packed_begin hwrm_func_backing_store_cfg_v2_input { /* XID partition context. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_XID_PARTITION \ UINT32_C(0x1d) - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_SRT_TRACE \ UINT32_C(0x1e) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_SRT2_TRACE \ UINT32_C(0x1f) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CRT_TRACE \ UINT32_C(0x20) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CRT2_TRACE \ UINT32_C(0x21) /* RIGP0 trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_RIGP0_TRACE \ UINT32_C(0x22) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_L2_HWRM_TRACE \ UINT32_C(0x23) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x24) + /* TimedTx pacing TQM ring. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_TTX_PACING_TQM_RING \ + UINT32_C(0x25) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CA0_TRACE \ + UINT32_C(0x26) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CA1_TRACE \ + UINT32_C(0x27) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CA2_TRACE \ + UINT32_C(0x28) + /* RIGP1 trace. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_RIGP1_TRACE \ + UINT32_C(0x29) + /* AFM/Kong HWRM trace. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0x2a) /* Invalid type. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_INVALID \ UINT32_C(0xffff) @@ -23877,6 +23962,21 @@ struct __rte_packed_begin hwrm_func_backing_store_cfg_v2_input { uint32_t split_entry_2; /* Split entry #3. */ uint32_t split_entry_3; + uint32_t enables; + /* + * This bit must be '1' for the next_bs_offset field to be + * configured. + */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_ENABLES_NEXT_BS_OFFSET \ + UINT32_C(0x1) + /* + * This field specifies the next byte offset of the backing store + * for the firmware to use. The driver can use this field to + * direct the firmware to resume the logging-to-host from + * the host buffer where the firmware was lastly written + * before it restarts, e.g. due to an error recovery. + */ + uint32_t next_bs_offset; } __rte_packed_end; /* hwrm_func_backing_store_cfg_v2_output (size:128b/16B) */ @@ -23992,27 +24092,45 @@ struct __rte_packed_begin hwrm_func_backing_store_qcfg_v2_input { /* VF XID partition in-use table. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_XID_PARTITION_TABLE \ UINT32_C(0x1d) - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_SRT_TRACE \ UINT32_C(0x1e) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_SRT2_TRACE \ UINT32_C(0x1f) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_CRT_TRACE \ UINT32_C(0x20) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_CRT2_TRACE \ UINT32_C(0x21) /* RIGP0 trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_RIGP0_TRACE \ UINT32_C(0x22) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_L2_HWRM_TRACE \ UINT32_C(0x23) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x24) + /* TimedTx pacing TQM ring. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_TTX_PACING_TQM_RING \ + UINT32_C(0x25) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_CA0_TRACE \ + UINT32_C(0x26) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_CA1_TRACE \ + UINT32_C(0x27) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_CA2_TRACE \ + UINT32_C(0x28) + /* RIGP1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_RIGP1_TRACE \ + UINT32_C(0x29) + /* AFM/Kong HWRM trace. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0x2a) /* Invalid type. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_INVALID \ UINT32_C(0xffff) @@ -24436,27 +24554,45 @@ struct __rte_packed_begin hwrm_func_backing_store_qcaps_v2_input { /* XID partition context. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_XID_PARTITION \ UINT32_C(0x1d) - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_SRT_TRACE \ UINT32_C(0x1e) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_SRT2_TRACE \ UINT32_C(0x1f) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_CRT_TRACE \ UINT32_C(0x20) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_CRT2_TRACE \ UINT32_C(0x21) /* RIGP0 trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_RIGP0_TRACE \ UINT32_C(0x22) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_L2_HWRM_TRACE \ UINT32_C(0x23) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x24) + /* TimedTx pacing TQM ring. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_TTX_PACING_TQM_RING \ + UINT32_C(0x25) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_CA0_TRACE \ + UINT32_C(0x26) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_CA1_TRACE \ + UINT32_C(0x27) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_CA2_TRACE \ + UINT32_C(0x28) + /* RIGP1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_RIGP1_TRACE \ + UINT32_C(0x29) + /* AFM/Kong HWRM trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0x2a) /* Invalid type. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_INVALID \ UINT32_C(0xffff) @@ -24531,27 +24667,45 @@ struct __rte_packed_begin hwrm_func_backing_store_qcaps_v2_output { /* XID partition context. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_XID_PARTITION \ UINT32_C(0x1d) - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_SRT_TRACE \ UINT32_C(0x1e) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_SRT2_TRACE \ UINT32_C(0x1f) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_CRT_TRACE \ UINT32_C(0x20) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_CRT2_TRACE \ UINT32_C(0x21) /* RIGP0 trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_RIGP0_TRACE \ UINT32_C(0x22) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_L2_HWRM_TRACE \ UINT32_C(0x23) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x24) + /* TimedTx pacing TQM ring. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_TTX_PACING_TQM_RING \ + UINT32_C(0x25) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_CA0_TRACE \ + UINT32_C(0x26) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_CA1_TRACE \ + UINT32_C(0x27) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_CA2_TRACE \ + UINT32_C(0x28) + /* RIGP1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_RIGP1_TRACE \ + UINT32_C(0x29) + /* AFM/Kong HWRM trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0x2a) /* Invalid type. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_INVALID \ UINT32_C(0xffff) @@ -24595,6 +24749,26 @@ struct __rte_packed_begin hwrm_func_backing_store_qcaps_v2_output { */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_ROCE_QP_PSEUDO_STATIC_ALLOC \ UINT32_C(0x8) + /* + * When set, it indicates the region for this type is not a regular + * context memory but a memory for firmware text-based debug traces + * which consist of ASCII characters. + */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_FW_DBG_TRACE \ + UINT32_C(0x10) + /* + * When set, it indicates the region for this type is not a regular + * context memory but a memory for firmware debug traces which + * consist of binary data. + */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_FW_BIN_DBG_TRACE \ + UINT32_C(0x20) + /* + * When set, it indicates the support of configuring + * the next_bs_offset in hwrm_func_backing_store_cfg_v2. + */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_NEXT_BS_OFFSET \ + UINT32_C(0x40) /* * Bit map of the valid instances associated with the * backing store type. @@ -62274,6 +62448,114 @@ struct __rte_packed_begin hwrm_tfc_resc_usage_query_output { uint8_t valid; } __rte_packed_end; +/**************************** + * hwrm_tfc_tcam_pri_update * + ****************************/ + + +/* hwrm_tfc_tcam_pri_update_input (size:256b/32B) */ +struct hwrm_tfc_tcam_pri_update_input { + /* The HWRM command request type. */ + uint16_t req_type; + /* + * The completion ring to send the completion event on. This should + * be the NQ ID returned from the `nq_alloc` HWRM command. + */ + uint16_t cmpl_ring; + /* + * The sequence ID is used by the driver for tracking multiple + * commands. This ID is treated as opaque data by the firmware and + * the value is returned in the `hwrm_resp_hdr` upon completion. + */ + uint16_t seq_id; + /* + * The target ID of the command: + * * 0x0-0xFFF8 - The function ID + * * 0xFFF8-0xFFFC, 0xFFFE - Reserved for internal processors + * * 0xFFFD - Reserved for user-space HWRM interface + * * 0xFFFF - HWRM + */ + uint16_t target_id; + /* + * A physical address pointer pointing to a host buffer that the + * command's response data will be written. This can be either a host + * physical address (HPA) or a guest physical address (GPA) and must + * point to a physically contiguous block of memory. + */ + uint64_t resp_addr; + /* + * Function ID. + * If running on a trusted VF or PF, the fid field can be used to + * specify that the function is a non-trusted VF of the parent PF. + * If this command is used for the target_id itself, this field is + * set to 0xffff. A non-trusted VF cannot specify a valid FID in this + * field. + */ + uint16_t fid; + /* + * Session id associated with the firmware. Will be used + * for validation if the track type matches. + */ + uint16_t sid; + /* Logical TCAM ID. */ + uint16_t tcam_id; + /* Entry new priority. */ + uint16_t priority; + /* Control flags. */ + uint8_t flags; + /* Indicates the flow direction. */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_FLAGS_DIR UINT32_C(0x1) + /* If this bit set to 0, then it indicates rx flow. */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_FLAGS_DIR_RX UINT32_C(0x0) + /* If this bit is set to 1, then it indicates tx flow. */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_FLAGS_DIR_TX UINT32_C(0x1) + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_FLAGS_DIR_LAST \ + HWRM_TFC_TCAM_PRI_UPDATE_INPUT_FLAGS_DIR_TX + /* + * Subtype of TCAM resource. See + * cfa_v3/include/cfa_resources.h. + */ + uint8_t subtype; + /* Describes the type of tracking id to be used */ + uint8_t track_type; + /* Invalid track type */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_INVALID \ + UINT32_C(0x0) + /* Tracked by session id */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_SID \ + UINT32_C(0x1) + /* Tracked by function id */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_FID \ + UINT32_C(0x2) + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_LAST \ + HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_FID + /* unused. */ + uint8_t unused0[5]; +} __rte_packed; + +/* hwrm_tfc_tcam_pri_update_output (size:128b/16B) */ +struct hwrm_tfc_tcam_pri_update_output { + /* The specific error status for the command. */ + uint16_t error_code; + /* The HWRM command request type. */ + uint16_t req_type; + /* The sequence ID from the original command. */ + uint16_t seq_id; + /* The length of the response data in number of bytes. */ + uint16_t resp_len; + /* unused. */ + uint8_t unused0[7]; + /* + * This field is used in Output records to indicate that the + * output is completely written to RAM. This field should be + * read as '1' to indicate that the output has been + * completely written. When writing a command completion or + * response to an internal processor, the order of writes has + * to be such that this field is written last. + */ + uint8_t valid; +} __rte_packed; + /****************************** * hwrm_tunnel_dst_port_query * ******************************/ @@ -63557,9 +63839,14 @@ struct __rte_packed_begin hwrm_pcie_qstats_input { */ uint64_t resp_addr; /* - * The size of PCIe statistics block in bytes. - * Firmware will DMA the PCIe statistics to - * the host with this field size in the response. + * This field specifies the size of the host buffer for the + * statistics block. The actual size of the statistics block + * returned by FW will depend on the chip. Older chips will + * use the pcie_ctx_hw_stats structure and newer chips will + * use the superset pcie_ctx_hw_stats_v2 structure. The actual + * size of the data will be returned in the HWRM response and + * it will be smaller than or equal to the size specified in + * this field. */ uint16_t pcie_stat_size; uint8_t unused_0[6]; @@ -63629,6 +63916,119 @@ struct __rte_packed_begin pcie_ctx_hw_stats { uint64_t pcie_recovery_histogram; } __rte_packed_end; +/* + * Extended PCIe Statistics Format. This structure is a superset of + * pcie_ctx_hw_stats, i.e. the fields between the two structures are + * identical up to and including the pcie_recovery_histogram field. + */ +/* pcie_ctx_hw_stats_v2 (size:4096b/512B) */ +struct pcie_ctx_hw_stats_v2 { + /* Number of physical layer receiver errors */ + uint64_t pcie_pl_signal_integrity; + /* Number of DLLP CRC errors detected by Data Link Layer */ + uint64_t pcie_dl_signal_integrity; + /* + * Number of TLP LCRC and sequence number errors detected + * by Data Link Layer + */ + uint64_t pcie_tl_signal_integrity; + /* Number of times LTSSM entered Recovery state */ + uint64_t pcie_link_integrity; + /* Report number of TLP bits that have been transmitted in Mbps */ + uint64_t pcie_tx_traffic_rate; + /* Report number of TLP bits that have been received in Mbps */ + uint64_t pcie_rx_traffic_rate; + /* Number of DLLP bytes that have been transmitted */ + uint64_t pcie_tx_dllp_statistics; + /* Number of DLLP bytes that have been received */ + uint64_t pcie_rx_dllp_statistics; + /* + * Number of times spent in each phase of gen3 + * equalization + */ + uint64_t pcie_equalization_time; + /* Records the last 16 transitions of the LTSSM */ + uint32_t pcie_ltssm_histogram[4]; + /* + * Record the last 8 reasons on why LTSSM transitioned + * to Recovery + */ + uint64_t pcie_recovery_histogram; + /* The TL credit histogram counter buckets for non-posted-headers. */ + uint32_t pcie_tl_credit_nph_histogram[8]; + /* The TL credit histogram counter buckets for posted-headers. */ + uint32_t pcie_tl_credit_ph_histogram[8]; + /* The TL credit histogram counter buckets for posted-data. */ + uint32_t pcie_tl_credit_pd_histogram[8]; + /* + * The most recently completed read request times (in microseconds) + * for the 4 tags. + */ + uint32_t pcie_cmpl_latest_times[4]; + /* The longest read completion time (in microseconds). */ + uint32_t pcie_cmpl_longest_time; + /* The shortest read completion time (in microseconds). */ + uint32_t pcie_cmpl_shortest_time; + uint32_t unused_0[2]; + /* + * This field represents an array of 4 most recent (in time) read + * completion headers for tags 0 to 3. Each header consists of 4 + * words, in the following arrangement: + * | Word | Contains | + * | ---- | ------------------------------------| + * | 0 | The header bits 0 to 31. | + * | 1 | The header bits 32 to 63. | + * | 2 | The header bits 64 to 95. | + * | 3 | Reserved. | + */ + uint32_t pcie_cmpl_latest_headers[4][4]; + /* + * This field represents an array of 4 longest (in time) read + * completion headers for tags 0 to 3. Each header consists of 4 + * words, in the following arrangement: + * | Word | Contains | + * | ---- | ------------------------------------| + * | 0 | The header bits 0 to 31. | + * | 1 | The header bits 32 to 63. | + * | 2 | The header bits 64 to 95. | + * | 3 | Reserved. | + */ + uint32_t pcie_cmpl_longest_headers[4][4]; + /* + * This field represents an array of 4 shortest (in time) read + * completion headers for tags 0 to 3. Each header consists of 4 + * words, in the following arrangement: + * | Word | Contains | + * | ---- | ------------------------------------| + * | 0 | The header bits 0 to 31. | + * | 1 | The header bits 32 to 63. | + * | 2 | The header bits 64 to 95. | + * | 3 | Reserved. | + */ + uint32_t pcie_cmpl_shortest_headers[4][4]; + /* The PCIe write latency histogram data counter values. */ + uint32_t pcie_wr_latency_histogram[12]; + /* + * The total count for all of the requests, less the ones in the + * buckets. + */ + uint32_t pcie_wr_latency_all_normal_count; + uint32_t unused_1; + /* The count of posted packets sent to the PCI-e. */ + uint64_t pcie_posted_packet_count; + /* The count of non-posted packets sent to the PCI-e. */ + uint64_t pcie_non_posted_packet_count; + /* + * The count of other packets (i.e. not posted or non-posted) sent to + * the PCI-e. + */ + uint64_t pcie_other_packet_count; + /* The count of blocked packets sent to the PCI-e. */ + uint64_t pcie_blocked_packet_count; + /* The count of completion packets sent to the PCI-e. */ + uint64_t pcie_cmpl_packet_count; +} __rte_packed; + /**************************** * hwrm_stat_generic_qstats * ****************************/ @@ -64641,6 +65041,16 @@ struct __rte_packed_begin hwrm_nvm_write_input { */ #define HWRM_NVM_WRITE_INPUT_FLAGS_BATCH_LAST \ UINT32_C(0x4) + /* + * This flag can only be used when NIC is running a fastboot image. + * It has no effect when supplied to a non-fastboot image. Normally, + * all signed binaries must have the same CRID as the CRID programmed + * in the NIC SOTP. When the skip_crid_check flag is set, the CRID of + * the signed binary being written to the NVM does not have to match + * the CRID programmed in the SOTP of the NIC. + */ + #define HWRM_NVM_WRITE_INPUT_FLAGS_SKIP_CRID_CHECK \ + UINT32_C(0x8) /* * The requested length of the allocated NVM for the item, in bytes. * This value may be greater than or equal to the specified data @@ -68388,29 +68798,44 @@ struct __rte_packed_begin hwrm_dbg_log_buffer_flush_input { uint64_t resp_addr; /* Type of trace buffer to flush. */ uint16_t type; - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_SRT_TRACE \ UINT32_C(0x0) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_SRT2_TRACE \ UINT32_C(0x1) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_CRT_TRACE \ UINT32_C(0x2) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_CRT2_TRACE \ UINT32_C(0x3) /* RIGP0 trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_RIGP0_TRACE \ UINT32_C(0x4) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_L2_HWRM_TRACE \ UINT32_C(0x5) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x6) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_CA0_TRACE \ + UINT32_C(0x7) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_CA1_TRACE \ + UINT32_C(0x8) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_CA2_TRACE \ + UINT32_C(0x9) + /* RIGP1 trace. */ + #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_RIGP1_TRACE \ + UINT32_C(0xa) + /* AFM/Kong HWRM trace. */ + #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0xb) #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_LAST \ - HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_ROCE_HWRM_TRACE + HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_AFM_KONG_HWRM_TRACE uint8_t unused_1[2]; /* Control flags. */ uint32_t flags; diff --git a/drivers/net/bnxt/tf_core/v3/tfc.h b/drivers/net/bnxt/tf_core/v3/tfc.h index cb4dc5558a..80a5c64c17 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc.h +++ b/drivers/net/bnxt/tf_core/v3/tfc.h @@ -681,6 +681,33 @@ int tfc_tcam_get(struct tfc *tfcp, uint16_t fid, int tfc_tcam_free(struct tfc *tfcp, uint16_t fid, const struct tfc_tcam_info *tcam_info); +/** + * Update the TFC TCAM entry priority + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] tt + * Track type - either track by session or by function + * + * @param[in] tcam_info + * All the information related to the requested index table entry (subtype/dir) + * including the id. + * + * @param[in] priority + * The priority of the tcam entry to be updated with. + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int tfc_tcam_priority_update(struct tfc *tfcp, uint16_t fid, + enum cfa_track_type tt, + const struct tfc_tcam_info *tcam_info, + uint16_t priority); + /** * @page TBM Table Scope * diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_msg.c index fb007a66f6..0a636a1677 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.c @@ -1183,6 +1183,38 @@ tfc_msg_tcam_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, return rc; } +int +tfc_msg_tcam_prioriry_update(struct tfc *tfcp, uint16_t fid, uint16_t sid, + enum cfa_dir dir, enum cfa_track_type tt, + enum cfa_resource_subtype_tcam subtype, + uint16_t tcam_id, uint16_t priority) +{ + int rc = 0; + struct bnxt *bp = tfcp->bp; + struct hwrm_tfc_tcam_pri_update_input req = { 0 }; + struct hwrm_tfc_tcam_pri_update_output resp = { 0 }; + + req.flags = (dir == CFA_DIR_TX ? + HWRM_TFC_TCAM_SET_INPUT_FLAGS_DIR_TX : + HWRM_TFC_TCAM_SET_INPUT_FLAGS_DIR_RX); + + rc = tfc_msg_set_fid(bp, fid, &req.fid); + if (rc) + return rc; + req.sid = rte_le_to_cpu_16(sid); + req.tcam_id = rte_le_to_cpu_16(tcam_id); + req.subtype = (uint8_t)subtype; + req.priority = rte_le_to_cpu_16(priority); + req.track_type = (tt == CFA_TRACK_TYPE_FID ? + HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_FID : + HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_SID); + + rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_TCAM_PRI_UPDATE, + &req, sizeof(req), &resp, + sizeof(resp)); + return rc; +} + int tfc_msg_if_tbl_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_if_tbl subtype, diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_msg.h index a03452f00a..2d1a6816c0 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.h @@ -154,6 +154,12 @@ tfc_msg_tcam_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_tcam subtype, uint16_t tcam_id); +int +tfc_msg_tcam_prioriry_update(struct tfc *tfcp, uint16_t fid, uint16_t sid, + enum cfa_dir dir, enum cfa_track_type tt, + enum cfa_resource_subtype_tcam subtype, + uint16_t tcam_id, uint16_t priority); + int tfc_msg_if_tbl_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_if_tbl subtype, diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h index e0e31532fd..3a2745d405 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h @@ -327,4 +327,7 @@ bnxt_ulp_grp_miss_act_set(struct rte_eth_dev *dev, const struct rte_flow_action actions[], uint32_t *flow_id); +int32_t +bnxt_ulp_hot_upgrade_process(struct bnxt *bp); + #endif /* _BNXT_ULP_H_ */ diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index 08934eac3f..2cea9e5692 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1091,7 +1091,8 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Multi Instance Feature is enabled\n"); if (bit & BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN) BNXT_DRV_DBG(ERR, "Special VXLAN Feature is enabled\n"); - + if (bit & BNXT_ULP_FEATURE_BIT_HOT_UPGRADE) + BNXT_DRV_DBG(ERR, "Hot Upgrade Feature is enabled\n"); *out_bits = bit; return 0; diff --git a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c index b7a893a04f..30cd944362 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c +++ b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c @@ -993,3 +993,32 @@ bnxt_ulp_grp_miss_act_set(struct rte_eth_dev *dev, flow_error: return ret; } + +int32_t +bnxt_ulp_hot_upgrade_process(struct bnxt *bp) +{ + uint32_t flow_type = BNXT_ULP_TEMPLATE_HOT_UPGRADE; + uint16_t port_id = bp->eth_dev->data->port_id; + struct ulp_tlv_param param_list[] = { + { + .type = BNXT_ULP_DF_PARAM_TYPE_DEV_PORT_ID, + .length = 2, + .value = {(port_id >> 8) & 0xff, port_id & 0xff} + }, + { + .type = BNXT_ULP_DF_PARAM_TYPE_LAST, + .length = 0, + .value = {0} + } + }; + + if (!BNXT_CHIP_P7(bp)) + return -EPERM; + + if (ulp_flow_template_process(bp, param_list, flow_type, + port_id, 0)) + return -EIO; + + BNXT_DRV_DBG(DEBUG, "Hot upgrade operation performed\n"); + return 0; +} diff --git a/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c index c2ae3dc3a2..ac0a7e6db1 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c +++ b/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c @@ -626,3 +626,27 @@ ulp_gen_tbl_simple_list_search(struct ulp_mapper_gen_tbl_list *tbl_list, } return rc; } + +uint32_t +ulp_gen_tbl_simple_list_get_next(struct ulp_mapper_gen_tbl_list *tbl_list, + uint32_t *key_idx) +{ + struct ulp_mapper_gen_tbl_cont *cont = &tbl_list->container; + enum ulp_gen_list_search_flag rc = ULP_GEN_LIST_SEARCH_FULL; + struct ulp_mapper_gen_tbl_entry ent = { 0 }; + uint32_t idx = *key_idx; + + /* Check the given idx is a valid entry, if not get next one */ + while (idx < cont->num_elem) { + ent.ref_count = &cont->ref_count[idx]; + /* check ref count not zero and exact key matches */ + if (ULP_GEN_TBL_REF_CNT(&ent)) { + /* found the entry return */ + rc = ULP_GEN_LIST_SEARCH_FOUND; + *key_idx = idx; + break; + } + idx++; + } + return rc; +} diff --git a/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h b/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h index 2a6454bf9c..e88fd78acc 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h +++ b/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h @@ -219,4 +219,16 @@ uint32_t ulp_gen_tbl_simple_list_search(struct ulp_mapper_gen_tbl_list *tbl_list, uint8_t *match_key, uint32_t *key_idx); + +/* + * Perform simple list iteration + * + * tbl_list [in] - pointer to the generic table list + * key_idx [in/out] - returns key index . + * + * returns 2 on success. + */ +uint32_t +ulp_gen_tbl_simple_list_get_next(struct ulp_mapper_gen_tbl_list *tbl_list, + uint32_t *key_idx); #endif /* _ULP_EN_TBL_H_ */ diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index d545bd2fda..c463bce3d4 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -2619,6 +2619,7 @@ ulp_mapper_gen_tbl_process(struct bnxt_ulp_mapper_parms *parms, uint32_t i, num_kflds = 0, key_index = 0, num_par_kflds = 0, pad = 0; uint32_t gen_tbl_miss = 1, fdb_write = 0; uint8_t *byte_data; + uint64_t regval = 0; int32_t rc = 0; /* Get the key fields list and build the key. */ @@ -2725,7 +2726,9 @@ ulp_mapper_gen_tbl_process(struct bnxt_ulp_mapper_parms *parms, &gen_tbl_ent))) return -EINVAL; } else if (gen_tbl_list->tbl_type == - BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST) { + BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST && + tbl->tbl_opcode != + BNXT_ULP_GENERIC_TBL_OPC_ITERATE) { list_srch = ulp_gen_tbl_simple_list_search(gen_tbl_list, cache_key, &key_index); @@ -2826,6 +2829,53 @@ ulp_mapper_gen_tbl_process(struct bnxt_ulp_mapper_parms *parms, fdb_write = 1; parms->shared_hndl = (uint64_t)tbl_idx << 32 | key_index; break; + case BNXT_ULP_GENERIC_TBL_OPC_ITERATE: + if (gen_tbl_list->tbl_type != + BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST) { + BNXT_DRV_DBG(ERR, "%s: Invalid table opcode\n", + gen_tbl_list->gen_tbl_name); + return -EINVAL; + } + /* read the gen table index */ + if (unlikely(ulp_regfile_read(parms->regfile, + tbl->tbl_operand, + ®val))) { + BNXT_DRV_DBG(ERR, + "Fail to get tbl idx from regfile[%d].\n", + BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX); + return -EINVAL; + } + key_index = (uint32_t)rte_be_to_cpu_64(regval); + /* get the next index from the simple list table */ + rc = ulp_gen_tbl_simple_list_get_next(gen_tbl_list, &key_index); + if (rc == ULP_GEN_LIST_SEARCH_FOUND) { + gen_tbl_miss = 0; /* entry exits */ + regval = key_index; + (void)ulp_regfile_write(parms->regfile, + tbl->tbl_operand, + tfp_cpu_to_be_64(regval)); + g = &gen_tbl_ent; + rc = ulp_mapper_gen_tbl_entry_get(gen_tbl_list, + key_index, + &gen_tbl_ent); + if (rc) + return rc; + + /* scan the result list and update the regfile values */ + rc = ulp_mapper_tbl_ident_scan_ext(parms, tbl, + g->byte_data, + g->byte_data_size, + g->byte_order); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Fail to scan ident list\n"); + return rc; + } + + } else { + gen_tbl_miss = 1; /* no more entries */ + } + fdb_write = 0; + break; default: BNXT_DRV_DBG(ERR, "Invalid table opcode %x\n", tbl->tbl_opcode); return -EINVAL; @@ -3726,12 +3776,15 @@ ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms, case BNXT_ULP_FUNC_OPC_HANDLE_TO_OFFSET: case BNXT_ULP_FUNC_OPC_VFR_MARK_SET: case BNXT_ULP_FUNC_OPC_BD_ACT_SET: + case BNXT_ULP_FUNC_OPC_MTR_ID_TO_STATS_HANDLE: + case BNXT_ULP_FUNC_OPC_TCAM_SET_PRIORITY: process_src1 = 1; process_src2 = 1; break; case BNXT_ULP_FUNC_OPC_NOT_NOT: process_src1 = 1; case BNXT_ULP_FUNC_OPC_COND_LIST: + case BNXT_ULP_FUNC_OPC_APP_PRIORITY: break; case BNXT_ULP_FUNC_OPC_PORT_TABLE: process_src1 = 1; @@ -3854,6 +3907,19 @@ ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms, (uint8_t *)&res2, func_info->func_oper_size); return rc; + case BNXT_ULP_FUNC_OPC_MTR_ID_TO_STATS_HANDLE: + /* res1 is mtr_id, res2 is stats_id */ + return op->ulp_mapper_mtr_stats_hndl_set(parms, res1, res2); + case BNXT_ULP_FUNC_OPC_APP_PRIORITY: + res = parms->app_priority; + break; + case BNXT_ULP_FUNC_OPC_TCAM_SET_PRIORITY: + return op->ulp_mapper_core_tcam_prio_update(parms, + tbl->direction, + tbl->track_type, + CFA_RSUBTYPE_TCAM_WC, + (uint32_t)res1, + (uint16_t)res2); default: BNXT_DRV_DBG(ERR, "invalid func code %u\n", func_info->func_opc); diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h index 79052664dd..a4a42ab84d 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h @@ -103,6 +103,13 @@ struct ulp_mapper_core_ops { (*ulp_mapper_core_tcam_entry_free)(struct bnxt_ulp_context *ulp_ctx, struct ulp_flow_db_res_params *res); int32_t + (*ulp_mapper_core_tcam_prio_update)(struct bnxt_ulp_mapper_parms *parms, + uint8_t dir, + enum cfa_track_type tt, + enum cfa_resource_subtype_tcam type, + uint32_t tcam_id, + uint16_t priority); + int32_t (*ulp_mapper_core_em_tbl_process)(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_tbl_info *t, void *error); @@ -110,7 +117,6 @@ struct ulp_mapper_core_ops { (*ulp_mapper_core_em_entry_free)(struct bnxt_ulp_context *ulp, struct ulp_flow_db_res_params *res, void *error); - int32_t (*ulp_mapper_core_index_tbl_process)(struct bnxt_ulp_mapper_parms *parm, struct bnxt_ulp_mapper_tbl_info diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c index e548a6b91f..72d0f96573 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c @@ -1368,6 +1368,7 @@ ulp_mapper_tf_mpc_batch_started(struct tfc_mpc_batch_info_t *batch_info __rte_un const struct ulp_mapper_core_ops ulp_mapper_tf_core_ops = { .ulp_mapper_core_tcam_tbl_process = ulp_mapper_tf_tcam_tbl_process, .ulp_mapper_core_tcam_entry_free = ulp_mapper_tf_tcam_entry_free, + .ulp_mapper_core_tcam_prio_update = NULL, .ulp_mapper_core_em_tbl_process = ulp_mapper_tf_em_tbl_process, .ulp_mapper_core_em_entry_free = ulp_mapper_tf_em_entry_free, .ulp_mapper_core_index_tbl_process = ulp_mapper_tf_index_tbl_process, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index d4c03a2d74..046d2c5cf9 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -1911,11 +1911,47 @@ ulp_mapper_tfc_mtr_stats_hndl_del(uint32_t mtr_id) } return rc; + +static inline int32_t +ulp_mapper_tfc_tcam_prio_update(struct bnxt_ulp_mapper_parms *parms, + uint8_t dir, + enum cfa_track_type tt, + enum cfa_resource_subtype_tcam rtype, + uint32_t tcam_id, + uint16_t priority) +{ + struct tfc *tfcp = NULL; + struct tfc_tcam_info tcam_info = { 0 }; + uint16_t fw_fid = 0; + + if (unlikely(bnxt_ulp_cntxt_fid_get(parms->ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + return -EINVAL; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(parms->ulp_ctx); + if (unlikely(tfcp == NULL)) { + PMD_DRV_LOG_LINE(ERR, "Failed to get tfcp pointer"); + return -EINVAL; + } + tcam_info.dir = (enum cfa_dir)dir; + tcam_info.rsubtype = rtype; + tcam_info.id = (uint16_t)tcam_id; + + if (unlikely(!tfcp || tfc_tcam_priority_update(tfcp, fw_fid, tt, + &tcam_info, + priority))) { + BNXT_DRV_DBG(ERR, "Unable to update tcam priority %u\n", + tcam_info.id); + return -EINVAL; + } + return 0; } const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops = { .ulp_mapper_core_tcam_tbl_process = ulp_mapper_tfc_tcam_tbl_process, .ulp_mapper_core_tcam_entry_free = ulp_mapper_tfc_tcam_entry_free, + .ulp_mapper_core_tcam_prio_update = ulp_mapper_tfc_tcam_prio_update, .ulp_mapper_core_em_tbl_process = ulp_mapper_tfc_em_tbl_process, .ulp_mapper_core_em_entry_free = ulp_mapper_tfc_em_entry_free, .ulp_mapper_core_index_tbl_process = ulp_mapper_tfc_index_tbl_process, -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 16/54] net/bnxt/tf_ulp: hot upgrade support 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (14 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 15/54] net/bnxt/tf_ulp: add support for tcam priority update Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 17/54] net/bnxt/tf_core: tcam manager logical id free Manish Kurup ` (38 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Michael Baucom, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Add support for hot upgrade for a generic application. An application can start a backup application and add the same flows that has been offloaded in primary application and secondary application can take over primary application. Update the hwrm version to the correct version number, the corresponding code version for hot upgrade api got changed. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Michael Baucom <michael.baucom@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/bnxt.h | 1 + drivers/net/bnxt/bnxt_ethdev.c | 37 +++ .../bnxt/hcapi/cfa_v3/include/cfa_resources.h | 8 + drivers/net/bnxt/hsi_struct_def_dpdk.h | 207 +++++++++++++- drivers/net/bnxt/tf_core/v3/meson.build | 1 + drivers/net/bnxt/tf_core/v3/tfc.h | 84 ++++++ drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c | 142 ++++++++++ drivers/net/bnxt/tf_core/v3/tfc_msg.c | 52 ++++ drivers/net/bnxt/tf_core/v3/tfc_msg.h | 7 + drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 3 + drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 10 + drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 42 ++- drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 60 ++++ drivers/net/bnxt/tf_ulp/meson.build | 56 +++- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 4 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 2 +- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 7 +- drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c | 264 ++++++++++++++++++ drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h | 40 +++ 19 files changed, 1012 insertions(+), 15 deletions(-) create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 72ac66b0db..00bdb53215 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -1061,6 +1061,7 @@ struct bnxt { struct bnxt_flow_stat_info *flow_stat; uint16_t max_num_kflows; uint8_t app_id; + uint8_t app_instance_id; uint32_t tx_cfa_action; struct bnxt_ring_stats *prev_rx_ring_stats; struct bnxt_ring_stats *prev_tx_ring_stats; diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 0836be3b1e..7edfd8ca89 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -162,6 +162,9 @@ static const struct rte_eth_speed_lanes_capa speed_lanes_capa_tbl[] = { */ #define BNXT_DEVARG_APP_ID_INVALID(val) ((val) > 255) +/* app-instance-id = an non-negative 3-bit number */ +#define BNXT_DEVARG_APP_INSTANCE_ID_INVALID(val) ((val) > 8) + /* * ieee-1588 = an non-negative 8-bit number */ @@ -6063,6 +6066,40 @@ bnxt_parse_devarg_cqe_mode(__rte_unused const char *key, return 0; } +static int +bnxt_parse_devarg_app_instance_id(__rte_unused const char *key, + const char *value, void *opaque_arg) +{ + struct bnxt *bp = opaque_arg; + unsigned long app_instance_id; + char *end = NULL; + + if (!opaque_arg) { + PMD_DRV_LOG_LINE(ERR, + "Invalid param passed to app-instance-id devarg"); + return -EINVAL; + } + + app_instance_id = strtoul(value, &end, 10); + if (end == NULL || *end != '\0' || + (app_instance_id == ULONG_MAX && errno == ERANGE)) { + PMD_DRV_LOG_LINE(ERR, + "Invalid parameter passed to instance devargs"); + return -EINVAL; + } + + if (BNXT_DEVARG_APP_INSTANCE_ID_INVALID(app_instance_id)) { + PMD_DRV_LOG_LINE(ERR, "Invalid app-instance-id(%d) devargs", + (uint16_t)app_instance_id); + return -EINVAL; + } + + bp->app_instance_id = app_instance_id; + PMD_DRV_LOG_LINE(INFO, "app_instance_id=%u feature enabled", + (uint16_t)app_instance_id); + return 0; +} + static int bnxt_parse_devarg_app_id(__rte_unused const char *key, const char *value, void *opaque_arg) diff --git a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h index d1d62738d3..ada9741dfa 100644 --- a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h +++ b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h @@ -194,6 +194,14 @@ enum cfa_resource_subtype_gim { CFA_RSUBTYPE_SM_MAX + CFA_RSUBTYPE_TSM_MAX + CFA_RSUBTYPE_TIM_MAX + \ CFA_RSUBTYPE_GIM_MAX) +#define CFA_HOT_UPGRADE_APP_INSTANCE_MAX 4 +enum cfa_hot_upgrade_cmd_op { + CFA_HOT_UPGRADE_CMD_ALLOC = 1, + CFA_HOT_UPGRADE_CMD_FREE, + CFA_HOT_UPGRADE_CMD_GET, + CFA_HOT_UPGRADE_CMD_SET +}; + /** * @} */ diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index de72e0e9e9..6e540359e3 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -966,6 +966,8 @@ struct __rte_packed_begin cmd_nums { #define HWRM_TFC_GLOBAL_ID_FREE UINT32_C(0x39c) /* TruFlow command to update the priority of one tcam entry. */ #define HWRM_TFC_TCAM_PRI_UPDATE UINT32_C(0x39d) + /* TruFlow command to process hot upgrade requests. */ + #define HWRM_TFC_HOT_UPGRADE_PROCESS UINT32_C(0x3a0) /* Experimental */ #define HWRM_SV UINT32_C(0x400) /* Flush any trace buffer data that has not been sent to the host. */ @@ -1250,8 +1252,8 @@ struct __rte_packed_begin hwrm_err_output { #define HWRM_VERSION_MINOR 10 #define HWRM_VERSION_UPDATE 3 /* non-zero means beta version */ -#define HWRM_VERSION_RSVD 86 -#define HWRM_VERSION_STR "1.10.3.86" +#define HWRM_VERSION_RSVD 87 +#define HWRM_VERSION_STR "1.10.3.87" /**************** * hwrm_ver_get * @@ -41082,6 +41084,59 @@ struct __rte_packed_begin hwrm_queue_adptv_qos_rx_feature_cfg_output { uint8_t valid; } __rte_packed_end; +/* hwrm_queue_adptv_qos_rx_feature_cfg_cmd_err (size:64b/8B) */ +struct __rte_packed_begin hwrm_queue_adptv_qos_rx_feature_cfg_cmd_err { + /* + * command specific error codes that goes to + * the cmd_err field in Common HWRM Error Response. + */ + uint8_t code; + /* Success */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_SUCCESS \ + UINT32_C(0x0) + /* Unknown error */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_UNKNOWN \ + UINT32_C(0x1) + /* Cannot configure TCs with interfaces up */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_INTERFACES_UP \ + UINT32_C(0x2) + /* + * Configured TCs are less than the minimum required. + * The minimum is 3 if RoCE is enabled, else 1. + */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_MIN_TCS \ + UINT32_C(0x3) + /* Configured TCs are more than the maximum allowed */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_MAX_TCS \ + UINT32_C(0x4) + /* Configured TCs are not contiguous */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_CONTIGUOUS_TCS \ + UINT32_C(0x5) + /* Cannot configure TC that has a priority mapping */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_COS_PRI_MAPPED \ + UINT32_C(0x6) + /* Cannot configure TC that has a priority with pfc enabled */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_COS_PRI_PFC_ENABLED \ + UINT32_C(0x7) + /* + * Cannot configure TCs 0-2 differently than TC 0 and 2 as + * lossy and TC 1 as lossless. + * A maximum of 4 TCs can be configured as lossless. + * TCs 1, 3, 4, 5, 6, and 7 can be configured as lossless. + */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_DEFAULT_TCS_CANNOT_BE_CHANGED \ + UINT32_C(0x8) + /* + * Cannot configure more than 4 lossless TCs. + * TCs 1, 3, 4, 5, 6, and 7 can be configured as lossless. + */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_MAX_LOSSLESS_TCS \ + UINT32_C(0x9) + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_LAST \ + HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_MAX_LOSSLESS_TCS + uint8_t unused_0[7]; +} __rte_packed_end; + /**************************************** * hwrm_queue_adptv_qos_tx_feature_qcfg * ****************************************/ @@ -41397,6 +41452,59 @@ struct __rte_packed_begin hwrm_queue_adptv_qos_tx_feature_cfg_output { uint8_t valid; } __rte_packed_end; +/* hwrm_queue_adptv_qos_tx_feature_cfg_cmd_err (size:64b/8B) */ +struct __rte_packed_begin hwrm_queue_adptv_qos_tx_feature_cfg_cmd_err { + /* + * command specific error codes that goes to + * the cmd_err field in Common HWRM Error Response. + */ + uint8_t code; + /* Success */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_SUCCESS \ + UINT32_C(0x0) + /* Unknown error */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_UNKNOWN \ + UINT32_C(0x1) + /* Cannot configure TCs with interfaces up */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_INTERFACES_UP \ + UINT32_C(0x2) + /* + * Configured TCs are less than the minimum required. + * The minimum is 3 if RoCE is enabled, else 1. + */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_MIN_TCS \ + UINT32_C(0x3) + /* Configured TCs are more than the maximum allowed */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_MAX_TCS \ + UINT32_C(0x4) + /* Configured TCs are not contiguous */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_CONTIGUOUS_TCS \ + UINT32_C(0x5) + /* Cannot configure TC that has a priority mapping */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_COS_PRI_MAPPED \ + UINT32_C(0x6) + /* Cannot configure TC that has a priority with pfc enabled */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_COS_PRI_PFC_ENABLED \ + UINT32_C(0x7) + /* + * Cannot configure TCs 0-2 differently than TC 0 and 2 as + * lossy and TC 1 as lossless. + * A maximum of 4 TCs can be configured as lossless. + * TCs 1, 3, 4, 5, 6, and 7 can be configured as lossless. + */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_DEFAULT_TCS_CANNOT_BE_CHANGED \ + UINT32_C(0x8) + /* + * Cannot configure more than 4 lossless TCs. + * TCs 1, 3, 4, 5, 6, and 7 can be configured as lossless. + */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_MAX_LOSSLESS_TCS \ + UINT32_C(0x9) + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_LAST \ + HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_MAX_LOSSLESS_TCS + uint8_t unused_0[7]; +} __rte_packed_end; + /******************** * hwrm_queue_qcaps * ********************/ @@ -62556,6 +62664,101 @@ struct hwrm_tfc_tcam_pri_update_output { uint8_t valid; } __rte_packed; +/******************************** + * hwrm_tfc_hot_upgrade_process * + ********************************/ + + +/* hwrm_tfc_hot_upgrade_process_input (size:192b/24B) */ +struct hwrm_tfc_hot_upgrade_process_input { + /* The HWRM command request type. */ + uint16_t req_type; + /* + * The completion ring to send the completion event on. This should + * be the NQ ID returned from the `nq_alloc` HWRM command. + */ + uint16_t cmpl_ring; + /* + * The sequence ID is used by the driver for tracking multiple + * commands. This ID is treated as opaque data by the firmware and + * the value is returned in the `hwrm_resp_hdr` upon completion. + */ + uint16_t seq_id; + /* + * The target ID of the command: + * * 0x0-0xFFF8 - The function ID + * * 0xFFF8-0xFFFC, 0xFFFE - Reserved for internal processors + * * 0xFFFD - Reserved for user-space HWRM interface + * * 0xFFFF - HWRM + */ + uint16_t target_id; + /* + * A physical address pointer pointing to a host buffer that the + * command's response data will be written. This can be either a host + * physical address (HPA) or a guest physical address (GPA) and must + * point to a physically contiguous block of memory. + */ + uint64_t resp_addr; + /* + * Function ID. + * If running on a trusted VF or PF, the fid field can be used to + * specify that the function is a non-trusted VF of the parent PF. + * If this command is used for the target_id itself, this field is + * set to 0xffff. A non-trusted VF cannot specify a valid FID in this + * field. + */ + uint16_t fid; + /* + * Session id associated with the firmware. Will be used + * for validation if the track type matches. + */ + uint16_t sid; + /* + * The ID of an hot upgrade application. Will be used to track + * sessions associated with this app. + */ + uint8_t app_id; + /* The hot-Up command. */ + uint8_t cmd; + /* Alloc a hot-up app entry and register a session for it */ + #define HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_ALLOC UINT32_C(0x1) + /* Free a hot-up session from hot-up app */ + #define HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_FREE UINT32_C(0x2) + /* Get the count of registered sessions for the hot-up app */ + #define HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_GET UINT32_C(0x4) + /* Set the active session for the hot-up app */ + #define HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_SET UINT32_C(0x8) + /* The count of sessions registered for the hot-up app */ + uint8_t cur_session_cnt; + /* unused. */ + uint8_t unused0; +} __rte_packed; + +/* hwrm_tfc_hot_upgrade_process_output (size:128b/16B) */ +struct hwrm_tfc_hot_upgrade_process_output { + /* The specific error status for the command. */ + uint16_t error_code; + /* The HWRM command request type. */ + uint16_t req_type; + /* The sequence ID from the original command. */ + uint16_t seq_id; + /* The length of the response data in number of bytes. */ + uint16_t resp_len; + /* The count of sessions registered for the hot-up application. */ + uint8_t session_cnt; + /* unused. */ + uint8_t unused0[6]; + /* + * This field is used in Output records to indicate that the + * output is completely written to RAM. This field should be + * read as '1' to indicate that the output has been + * completely written. When writing a command completion or + * response to an internal processor, the order of writes has + * to be such that this field is written last. + */ + uint8_t valid; +} __rte_packed; + /****************************** * hwrm_tunnel_dst_port_query * ******************************/ diff --git a/drivers/net/bnxt/tf_core/v3/meson.build b/drivers/net/bnxt/tf_core/v3/meson.build index 5f467d6e5e..159e7a2b17 100644 --- a/drivers/net/bnxt/tf_core/v3/meson.build +++ b/drivers/net/bnxt/tf_core/v3/meson.build @@ -31,4 +31,5 @@ sources += files( 'tfc_util.c', 'tfo.c', 'tfc_vf2pf_msg.c', + 'tfc_hot_upgrade.c', ) diff --git a/drivers/net/bnxt/tf_core/v3/tfc.h b/drivers/net/bnxt/tf_core/v3/tfc.h index 80a5c64c17..2195c0035d 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc.h +++ b/drivers/net/bnxt/tf_core/v3/tfc.h @@ -1575,4 +1575,88 @@ int tfc_if_tbl_set(struct tfc *tfcp, uint16_t fid, int tfc_if_tbl_get(struct tfc *tfcp, uint16_t fid, const struct tfc_if_tbl_info *tbl_info, uint8_t *data, uint8_t *data_sz_in_bytes); + +/** + * Get a TFC hot upgrade status and application instance count + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] app_inst_id + * the applicatoin instance id. + * + * @param[out] app_inst_cnt + * Pointer to the application instance count. + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int +tfc_hot_up_app_inst_count(struct tfc *tfcp, uint16_t fid, + uint8_t app_inst_id, uint8_t *app_inst_cnt); + +/** + * Allocate and initialize the TFC hot upgrade state + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] app_inst_id + * the application instance id. + * + * @param[in] app_inst_cnt + * the application instance count. + * + * @param[out] session + * the session count. + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int +tfc_hot_up_app_inst_alloc(struct tfc *tfcp, uint16_t fid, + uint8_t app_inst_id, uint8_t app_inst_cnt, + uint8_t *session); +/** + * Free the TFC hot upgrade state + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] app_inst_id + * the application instance id. + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int +tfc_hot_up_app_inst_free(struct tfc *tfcp, uint16_t fid, uint8_t app_inst_id); + +/** + * Set the TFC hot upgrade state to primary + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] app_inst_id + * the application instance id. + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int +tfc_hot_up_app_inst_set(struct tfc *tfcp, uint16_t fid, uint8_t app_inst_id); + #endif /* _TFC_H_ */ diff --git a/drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c b/drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c new file mode 100644 index 0000000000..a82c4ccd17 --- /dev/null +++ b/drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c @@ -0,0 +1,142 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2019-2021 Broadcom + * All rights reserved. + */ +#include <stdio.h> +#include "tfc.h" +#include "bnxt.h" +#include "tfc_msg.h" +#include "tfc_util.h" + +static int +tfc_hot_upgrade_validate(struct tfc *tfcp, uint8_t app_inst_id, + uint16_t *sid) +{ + struct bnxt *bp; + int rc = -EINVAL; + + if (tfcp == NULL) { + PMD_DRV_LOG_LINE(ERR, "Invalid tfcp pointer"); + return rc; + } + + if (tfcp->bp == NULL || tfcp->tfo == NULL) { + PMD_DRV_LOG_LINE(ERR, "tfcp not initialized"); + return rc; + } + bp = tfcp->bp; + + if (!BNXT_PF(bp) && !BNXT_VF_IS_TRUSTED(bp)) { + PMD_DRV_LOG_LINE(ERR, "bp not PF or trusted VF"); + return rc; + } + + if (app_inst_id > CFA_HOT_UPGRADE_APP_INSTANCE_MAX) { + PMD_DRV_LOG_LINE(ERR, "Invalid app instance: %u", + app_inst_id); + return rc; + } + + *sid = 0; + rc = tfo_sid_get(tfcp->tfo, sid); + if (rc) + PMD_DRV_LOG_LINE(ERR, + "Failed to retrieve SID, rc:%d", + rc); + + return rc; +} + +int +tfc_hot_up_app_inst_count(struct tfc *tfcp, uint16_t fid, + uint8_t app_inst_id, uint8_t *app_inst_cnt) +{ + uint16_t sid; + int rc = 0; + + if (tfc_hot_upgrade_validate(tfcp, app_inst_id, &sid)) { + PMD_DRV_LOG_LINE(ERR, "failed validate for instance %u", + app_inst_id); + return -EINVAL; + } + + rc = tfc_msg_hot_upgrade_process(tfcp, fid, sid, app_inst_id, + CFA_HOT_UPGRADE_CMD_GET, 0, + app_inst_cnt); + if (rc) + PMD_DRV_LOG_LINE(ERR, "failed for app instance id %d err=%d", + app_inst_id, rc); + + return rc; +} + +int +tfc_hot_up_app_inst_alloc(struct tfc *tfcp, uint16_t fid, + uint8_t app_inst_id, uint8_t app_inst_cnt, + uint8_t *session) +{ + uint16_t sid; + int rc = 0; + + if (tfc_hot_upgrade_validate(tfcp, app_inst_id, &sid)) { + PMD_DRV_LOG_LINE(ERR, "failed validate for instance %u", + app_inst_id); + return -EINVAL; + } + + rc = tfc_msg_hot_upgrade_process(tfcp, fid, sid, app_inst_id, + CFA_HOT_UPGRADE_CMD_ALLOC, + app_inst_cnt, session); + if (rc) + PMD_DRV_LOG_LINE(ERR, "failed for app instance id %d err=%d", + app_inst_id, rc); + + return rc; +} + +int +tfc_hot_up_app_inst_free(struct tfc *tfcp, uint16_t fid, + uint8_t app_inst_id) +{ + uint8_t session_cnt = 0; + uint16_t sid; + int rc = 0; + + if (tfc_hot_upgrade_validate(tfcp, app_inst_id, &sid)) { + PMD_DRV_LOG_LINE(ERR, "failed validate for instance %u", + app_inst_id); + return -EINVAL; + } + + rc = tfc_msg_hot_upgrade_process(tfcp, fid, sid, app_inst_id, + CFA_HOT_UPGRADE_CMD_FREE, + 0, &session_cnt); + if (rc) + PMD_DRV_LOG_LINE(ERR, "failed for app instance id %d err=%d", + app_inst_id, rc); + + return rc; +} + +int +tfc_hot_up_app_inst_set(struct tfc *tfcp, uint16_t fid, uint8_t app_inst_id) +{ + uint8_t session_cnt = 0; + uint16_t sid; + int rc = 0; + + if (tfc_hot_upgrade_validate(tfcp, app_inst_id, &sid)) { + PMD_DRV_LOG_LINE(ERR, "failed validate for instance %u", + app_inst_id); + return -EINVAL; + } + + rc = tfc_msg_hot_upgrade_process(tfcp, fid, sid, app_inst_id, + CFA_HOT_UPGRADE_CMD_SET, + 1, &session_cnt); + if (rc) + PMD_DRV_LOG_LINE(ERR, "failed for app instance id %d err=%d", + app_inst_id, rc); + + return rc; +} diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_msg.c index 0a636a1677..7ec7e9a054 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.c @@ -1319,3 +1319,55 @@ int tfc_msg_resc_usage_query(struct tfc *tfcp, uint16_t sid, enum cfa_dir dir, return rc; } #endif /* TF_FLOW_SCALE_QUERY */ + +int +tfc_msg_hot_upgrade_process(struct tfc *tfcp, uint16_t fid, uint16_t sid, + uint8_t app_inst_id, + enum cfa_hot_upgrade_cmd_op cmd_op, + uint8_t cur_cnt, + uint8_t *app_inst_cnt) +{ + struct hwrm_tfc_hot_upgrade_process_input req = { 0 }; + struct hwrm_tfc_hot_upgrade_process_output resp = { 0 }; + struct bnxt *bp = tfcp->bp; + int rc = 0; + + rc = tfc_msg_set_fid(bp, fid, &req.fid); + if (rc) + return rc; + req.sid = rte_le_to_cpu_16(sid); + req.app_id = app_inst_id; + req.cur_session_cnt = cur_cnt; + + switch (cmd_op) { + case CFA_HOT_UPGRADE_CMD_ALLOC: + req.cmd = HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_ALLOC; + break; + case CFA_HOT_UPGRADE_CMD_FREE: + req.cmd = HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_FREE; + break; + case CFA_HOT_UPGRADE_CMD_GET: + req.cmd = HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_GET; + break; + case CFA_HOT_UPGRADE_CMD_SET: + req.cmd = HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_SET; + break; + default: + PMD_DRV_LOG_LINE(ERR, "invalid command opcode %u", + cmd_op); + return -EINVAL; + } + rc = bnxt_hwrm_tf_message_direct(bp, false, + HWRM_TFC_HOT_UPGRADE_PROCESS, + &req, sizeof(req), &resp, + sizeof(resp)); + if (rc) { + PMD_DRV_LOG_LINE(ERR, + "sid[%u]:instance[%u]:cmd_op[%u] failed", + sid, app_inst_id, cmd_op); + return rc; + } + + *app_inst_cnt = resp.session_cnt; + return rc; +} diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_msg.h index 2d1a6816c0..3bf6b04a12 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.h @@ -174,3 +174,10 @@ tfc_msg_if_tbl_get(struct tfc *tfcp, uint16_t fid, uint16_t sid, int tfc_msg_resc_usage_query(struct tfc *tfcp, uint16_t sid, enum cfa_dir dir, uint16_t *data_size, void *data); #endif /* TF_FLOW_SCALE_QUERY */ + +int +tfc_msg_hot_upgrade_process(struct tfc *tfcp, uint16_t fid, uint16_t sid, + uint8_t app_inst_id, + enum cfa_hot_upgrade_cmd_op cmd_op, + uint8_t cur_cnt, + uint8_t *app_inst_cnt); diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h index 3a2745d405..afd883df2c 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h @@ -139,6 +139,7 @@ struct bnxt_ulp_data { uint32_t max_def_priority; uint32_t min_flow_priority; uint32_t max_flow_priority; + uint32_t ha_priority; uint32_t vxlan_port; uint32_t vxlan_gpe_port; uint32_t vxlan_ip_port; @@ -164,6 +165,8 @@ struct bnxt_ulp_data { uint64_t default_act_bits; struct ulp_fc_tfc_stats_cache_entry *stats_cache; struct bnxt_ulp_sc_info *sc_info; + struct bnxt_ulp_tfc_ha_mgr_info *tfc_ha_info; + uint8_t app_instance_id; }; enum bnxt_ulp_tfo_type { diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c index 2c22582e1c..386ec57a08 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c @@ -13,6 +13,7 @@ #include "ulp_fc_mgr.h" #include "ulp_port_db.h" #include "ulp_ha_mgr.h" +#include "ulp_tfc_ha_mgr.h" #include "ulp_tun.h" #include <rte_malloc.h> #include "ulp_template_db_tbl.h" @@ -92,8 +93,10 @@ bnxt_ulp_set_prio_attribute(struct ulp_rte_parser_params *params, { uint32_t max_p = bnxt_ulp_max_flow_priority_get(params->ulp_ctx); uint32_t min_p = bnxt_ulp_min_flow_priority_get(params->ulp_ctx); + uint32_t hot_prio = bnxt_ulp_ha_priority_id_get(params->ulp_ctx); if (max_p < min_p) { + min_p -= hot_prio; if (unlikely(attr->priority > min_p || attr->priority < max_p)) { BNXT_DRV_DBG(ERR, "invalid prio, not in range %u:%u\n", max_p, min_p); @@ -101,6 +104,7 @@ bnxt_ulp_set_prio_attribute(struct ulp_rte_parser_params *params, } params->priority = attr->priority; } else { + max_p -= hot_prio; if (unlikely(attr->priority > max_p || attr->priority < min_p)) { BNXT_DRV_DBG(ERR, "invalid prio, not in range %u:%u\n", min_p, max_p); @@ -245,6 +249,12 @@ bnxt_ulp_init_mapper_params(struct bnxt_ulp_mapper_parms *mparms, 1); } + /* update the Hot upgrade flag */ + if (bnxt_ulp_tfc_hot_upgrade_enabled(params->ulp_ctx) && + bnxt_ulp_tfc_hot_upgrade_is_secondary(params->ulp_ctx)) + ULP_BITMAP_SET(mparms->cf_bitmap, + BNXT_ULP_CF_BIT_HOT_UP_SECONDARY); + /* Update the socket direct flag */ if (ULP_BITMAP_ISSET(params->hdr_bitmap.bits, BNXT_ULP_HDR_BIT_SVIF_IGNORE)) { diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index af3e82a6a7..385dd742d5 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -32,7 +32,7 @@ #include "ulp_matcher.h" #include "ulp_port_db.h" #include "ulp_tun.h" -#include "ulp_ha_mgr.h" +#include "ulp_tfc_ha_mgr.h" #include "bnxt_tf_pmd_shim.h" #include "ulp_template_db_tbl.h" #include "tfc_resources.h" @@ -546,6 +546,21 @@ ulp_tfc_cntxt_app_caps_init(struct bnxt *bp, uint8_t app_id, uint32_t dev_id) info[i].default_priority); bnxt_ulp_max_def_priority_set(ulp_ctx, info[i].max_def_priority); + + /* if hot upgrade is enabled */ + if (bnxt_ulp_tfc_hot_upgrade_enabled(ulp_ctx)) { + uint32_t ha_prio = 0; + + if (info[i].min_flow_priority > + info[i].max_flow_priority) + ha_prio = info[i].min_flow_priority - + info[i].max_flow_priority; + else + ha_prio = info[i].max_flow_priority - + info[i].min_flow_priority; + ha_prio = ha_prio / 2; + bnxt_ulp_ha_priority_set(ulp_ctx, ha_prio); + } bnxt_ulp_min_flow_priority_set(ulp_ctx, info[i].min_flow_priority); bnxt_ulp_max_flow_priority_set(ulp_ctx, @@ -678,6 +693,16 @@ ulp_tfc_ctx_init(struct bnxt *bp, } BNXT_DRV_DBG(DEBUG, "Ulp initialized with app id %d\n", bp->app_id); + rc = bnxt_ulp_app_instance_id_set(bp->ulp_ctx, bp->app_instance_id); + if (rc) { + BNXT_DRV_DBG(ERR, + "Unable to set app_instance_id for ULP init.\n"); + goto error_deinit; + } + if (bp->app_instance_id) + BNXT_DRV_DBG(DEBUG, "Hot upgrade instance id %u\n", + bp->app_instance_id); + rc = ulp_tfc_dparms_init(bp, bp->ulp_ctx, devid); if (rc) { BNXT_DRV_DBG(ERR, "Unable to init dparms for app(%x)/dev(%x)\n", @@ -875,19 +900,14 @@ static void ulp_tfc_deinit(struct bnxt *bp, struct bnxt_ulp_session_state *session) { - bool ha_enabled; uint16_t fid_cnt = 0; int32_t rc; if (!bp->ulp_ctx || !bp->ulp_ctx->cfg_data) return; - ha_enabled = bnxt_ulp_cntxt_ha_enabled(bp->ulp_ctx); - if (ha_enabled) { - rc = ulp_ha_mgr_close(bp->ulp_ctx); - if (rc) - BNXT_DRV_DBG(ERR, "Failed to close HA (%d)\n", rc); - } + /* Delete the Hot upgrade manager */ + ulp_tfc_hot_upgrade_mgr_deinit(bp->ulp_ctx); /* Delete the Stats Counter Manager */ ulp_sc_mgr_deinit(bp->ulp_ctx); @@ -1050,6 +1070,12 @@ ulp_tfc_init(struct bnxt *bp, goto jump_to_error; } + rc = ulp_tfc_hot_upgrade_mgr_init(bp->ulp_ctx); + if (rc) { + BNXT_DRV_DBG(ERR, "Failed to initialize ulp hot upgrade mgr\n"); + goto jump_to_error; + } + rc = bnxt_ulp_cntxt_dev_id_get(bp->ulp_ctx, &ulp_dev_id); if (rc) { BNXT_DRV_DBG(ERR, "Unable to get device id from ulp.\n"); diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index 2cea9e5692..cb826b2c19 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1098,4 +1098,64 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) return 0; } +/* Function to set the tfc ha info into the context */ +static inline int32_t +bnxt_ulp_cntxt_ptr2_tfc_ha_info_set(struct bnxt_ulp_context *ulp_ctx, + struct bnxt_ulp_tfc_ha_mgr_info *ha_info) +{ + if (unlikely(ulp_ctx == NULL || ulp_ctx->cfg_data == NULL)) { + BNXT_DRV_DBG(ERR, "Invalid ulp context data\n"); + return -EINVAL; + } + ulp_ctx->cfg_data->tfc_ha_info = ha_info; + return 0; +} + +/* Function to retrieve the tfc ha info from the context. */ +static inline struct bnxt_ulp_tfc_ha_mgr_info * +bnxt_ulp_cntxt_ptr2_tfc_ha_info_get(struct bnxt_ulp_context *ulp_ctx) +{ + if (unlikely(ulp_ctx == NULL || ulp_ctx->cfg_data == NULL)) + return NULL; + return ulp_ctx->cfg_data->tfc_ha_info; +} + +/* This function sets the app instance id */ +static inline int32_t +bnxt_ulp_app_instance_id_set(struct bnxt_ulp_context *ulp_ctx, + uint8_t app_instance_id) +{ + if (unlikely(!ulp_ctx)) + return -EINVAL; + ulp_ctx->cfg_data->app_instance_id = app_instance_id; + return 0; +} + +/* This function gets the app instance id */ +static inline uint8_t +bnxt_ulp_app_instance_id_get(struct bnxt_ulp_context *ulp_ctx) +{ + if (unlikely(!ulp_ctx || !ulp_ctx->cfg_data)) + return 0; + return ulp_ctx->cfg_data->app_instance_id; +} + +static inline int +bnxt_ulp_ha_priority_set(struct bnxt_ulp_context *ulp_ctx, uint32_t prio) +{ + if (unlikely(!ulp_ctx || !ulp_ctx->cfg_data)) + return -EINVAL; + + ulp_ctx->cfg_data->ha_priority = prio; + return 0; +} + +static inline uint32_t +bnxt_ulp_ha_priority_id_get(struct bnxt_ulp_context *ulp_ctx) +{ + if (unlikely(!ulp_ctx || !ulp_ctx->cfg_data)) + return 0; + return ulp_ctx->cfg_data->ha_priority; +} + #endif /* _BNXT_ULP_UTILS_H_ */ diff --git a/drivers/net/bnxt/tf_ulp/meson.build b/drivers/net/bnxt/tf_ulp/meson.build index c8eb39f469..000b05ad0c 100644 --- a/drivers/net/bnxt/tf_ulp/meson.build +++ b/drivers/net/bnxt/tf_ulp/meson.build @@ -33,6 +33,60 @@ sources += files( 'ulp_fc_mgr_tf.c', 'ulp_alloc_tbl.c', 'ulp_sc_mgr.c', - 'ulp_sc_mgr_tfc.c') + 'ulp_sc_mgr_tfc.c', + 'ulp_tfc_ha_mgr.c') + +#include the templates for compile + +if get_option('bnxt_tf_template').contains('app19') +includes += include_directories('app_19_templates') +subdir('app_19_templates') +cflags += '-DBNXT_TF_APP_ID=19' + +elif get_option('bnxt_tf_template').contains('app17') +includes += include_directories('app_16_17_templates') +subdir('app_16_17_templates') +cflags += '-DBNXT_TF_APP_ID=17' + +elif get_option('bnxt_tf_template').contains('app16') +includes += include_directories('app_16_17_templates') +subdir('app_16_17_templates') +cflags += '-DBNXT_TF_APP_ID=16' + +elif get_option('bnxt_tf_template').contains('app14') +includes += include_directories('app_14_templates') +subdir('app_14_templates') +cflags += '-DBNXT_TF_APP_ID=14' + +elif get_option('bnxt_tf_template').contains('app13') +includes += include_directories('app_13_templates') +subdir('app_13_templates') +cflags += '-DBNXT_TF_APP_ID=13' + +elif get_option('bnxt_tf_template').contains('app10') +includes += include_directories('app_10_templates') +subdir('app_10_templates') +cflags += '-DBNXT_TF_APP_ID=10' + +elif get_option('bnxt_tf_template').contains('app11') +includes += include_directories('app_11_templates') +subdir('app_11_templates') +cflags += '-DBNXT_TF_APP_ID=11' + +elif get_option('bnxt_tf_template').contains('app12') +includes += include_directories('app_12_templates') +subdir('app_12_templates') +cflags += '-DBNXT_TF_APP_ID=12' + +elif get_option('bnxt_tf_template').contains('app15') +includes += include_directories('app_15_templates') +subdir('app_15_templates') +cflags += '-DBNXT_TF_APP_ID=15' + +elif get_option('bnxt_tf_template').contains('app1') +includes += include_directories('app_1_2_templates') +subdir('app_1_2_templates') +cflags += '-DBNXT_TF_APP_ID=1' +endif subdir('generic_templates') diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index c463bce3d4..1901845499 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -3785,6 +3785,7 @@ ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms, process_src1 = 1; case BNXT_ULP_FUNC_OPC_COND_LIST: case BNXT_ULP_FUNC_OPC_APP_PRIORITY: + case BNXT_ULP_FUNC_OPC_GET_HA_PRIORITY: break; case BNXT_ULP_FUNC_OPC_PORT_TABLE: process_src1 = 1; @@ -3920,6 +3921,9 @@ ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms, CFA_RSUBTYPE_TCAM_WC, (uint32_t)res1, (uint16_t)res2); + case BNXT_ULP_FUNC_OPC_GET_HA_PRIORITY: + res = bnxt_ulp_ha_priority_id_get(parms->ulp_ctx); + break; default: BNXT_DRV_DBG(ERR, "invalid func code %u\n", func_info->func_opc); diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index 046d2c5cf9..20b1ac09fc 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -316,7 +316,7 @@ ulp_mapper_tfc_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms, /* allocate the tcam entry, only need the length */ (void)ulp_blob_data_get(key, &key_sz_in_bits); key_sz_in_words = ULP_BITS_2_BYTE(key_sz_in_bits); - tfc_inf.dir = tbl->direction; /* PKB.need an api */ + tfc_inf.dir = tbl->direction; tfc_inf.rsubtype = tbl->resource_type; rc = tfc_tcam_alloc(tfcp, fw_fid, tt, priority, diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c index 6b6733133a..fc4207b36c 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c @@ -158,6 +158,8 @@ ulp_sc_mgr_deinit(struct bnxt_ulp_context *ctxt) if (!ulp_sc_info) return -EINVAL; + ulp_sc_mgr_thread_cancel(ctxt); + if (ulp_sc_info->stats_cache_tbl) rte_free(ulp_sc_info->stats_cache_tbl); @@ -208,11 +210,11 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) goto terminate; rte_delay_us_block(ULP_SC_CTX_DELAY); } + bnxt_ulp_cntxt_entry_release(); /* get the stats counter info block from ulp context */ ulp_sc_info = bnxt_ulp_cntxt_ptr2_sc_info_get(ctxt); if (unlikely(!ulp_sc_info)) { - bnxt_ulp_cntxt_entry_release(); goto terminate; } @@ -247,7 +249,6 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) tfcp = bnxt_ulp_cntxt_tfcp_get(sce->ctxt); if (unlikely(!tfcp)) { bnxt_ulp_cntxt_release_fdb_lock(ctxt); - bnxt_ulp_cntxt_entry_release(); goto terminate; } @@ -307,7 +308,6 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) data += ULP_SC_PAGE_SIZE; } } - bnxt_ulp_cntxt_entry_release(); /* Sleep to give any other threads opportunity to access ULP */ rte_delay_us_sleep(ULP_SC_PERIOD_US); } @@ -400,6 +400,7 @@ void ulp_sc_mgr_thread_cancel(struct bnxt_ulp_context *ctxt) return; ulp_sc_info->flags &= ~ULP_FLAG_SC_THREAD; + pthread_cancel(ulp_sc_info->tid); } /* diff --git a/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c new file mode 100644 index 0000000000..be14b65804 --- /dev/null +++ b/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c @@ -0,0 +1,264 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2019-2024 Broadcom + * All rights reserved. + */ + +#include <rte_common.h> +#include <rte_cycles.h> +#include <rte_malloc.h> +#include <rte_log.h> +#include <rte_alarm.h> +#include "bnxt.h" +#include "bnxt_ulp.h" +#include "bnxt_ulp_utils.h" +#include "ulp_tfc_ha_mgr.h" +#include "bnxt_ulp_tfc.h" + +#define ULP_HOT_UPGRADE_TIMER_SEC 2 /* in seconds */ + +bool +bnxt_ulp_tfc_hot_upgrade_enabled(struct bnxt_ulp_context *ulp_ctx) +{ + uint64_t feat_bits; + + if (unlikely(ulp_ctx == NULL || ulp_ctx->cfg_data == NULL)) + return false; + + feat_bits = bnxt_ulp_feature_bits_get(ulp_ctx); + + /* Both hot upgrade feature and devarg instance id must be configured */ + if ((feat_bits & BNXT_ULP_FEATURE_BIT_HOT_UPGRADE) && + bnxt_ulp_app_instance_id_get(ulp_ctx)) + return true; + return false; +} + +bool +bnxt_ulp_tfc_hot_upgrade_is_secondary(struct bnxt_ulp_context *ulp_ctx) +{ + struct bnxt_ulp_tfc_ha_mgr_info *ha_info; + + if (unlikely(ulp_ctx == NULL || ulp_ctx->cfg_data == NULL)) + return false; + + ha_info = bnxt_ulp_cntxt_ptr2_tfc_ha_info_get(ulp_ctx); + if (ha_info == NULL) + return false; + + if (ha_info->ha_state == ULP_TFC_HA_STATE_SECONDARY) + return true; + return false; +} + +static void +ulp_tfc_hot_upgrade_mgr_timer_cb(void *arg) +{ + struct bnxt_ulp_tfc_ha_mgr_info *ha_info; + struct bnxt_ulp_context *ulp_ctx = NULL; + uint8_t inst_id, inst_count = 0; + int32_t restart_timer = 1; + struct tfc *tfcp = NULL; + uint16_t fw_fid = 0; + int32_t rc = 0; + + ulp_ctx = bnxt_ulp_cntxt_entry_acquire(arg); + if (ulp_ctx == NULL) { + rte_eal_alarm_set(US_PER_S * ULP_HOT_UPGRADE_TIMER_SEC, + ulp_tfc_hot_upgrade_mgr_timer_cb, arg); + return; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + PMD_DRV_LOG_LINE(ERR, "Failed to get tfcp pointer"); + goto cleanup; + } + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + goto cleanup; + } + + inst_id = bnxt_ulp_app_instance_id_get(ulp_ctx); + if (unlikely(!inst_id)) { + BNXT_DRV_DBG(ERR, "Invalid instance id\n"); + goto cleanup; + } + + rc = tfc_hot_up_app_inst_count(tfcp, fw_fid, inst_id, &inst_count); + if (rc) { + BNXT_DRV_DBG(ERR, "Failed to get hot upgrade status\n"); + goto cleanup; + } + + /* Primary is no longer present */ + if (inst_count == 1) { + ha_info = bnxt_ulp_cntxt_ptr2_tfc_ha_info_get(ulp_ctx); + if (ha_info == NULL) { + BNXT_DRV_DBG(ERR, "Failed to get ha_info\n"); + goto cleanup; + } + + BNXT_DRV_DBG(DEBUG, "Transition to Primary\n"); + /* set the current instance as Primary */ + ha_info->ha_state = ULP_TFC_HA_STATE_PRIMARY; + ha_info->app_inst_cnt = inst_count; + + /* Move the tcam entries to lower priority */ + rc = bnxt_ulp_hot_upgrade_process(ulp_ctx->bp); + if (rc) + BNXT_DRV_DBG(ERR, "Failed to update tcam entries\n"); + + /* set the primary session */ + rc = tfc_hot_up_app_inst_set(tfcp, fw_fid, inst_id); + if (rc) + BNXT_DRV_DBG(ERR, "Failed to set as primary\n"); + restart_timer = 0; + } else if (!inst_count) { + BNXT_DRV_DBG(ERR, "Invalid instance count\n"); + restart_timer = 0; + } + +cleanup: + bnxt_ulp_cntxt_entry_release(); + if (restart_timer) + rte_eal_alarm_set(US_PER_S * ULP_HOT_UPGRADE_TIMER_SEC, + ulp_tfc_hot_upgrade_mgr_timer_cb, arg); + else + BNXT_DRV_DBG(DEBUG, "exiting tfc hot upgrade timer\n"); +} + + +int32_t ulp_tfc_hot_upgrade_mgr_init(struct bnxt_ulp_context *ulp_ctx) +{ + uint8_t inst_id, inst_count = 0, session_cnt = 0; + struct bnxt_ulp_tfc_ha_mgr_info *ha_info; + struct tfc *tfcp = NULL; + uint16_t fw_fid = 0; + int32_t rc = 0; + + if (!bnxt_ulp_tfc_hot_upgrade_enabled(ulp_ctx)) + return rc; + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + PMD_DRV_LOG_LINE(ERR, "Failed to get tfcp pointer"); + return -EINVAL; + } + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + return -EINVAL; + } + + ha_info = rte_zmalloc("ulp_ha_mgr_info", sizeof(*ha_info), 0); + if (!ha_info) + return -ENOMEM; + + /* Add the HA info tbl to the ulp context. */ + bnxt_ulp_cntxt_ptr2_tfc_ha_info_set(ulp_ctx, ha_info); + + inst_id = bnxt_ulp_app_instance_id_get(ulp_ctx); + if (!inst_id) { + BNXT_DRV_DBG(ERR, "invalid instance id\n"); + goto cleanup; + } + + /* get the application instance count */ + ha_info->app_inst_id = inst_id; + rc = tfc_hot_up_app_inst_count(tfcp, fw_fid, inst_id, &inst_count); + if (rc) { + BNXT_DRV_DBG(ERR, "Failed to get hot upgrade status\n"); + goto cleanup; + } + + /* if instance count is 2 or more then just exit */ + if (inst_count >= 2) { + BNXT_DRV_DBG(ERR, "More than 2 instances, invalid setup\n"); + goto cleanup; + } + + /* Allocate the hot upgrade instance */ + rc = tfc_hot_up_app_inst_alloc(tfcp, fw_fid, inst_id, inst_count, + &session_cnt); + if (rc) { + BNXT_DRV_DBG(ERR, "Fail to alloc hot upgrade session\n"); + goto cleanup; + } + /* If count is 1 then set as primary app */ + if (session_cnt == 1) { + /* set the current instance as Primary */ + ha_info->ha_state = ULP_TFC_HA_STATE_PRIMARY; + ha_info->app_inst_cnt = session_cnt; + BNXT_DRV_DBG(DEBUG, "setting application as Primary\n"); + } else { + /* set the current instance as secondary */ + ha_info->ha_state = ULP_TFC_HA_STATE_SECONDARY; + ha_info->app_inst_cnt = session_cnt; + BNXT_DRV_DBG(DEBUG, "setting application as Secondary\n"); + + /* Start the Hot upgrade poll timer */ + rc = rte_eal_alarm_set(US_PER_S * ULP_HOT_UPGRADE_TIMER_SEC, + ulp_tfc_hot_upgrade_mgr_timer_cb, + (void *)ulp_ctx->cfg_data); + } + + return rc; +cleanup: + if (ha_info != NULL) + ulp_tfc_hot_upgrade_mgr_deinit(ulp_ctx); + return -EAGAIN; +} + +static void +ulp_tfc_ha_mgr_timer_cancel(struct bnxt_ulp_context *ulp_ctx) +{ + rte_eal_alarm_cancel(ulp_tfc_hot_upgrade_mgr_timer_cb, + ulp_ctx->cfg_data); +} + +void +ulp_tfc_hot_upgrade_mgr_deinit(struct bnxt_ulp_context *ulp_ctx) +{ + struct bnxt_ulp_tfc_ha_mgr_info *ha_info; + struct tfc *tfcp = NULL; + uint16_t fw_fid = 0; + uint8_t inst_id; + int32_t rc = 0; + + ha_info = bnxt_ulp_cntxt_ptr2_tfc_ha_info_get(ulp_ctx); + if (ha_info == NULL) + return; + bnxt_ulp_cntxt_ptr2_tfc_ha_info_set(ulp_ctx, NULL); + + if (!bnxt_ulp_tfc_hot_upgrade_enabled(ulp_ctx)) + return; + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + PMD_DRV_LOG_LINE(ERR, "Failed to get tfcp pointer"); + return; + } + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + return; + } + + inst_id = bnxt_ulp_app_instance_id_get(ulp_ctx); + if (unlikely(!inst_id)) { + BNXT_DRV_DBG(ERR, "Failed to get instance id\n"); + return; + } + + rc = tfc_hot_up_app_inst_free(tfcp, fw_fid, inst_id); + if (rc) + BNXT_DRV_DBG(ERR, "Fail to free hot upgrade session:%u\n", + inst_id); + + /* disable the hot upgrade timer */ + if (ha_info->ha_state == ULP_TFC_HA_STATE_SECONDARY) + ulp_tfc_ha_mgr_timer_cancel(ulp_ctx); + + rte_free(ha_info); +} diff --git a/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h new file mode 100644 index 0000000000..44cbf56c0a --- /dev/null +++ b/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2014-2024 Broadcom + * All rights reserved. + */ + +#ifndef _ULP_TFC_HA_MGR_H_ +#define _ULP_TFC_HA_MGR_H_ + +#include "bnxt_ulp.h" + +enum ulp_tfc_ha_mgr_state { + ULP_TFC_HA_STATE_INVALID = 0, + ULP_TFC_HA_STATE_PRIMARY, + ULP_TFC_HA_STATE_SECONDARY, + ULP_TFC_HA_STATE_MAX, +}; + +struct bnxt_ulp_tfc_ha_mgr_info { + enum ulp_tfc_ha_mgr_state ha_state; + uint32_t app_inst_id; + uint32_t app_inst_cnt; +}; + +bool +bnxt_ulp_tfc_hot_upgrade_enabled(struct bnxt_ulp_context *ulp_ctx); + +bool +bnxt_ulp_tfc_hot_upgrade_is_secondary(struct bnxt_ulp_context *ulp_ctx); + +int32_t +ulp_tfc_hot_upgrade_mgr_init(struct bnxt_ulp_context *ulp_ctx); + +void +ulp_tfc_hot_upgrade_mgr_deinit(struct bnxt_ulp_context *ulp_ctx); + +int32_t +ulp_ha_mgr_state_get(struct bnxt_ulp_context *ulp_ctx, + enum ulp_ha_mgr_state *state); + +#endif /* _ULP_TFC_HA_MGR_H_*/ -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 17/54] net/bnxt/tf_core: tcam manager logical id free 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (15 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 16/54] net/bnxt/tf_ulp: hot upgrade support Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization Manish Kurup ` (37 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Peter Spreadborough From: Farah Smith <farah.smith@broadcom.com> Remove code allocating entry 0 during initialization as it is not required. 0 is a valid entry. Update session_bmp naming to more descriptive logical_id_bmp. The data structure cfa_tcam_mgr_data is per session. Within the cfa_tcam_mgr_data, logical ids for TCAM entries are allocated from a global pool. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/tf_core/cfa_tcam_mgr.c | 35 +++++++------------ .../net/bnxt/tf_core/cfa_tcam_mgr_device.h | 6 ++-- drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c | 2 +- drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c | 2 +- 4 files changed, 19 insertions(+), 26 deletions(-) diff --git a/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c b/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c index 89ca6814e5..c527750041 100644 --- a/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c +++ b/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c @@ -914,9 +914,8 @@ cfa_tcam_mgr_bitmap_alloc(struct tf *tfp __rte_unused, struct cfa_tcam_mgr_data *tcam_mgr_data) { struct tfp_calloc_parms cparms; - uint64_t session_bmp_size; - struct bitalloc *session_bmp; - int32_t first_idx; + uint64_t logical_id_bmp_size; + struct bitalloc *logical_id_bmp; int max_entries; int rc; @@ -924,11 +923,11 @@ cfa_tcam_mgr_bitmap_alloc(struct tf *tfp __rte_unused, return -CFA_TCAM_MGR_ERR_CODE(INVAL); max_entries = tcam_mgr_data->cfa_tcam_mgr_max_entries; - session_bmp_size = (sizeof(uint64_t) * + logical_id_bmp_size = (sizeof(uint64_t) * (((max_entries - 1) / sizeof(uint64_t)) + 1)); cparms.nitems = 1; - cparms.size = session_bmp_size; + cparms.size = logical_id_bmp_size; cparms.alignment = 0; rc = tfp_calloc(&cparms); if (rc) { @@ -939,23 +938,15 @@ cfa_tcam_mgr_bitmap_alloc(struct tf *tfp __rte_unused, return -CFA_TCAM_MGR_ERR_CODE(NOMEM); } - session_bmp = (struct bitalloc *)cparms.mem_va; - rc = ba_init(session_bmp, max_entries, true); + logical_id_bmp = (struct bitalloc *)cparms.mem_va; + rc = ba_init(logical_id_bmp, max_entries, true); - tcam_mgr_data->session_bmp = session_bmp; - tcam_mgr_data->session_bmp_size = max_entries; - - /* Allocate first index to avoid idx 0 */ - first_idx = ba_alloc(tcam_mgr_data->session_bmp); - if (first_idx == BA_FAIL) { - tfp_free(tcam_mgr_data->session_bmp); - tcam_mgr_data->session_bmp = NULL; - return -CFA_TCAM_MGR_ERR_CODE(NOSPC); - } + tcam_mgr_data->logical_id_bmp = logical_id_bmp; + tcam_mgr_data->logical_id_bmp_size = max_entries; TFP_DRV_LOG(DEBUG, "session bitmap size is %" PRIX64 "\n", - tcam_mgr_data->session_bmp_size); + tcam_mgr_data->logical_id_bmp_size); return 0; } @@ -1135,7 +1126,7 @@ static int cfa_tcam_mgr_free_entries(struct tf *tfp) * may not be of the same type, resulting in errors. */ - while ((entry_id = ba_find_next_inuse_free(tcam_mgr_data->session_bmp, + while ((entry_id = ba_find_next_inuse_free(tcam_mgr_data->logical_id_bmp, 0)) >= 0) { free_parms.id = entry_id; free_parms.type = CFA_TCAM_MGR_TBL_TYPE_MAX; @@ -1405,7 +1396,7 @@ static int cfa_tcam_mgr_alloc_entry(struct tf *tfp __rte_unused, int32_t free_idx; /* Scan bitmap to get the free pool */ - free_idx = ba_alloc(tcam_mgr_data->session_bmp); + free_idx = ba_alloc(tcam_mgr_data->logical_id_bmp); if (free_idx == BA_FAIL) { PMD_DRV_LOG_LINE(ERR, "Table full (session)"); @@ -1423,10 +1414,10 @@ static int cfa_tcam_mgr_free_entry(struct tf *tfp __rte_unused, { int rc = 0; - if (entry_id >= tcam_mgr_data->session_bmp_size) + if (entry_id >= tcam_mgr_data->logical_id_bmp_size) return -CFA_TCAM_MGR_ERR_CODE(INVAL); - rc = ba_free(tcam_mgr_data->session_bmp, entry_id); + rc = ba_free(tcam_mgr_data->logical_id_bmp, entry_id); if (rc) return rc; diff --git a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_device.h b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_device.h index 9d7f560e7b..1b5803f021 100644 --- a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_device.h +++ b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_device.h @@ -123,8 +123,10 @@ struct cfa_tcam_mgr_data { cfa_tcam_mgr_tables[TF_DIR_MAX][CFA_TCAM_MGR_TBL_TYPE_MAX]; void *table_rows; struct cfa_tcam_mgr_entry_data *entry_data; - struct bitalloc *session_bmp; - uint64_t session_bmp_size; + /* Logical ids assigned for all TCAM types */ + struct bitalloc *logical_id_bmp; + /* Sum of all TCAM entries allocated */ + uint64_t logical_id_bmp_size; void *row_tables[TF_DIR_MAX][TF_TCAM_TBL_TYPE_MAX]; void *rx_row_data; void *tx_row_data; diff --git a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c index ddc2728785..55b6b96439 100644 --- a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c +++ b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c @@ -374,7 +374,7 @@ static void cfa_tcam_mgr_data_free(struct tf_session *tfs) tfp_free(tcam_mgr_data->table_rows); tfp_free(tcam_mgr_data->entry_data); - tfp_free(tcam_mgr_data->session_bmp); + tfp_free(tcam_mgr_data->logical_id_bmp); cfa_tcam_mgr_row_data_free(tcam_mgr_data); tfp_free(tcam_mgr_data); diff --git a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c index d5725f92e0..5b7e469e8a 100644 --- a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c +++ b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c @@ -372,7 +372,7 @@ static void cfa_tcam_mgr_data_free(struct tf_session *tfs) tfp_free(tcam_mgr_data->table_rows); tfp_free(tcam_mgr_data->entry_data); - tfp_free(tcam_mgr_data->session_bmp); + tfp_free(tcam_mgr_data->logical_id_bmp); cfa_tcam_mgr_row_data_free(tcam_mgr_data); tfp_free(tcam_mgr_data); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (16 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 17/54] net/bnxt/tf_core: tcam manager logical id free Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 19/54] net/bnxt: fix max VFs count for thor2 Manish Kurup ` (36 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The stats counter cache memory initialization did not print the error message on failure, updated the initialization to print error message on failure. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 35 ++++++++++++++++++---------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c index fc4207b36c..b246b90fe2 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c @@ -63,29 +63,30 @@ int32_t ulp_sc_mgr_init(struct bnxt_ulp_context *ctxt) int i; if (!ctxt) { - BNXT_DRV_DBG(DEBUG, "Invalid ULP CTXT\n"); + BNXT_DRV_DBG(ERR, "Invalid ULP CTXT\n"); return -EINVAL; } if (bnxt_ulp_cntxt_dev_id_get(ctxt, &dev_id)) { - BNXT_DRV_DBG(DEBUG, "Failed to get device id\n"); + BNXT_DRV_DBG(ERR, "Failed to get device id\n"); return -EINVAL; } dparms = bnxt_ulp_device_params_get(dev_id); if (!dparms) { - BNXT_DRV_DBG(DEBUG, "Failed to device parms\n"); + BNXT_DRV_DBG(ERR, "Failed to device parms\n"); return -EINVAL; } sc_ops = bnxt_ulp_sc_ops_get(ctxt); if (sc_ops == NULL) { - BNXT_DRV_DBG(DEBUG, "Failed to get the counter ops\n"); + BNXT_DRV_DBG(ERR, "Failed to get the counter ops\n"); return -EINVAL; } ulp_sc_info = rte_zmalloc("ulp_sc_info", sizeof(*ulp_sc_info), 0); if (!ulp_sc_info) { + BNXT_DRV_DBG(ERR, "Failed to allocate stats cache container\n"); rc = -ENOMEM; goto error; } @@ -99,8 +100,9 @@ int32_t ulp_sc_mgr_init(struct bnxt_ulp_context *ctxt) ulp_sc_info->num_counters = dparms->ext_flow_db_num_entries; if (!ulp_sc_info->num_counters) { /* No need for software counters, call fw directly */ - BNXT_DRV_DBG(DEBUG, "Sw flow counter support not enabled\n"); - return 0; + BNXT_DRV_DBG(ERR, "Num of flow entries is not configured\n"); + rc = -EINVAL; + goto error; } /* @@ -115,6 +117,7 @@ int32_t ulp_sc_mgr_init(struct bnxt_ulp_context *ctxt) ulp_sc_info->stats_cache_tbl = rte_zmalloc("ulp_stats_cache_tbl", stats_cache_tbl_sz, 0); if (!ulp_sc_info->stats_cache_tbl) { + BNXT_DRV_DBG(ERR, "Failed to allocate stats cache table\n"); rc = -ENOMEM; goto error; } @@ -123,7 +126,7 @@ int32_t ulp_sc_mgr_init(struct bnxt_ulp_context *ctxt) ULP_SC_BATCH_SIZE * ULP_SC_PAGE_SIZE, ULP_SC_PAGE_SIZE); if (!ulp_sc_info->read_data) { - rte_free(ulp_sc_info->stats_cache_tbl); + BNXT_DRV_DBG(ERR, "Failed to allocate stats cache data\n"); rc = -ENOMEM; goto error; } @@ -135,10 +138,15 @@ int32_t ulp_sc_mgr_init(struct bnxt_ulp_context *ctxt) } rc = ulp_sc_mgr_thread_start(ctxt); - if (rc) - BNXT_DRV_DBG(DEBUG, "Stats counter thread start failed\n"); + if (rc) { + BNXT_DRV_DBG(ERR, "Stats cache thread start failed\n"); + rc = -EIO; + goto error; + } - error: + return 0; +error: + ulp_sc_mgr_deinit(ctxt); return rc; } @@ -399,8 +407,11 @@ void ulp_sc_mgr_thread_cancel(struct bnxt_ulp_context *ctxt) if (!ulp_sc_info) return; - ulp_sc_info->flags &= ~ULP_FLAG_SC_THREAD; - pthread_cancel(ulp_sc_info->tid); + /* if thread started then stop it */ + if (ulp_sc_info->flags & ULP_FLAG_SC_THREAD) { + pthread_cancel((pthread_t)ulp_sc_info->tid.opaque_id); + ulp_sc_info->flags &= ~ULP_FLAG_SC_THREAD; + } } /* -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 19/54] net/bnxt: fix max VFs count for thor2 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (17 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 Manish Kurup ` (35 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The number of max vfs per pf is 128 for thor2. Fixed the vnic hash table creation if the number of max vnics is less than 8. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt.h | 2 + drivers/net/bnxt/bnxt_compat.h | 433 +++++++++++++++++++++++++++++++++ drivers/net/bnxt/bnxt_vnic.c | 11 + 3 files changed, 446 insertions(+) create mode 100644 drivers/net/bnxt/bnxt_compat.h diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 00bdb53215..90352d537c 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -260,8 +260,10 @@ struct bnxt_pf_info { #define BNXT_MAX_VFS(bp) ((bp)->pf->max_vfs) #define BNXT_MAX_VF_REPS_P4 64 #define BNXT_MAX_VF_REPS_P5 256 +#define BNXT_MAX_VF_REPS_P7 128 #define BNXT_MAX_VF_REPS(bp) \ (BNXT_CHIP_P5(bp) ? BNXT_MAX_VF_REPS_P5 : \ + BNXT_CHIP_P7(bp) ? BNXT_MAX_VF_REPS_P7 : \ BNXT_MAX_VF_REPS_P4) #define BNXT_TOTAL_VFS(bp) ((bp)->pf->total_vfs) #define BNXT_FIRST_VF_FID 128 diff --git a/drivers/net/bnxt/bnxt_compat.h b/drivers/net/bnxt/bnxt_compat.h new file mode 100644 index 0000000000..3218d1da8d --- /dev/null +++ b/drivers/net/bnxt/bnxt_compat.h @@ -0,0 +1,433 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2023 Broadcom + * All rights reserved. + */ + +#ifndef _BNXT_COMPAT_H_ +#define _BNXT_COMPAT_H_ + +#include <rte_version.h> +#if (RTE_VERSION_NUM(21, 0, 0, 0) > RTE_VERSION) +#include <rte_bitops.h> +#endif + +#if (RTE_VERSION_NUM(21, 11, 0, 0) > RTE_VERSION) + +#define RTE_ETH_NUM_RECEIVE_MAC_ADDR ETH_NUM_RECEIVE_MAC_ADDR + +#define RTE_ETH_RX_OFFLOAD_CHECKSUM DEV_RX_OFFLOAD_CHECKSUM +#define RTE_ETH_RX_OFFLOAD_VLAN DEV_RX_OFFLOAD_VLAN + +#define RTE_ETH_RX_OFFLOAD_VLAN_STRIP DEV_RX_OFFLOAD_VLAN_STRIP +#define RTE_ETH_RX_OFFLOAD_IPV4_CKSUM DEV_RX_OFFLOAD_IPV4_CKSUM +#define RTE_ETH_RX_OFFLOAD_UDP_CKSUM DEV_RX_OFFLOAD_UDP_CKSUM +#define RTE_ETH_RX_OFFLOAD_TCP_CKSUM DEV_RX_OFFLOAD_TCP_CKSUM +#define RTE_ETH_RX_OFFLOAD_TCP_LRO DEV_RX_OFFLOAD_TCP_LRO +#define RTE_ETH_RX_OFFLOAD_QINQ_STRIP DEV_RX_OFFLOAD_QINQ_STRIP +#define RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM +#define RTE_ETH_RX_OFFLOAD_MACSEC_STRIP DEV_RX_OFFLOAD_MACSEC_STRIP +#define RTE_ETH_RX_OFFLOAD_HEADER_SPLIT DEV_RX_OFFLOAD_HEADER_SPLIT +#define RTE_ETH_RX_OFFLOAD_VLAN_FILTER DEV_RX_OFFLOAD_VLAN_FILTER +#define RTE_ETH_RX_OFFLOAD_VLAN_EXTEND DEV_RX_OFFLOAD_VLAN_EXTEND +#define RTE_ETH_RX_OFFLOAD_JUMBO_FRAME DEV_RX_OFFLOAD_JUMBO_FRAME +#define RTE_ETH_RX_OFFLOAD_SCATTER DEV_RX_OFFLOAD_SCATTER +#define RTE_ETH_RX_OFFLOAD_TIMESTAMP DEV_RX_OFFLOAD_TIMESTAMP +#define RTE_ETH_RX_OFFLOAD_SECURITY DEV_RX_OFFLOAD_SECURITY +#define RTE_ETH_RX_OFFLOAD_KEEP_CRC DEV_RX_OFFLOAD_KEEP_CRC +#define RTE_ETH_RX_OFFLOAD_SCTP_CKSUM DEV_RX_OFFLOAD_SCTP_CKSUM +#define RTE_ETH_RX_OFFLOAD_OUTER_UDP_CKSUM DEV_RX_OFFLOAD_OUTER_UDP_CKSUM +#define RTE_ETH_RX_OFFLOAD_RSS_HASH DEV_RX_OFFLOAD_RSS_HASH + +#define RTE_ETH_RX_OFFLOAD_CHECKSUM DEV_RX_OFFLOAD_CHECKSUM +#define RTE_ETH_RX_OFFLOAD_VLAN DEV_RX_OFFLOAD_VLAN + +#define RTE_ETH_TX_OFFLOAD_VLAN_INSERT DEV_TX_OFFLOAD_VLAN_INSERT +#define RTE_ETH_TX_OFFLOAD_IPV4_CKSUM DEV_TX_OFFLOAD_IPV4_CKSUM +#define RTE_ETH_TX_OFFLOAD_UDP_CKSUM DEV_TX_OFFLOAD_UDP_CKSUM +#define RTE_ETH_TX_OFFLOAD_TCP_CKSUM DEV_TX_OFFLOAD_TCP_CKSUM +#define RTE_ETH_TX_OFFLOAD_SCTP_CKSUM DEV_TX_OFFLOAD_SCTP_CKSUM +#define RTE_ETH_TX_OFFLOAD_TCP_TSO DEV_TX_OFFLOAD_TCP_TSO +#define RTE_ETH_TX_OFFLOAD_UDP_TSO DEV_TX_OFFLOAD_UDP_TSO +#define RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM +#define RTE_ETH_TX_OFFLOAD_QINQ_INSERT DEV_TX_OFFLOAD_QINQ_INSERT +#define RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO DEV_TX_OFFLOAD_VXLAN_TNL_TSO +#define RTE_ETH_TX_OFFLOAD_GRE_TNL_TSO DEV_TX_OFFLOAD_GRE_TNL_TSO +#define RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO DEV_TX_OFFLOAD_IPIP_TNL_TSO +#define RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO DEV_TX_OFFLOAD_GENEVE_TNL_TSO +#define RTE_ETH_TX_OFFLOAD_MACSEC_INSERT DEV_TX_OFFLOAD_MACSEC_INSERT +#define RTE_ETH_TX_OFFLOAD_MT_LOCKFREE DEV_TX_OFFLOAD_MT_LOCKFREE +#define RTE_ETH_TX_OFFLOAD_MULTI_SEGS DEV_TX_OFFLOAD_MULTI_SEGS +#define RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE DEV_TX_OFFLOAD_MBUF_FAST_FREE +#define RTE_ETH_TX_OFFLOAD_SECURITY DEV_TX_OFFLOAD_SECURITY +#define RTE_ETH_TX_OFFLOAD_UDP_TNL_TSO DEV_TX_OFFLOAD_UDP_TNL_TSO +#define RTE_ETH_TX_OFFLOAD_IP_TNL_TSO DEV_TX_OFFLOAD_IP_TNL_TSO +#define RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM DEV_TX_OFFLOAD_OUTER_UDP_CKSUM +#define RTE_ETH_TX_OFFLOAD_SEND_ON_TIMESTAMP DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP + +#define RTE_ETH_TUNNEL_TYPE_NONE RTE_TUNNEL_TYPE_NONE +#define RTE_ETH_TUNNEL_TYPE_VXLAN RTE_TUNNEL_TYPE_VXLAN +#define RTE_ETH_TUNNEL_TYPE_GENEVE RTE_TUNNEL_TYPE_GENEVE +#define RTE_ETH_TUNNEL_TYPE_TEREDO RTE_TUNNEL_TYPE_TEREDO +#define RTE_ETH_TUNNEL_TYPE_NVGRE RTE_TUNNEL_TYPE_NVGRE +#define RTE_ETH_TUNNEL_TYPE_IP_IN_GRE RTE_TUNNEL_TYPE_IP_IN_GRE +#define RTE_ETH_L2_TUNNEL_TYPE_E_TAG RTE_L2_TUNNEL_TYPE_E_TAG +#define RTE_ETH_TUNNEL_TYPE_VXLAN_GPE RTE_TUNNEL_TYPE_VXLAN_GPE +#define RTE_ETH_TUNNEL_TYPE_MAX RTE_TUNNEL_TYPE_MAX + +#define RTE_ETH_VLAN_TYPE_UNKNOWN ETH_VLAN_TYPE_UNKNOWN +#define RTE_ETH_VLAN_TYPE_INNER ETH_VLAN_TYPE_INNER +#define RTE_ETH_VLAN_TYPE_OUTER ETH_VLAN_TYPE_OUTER +#define RTE_ETH_VLAN_TYPE_MAX ETH_VLAN_TYPE_MAX +#define RTE_ETH_VLAN_STRIP_OFFLOAD ETH_VLAN_STRIP_OFFLOAD +#define RTE_ETH_VLAN_FILTER_OFFLOAD ETH_VLAN_FILTER_OFFLOAD +#define RTE_ETH_VLAN_EXTEND_OFFLOAD ETH_VLAN_EXTEND_OFFLOAD +#define RTE_ETH_QINQ_STRIP_OFFLOAD ETH_QINQ_STRIP_OFFLOAD +#define RTE_ETH_VLAN_STRIP_MASK ETH_VLAN_STRIP_MASK +#define RTE_ETH_VLAN_FILTER_MASK ETH_VLAN_FILTER_MASK +#define RTE_ETH_VLAN_EXTEND_MASK ETH_VLAN_EXTEND_MASK +#define RTE_ETH_QINQ_STRIP_MASK ETH_QINQ_STRIP_MASK +#define RTE_ETH_VLAN_ID_MAX ETH_VLAN_ID_MAX + +#define RTE_ETH_FC_NONE RTE_FC_NONE +#define RTE_ETH_FC_RX_PAUSE RTE_FC_RX_PAUSE +#define RTE_ETH_FC_TX_PAUSE RTE_FC_TX_PAUSE +#define RTE_ETH_FC_FULL RTE_FC_FULL + +#define RTE_ETH_VMDQ_MAX_VLAN_FILTERS ETH_VMDQ_MAX_VLAN_FILTERS +#define RTE_ETH_DCB_NUM_USER_PRIORITIES ETH_DCB_NUM_USER_PRIORITIES +#define RTE_ETH_VMDQ_DCB_NUM_QUEUES ETH_VMDQ_DCB_NUM_QUEUES +#define RTE_ETH_DCB_NUM_QUEUES ETH_DCB_NUM_QUEUES +#define RTE_ETH_DCB_PG_SUPPORT ETH_DCB_PG_SUPPORT +#define RTE_ETH_DCB_PFC_SUPPORT ETH_DCB_PFC_SUPPORT + +#define RTE_ETH_VMDQ_NUM_UC_HASH_ARRAY ETH_VMDQ_NUM_UC_HASH_ARRAY +#define RTE_ETH_VMDQ_ACCEPT_UNTAG ETH_VMDQ_ACCEPT_UNTAG +#define RTE_ETH_VMDQ_ACCEPT_HASH_MC ETH_VMDQ_ACCEPT_HASH_MC +#define RTE_ETH_VMDQ_ACCEPT_HASH_UC ETH_VMDQ_ACCEPT_HASH_UC +#define RTE_ETH_VMDQ_ACCEPT_BROADCAST ETH_VMDQ_ACCEPT_BROADCAST +#define RTE_ETH_VMDQ_ACCEPT_MULTICAST ETH_VMDQ_ACCEPT_MULTICAST + +#define RTE_ETH_4_TCS ETH_4_TCS +#define RTE_ETH_8_TCS ETH_8_TCS +#define RTE_ETH_DCB_NUM_TCS ETH_DCB_NUM_TCS +#define RTE_ETH_MAX_VMDQ_POOL ETH_MAX_VMDQ_POOL +#define RTE_ETH_DCB_NUM_TCS ETH_DCB_NUM_TCS +#define RTE_ETH_MAX_VMDQ_POOL ETH_MAX_VMDQ_POOL +#define RTE_ETH_64_POOLS ETH_64_POOLS + +#define RTE_ETH_LINK_SPEED_AUTONEG ETH_LINK_SPEED_AUTONEG +#define RTE_ETH_LINK_SPEED_FIXED ETH_LINK_SPEED_FIXED +#define RTE_ETH_LINK_SPEED_10M_HD ETH_LINK_SPEED_10M_HD +#define RTE_ETH_LINK_SPEED_10M ETH_LINK_SPEED_10M +#define RTE_ETH_LINK_SPEED_100M_HD ETH_LINK_SPEED_100M_HD +#define RTE_ETH_LINK_SPEED_100M ETH_LINK_SPEED_100M +#define RTE_ETH_LINK_SPEED_1G ETH_LINK_SPEED_1G +#define RTE_ETH_LINK_SPEED_2_5G ETH_LINK_SPEED_2_5G +#define RTE_ETH_LINK_SPEED_5G ETH_LINK_SPEED_5G +#define RTE_ETH_LINK_SPEED_10G ETH_LINK_SPEED_10G +#define RTE_ETH_LINK_SPEED_20G ETH_LINK_SPEED_20G +#define RTE_ETH_LINK_SPEED_25G ETH_LINK_SPEED_25G +#define RTE_ETH_LINK_SPEED_40G ETH_LINK_SPEED_40G +#define RTE_ETH_LINK_SPEED_50G ETH_LINK_SPEED_50G +#define RTE_ETH_LINK_SPEED_56G ETH_LINK_SPEED_56G +#define RTE_ETH_LINK_SPEED_100G ETH_LINK_SPEED_100G +#define RTE_ETH_LINK_SPEED_200G ETH_LINK_SPEED_200G + +#define RTE_ETH_SPEED_NUM_NONE ETH_SPEED_NUM_NONE +#define RTE_ETH_SPEED_NUM_10M ETH_SPEED_NUM_10M +#define RTE_ETH_SPEED_NUM_100M ETH_SPEED_NUM_100M +#define RTE_ETH_SPEED_NUM_1G ETH_SPEED_NUM_1G +#define RTE_ETH_SPEED_NUM_2_5G ETH_SPEED_NUM_2_5G +#define RTE_ETH_SPEED_NUM_5G ETH_SPEED_NUM_5G +#define RTE_ETH_SPEED_NUM_10G ETH_SPEED_NUM_10G +#define RTE_ETH_SPEED_NUM_20G ETH_SPEED_NUM_20G +#define RTE_ETH_SPEED_NUM_25G ETH_SPEED_NUM_25G +#define RTE_ETH_SPEED_NUM_40G ETH_SPEED_NUM_40G +#define RTE_ETH_SPEED_NUM_50G ETH_SPEED_NUM_50G +#define RTE_ETH_SPEED_NUM_56G ETH_SPEED_NUM_56G +#define RTE_ETH_SPEED_NUM_100G ETH_SPEED_NUM_100G +#define RTE_ETH_SPEED_NUM_200G ETH_SPEED_NUM_200G +#define RTE_ETH_SPEED_NUM_UNKNOWN ETH_SPEED_NUM_UNKNOWN + +#define RTE_ETH_LINK_HALF_DUPLEX ETH_LINK_HALF_DUPLEX +#define RTE_ETH_LINK_FULL_DUPLEX ETH_LINK_FULL_DUPLEX +#define RTE_ETH_LINK_DOWN ETH_LINK_DOWN +#define RTE_ETH_LINK_UP ETH_LINK_UP +#define RTE_ETH_LINK_FIXED ETH_LINK_FIXED +#define RTE_ETH_LINK_AUTONEG ETH_LINK_AUTONEG + +#define RTE_ETH_MQ_RX_RSS_FLAG ETH_MQ_RX_RSS_FLAG +#define RTE_ETH_MQ_RX_DCB_FLAG ETH_MQ_RX_DCB_FLAG +#define RTE_ETH_MQ_RX_VMDQ_FLAG ETH_MQ_RX_VMDQ_FLAG + +#define RTE_ETH_MQ_RX_NONE ETH_MQ_RX_NONE +#define RTE_ETH_MQ_RX_RSS ETH_MQ_RX_RSS +#define RTE_ETH_MQ_RX_DCB ETH_MQ_RX_DCB +#define RTE_ETH_MQ_RX_DCB_RSS ETH_MQ_RX_DCB_RSS +#define RTE_ETH_MQ_RX_VMDQ_ONLY ETH_MQ_RX_VMDQ_ONLY +#define RTE_ETH_MQ_RX_VMDQ_RSS ETH_MQ_RX_VMDQ_RSS +#define RTE_ETH_MQ_RX_VMDQ_DCB ETH_MQ_RX_VMDQ_DCB +#define RTE_ETH_MQ_RX_VMDQ_DCB_RSS ETH_MQ_RX_VMDQ_DCB_RSS + +#define RTE_ETH_MQ_TX_NONE ETH_MQ_TX_NONE +#define RTE_ETH_MQ_TX_DCB ETH_MQ_TX_DCB +#define RTE_ETH_MQ_TX_VMDQ_DCB ETH_MQ_TX_VMDQ_DCB +#define RTE_ETH_MQ_TX_VMDQ_ONLY ETH_MQ_TX_VMDQ_ONLY + +#define RTE_ETH_RSS_IPV4 ETH_RSS_IPV4 +#define RTE_ETH_RSS_FRAG_IPV4 ETH_RSS_FRAG_IPV4 +#define RTE_ETH_RSS_NONFRAG_IPV4_TCP ETH_RSS_NONFRAG_IPV4_TCP +#define RTE_ETH_RSS_NONFRAG_IPV4_UDP ETH_RSS_NONFRAG_IPV4_UDP +#define RTE_ETH_RSS_NONFRAG_IPV4_SCTP ETH_RSS_NONFRAG_IPV4_SCTP +#define RTE_ETH_RSS_NONFRAG_IPV4_OTHER ETH_RSS_NONFRAG_IPV4_OTHER +#define RTE_ETH_RSS_IPV6 ETH_RSS_IPV6 +#define RTE_ETH_RSS_FRAG_IPV6 ETH_RSS_FRAG_IPV6 +#define RTE_ETH_RSS_NONFRAG_IPV6_TCP ETH_RSS_NONFRAG_IPV6_TCP +#define RTE_ETH_RSS_NONFRAG_IPV6_UDP ETH_RSS_NONFRAG_IPV6_UDP +#define RTE_ETH_RSS_NONFRAG_IPV6_SCTP ETH_RSS_NONFRAG_IPV6_SCTP +#define RTE_ETH_RSS_NONFRAG_IPV6_OTHER ETH_RSS_NONFRAG_IPV6_OTHER +#define RTE_ETH_RSS_L2_PAYLOAD ETH_RSS_L2_PAYLOAD +#define RTE_ETH_RSS_IPV6_EX ETH_RSS_IPV6_EX +#define RTE_ETH_RSS_IPV6_TCP_EX ETH_RSS_IPV6_TCP_EX +#define RTE_ETH_RSS_IPV6_UDP_EX ETH_RSS_IPV6_UDP_EX +#define RTE_ETH_RSS_PORT ETH_RSS_PORT +#define RTE_ETH_RSS_VXLAN ETH_RSS_VXLAN +#define RTE_ETH_RSS_GENEVE ETH_RSS_GENEVE +#define RTE_ETH_RSS_NVGRE ETH_RSS_NVGRE +#define RTE_ETH_RSS_GTPU ETH_RSS_GTPU +#define RTE_ETH_RSS_ETH ETH_RSS_ETH +#define RTE_ETH_RSS_S_VLAN ETH_RSS_S_VLAN +#define RTE_ETH_RSS_C_VLAN ETH_RSS_C_VLAN +#define RTE_ETH_RSS_ESP ETH_RSS_ESP +#define RTE_ETH_RSS_AH ETH_RSS_AH +#define RTE_ETH_RSS_L2TPV3 ETH_RSS_L2TPV3 +#define RTE_ETH_RSS_PFCP ETH_RSS_PFCP +#define RTE_ETH_RSS_PPPOE ETH_RSS_PPPOE +#define RTE_ETH_RSS_ECPRI ETH_RSS_ECPRI +#define RTE_ETH_RSS_MPLS ETH_RSS_MPLS +#define RTE_ETH_RSS_IPV4_CHKSUM (1ULL << 34) +#define RTE_ETH_RSS_IPV6_FLOW_LABEL (1ULL << 36) +#define RTE_ETH_RSS_L4_CHKSUM (1ULL << 35) +#define RTE_ETH_RSS_L2TPV2 (1ULL << 36) +#define RTE_ETH_RSS_L3_SRC_ONLY ETH_RSS_L3_SRC_ONLY +#define RTE_ETH_RSS_L3_DST_ONLY ETH_RSS_L3_DST_ONLY +#define RTE_ETH_RSS_L4_SRC_ONLY ETH_RSS_L4_SRC_ONLY +#define RTE_ETH_RSS_L4_DST_ONLY ETH_RSS_L4_DST_ONLY +#define RTE_ETH_RSS_L2_SRC_ONLY ETH_RSS_L2_SRC_ONLY +#define RTE_ETH_RSS_L2_DST_ONLY ETH_RSS_L2_DST_ONLY + +#define RTE_ETH_RSS_LEVEL_PMD_DEFAULT ETH_RSS_LEVEL_PMD_DEFAULT +#define RTE_ETH_RSS_LEVEL_OUTERMOST ETH_RSS_LEVEL_OUTERMOST +#define RTE_ETH_RSS_LEVEL_INNERMOST ETH_RSS_LEVEL_INNERMOST +#define RTE_ETH_RSS_LEVEL_MASK ETH_RSS_LEVEL_MASK +#define RTE_ETH_RSS_LEVEL(rss_hf) ETH_RSS_LEVEL(rss_hf) +#define RTE_ETH_RSS_IPV6_PRE32 ETH_RSS_IPV6_PRE32 +#define RTE_ETH_RSS_IPV6_PRE40 ETH_RSS_IPV6_PRE40 +#define RTE_ETH_RSS_IPV6_PRE48 ETH_RSS_IPV6_PRE48 +#define RTE_ETH_RSS_IPV6_PRE56 ETH_RSS_IPV6_PRE56 +#define RTE_ETH_RSS_IPV6_PRE64 ETH_RSS_IPV6_PRE64 +#define RTE_ETH_RSS_IPV6_PRE96 ETH_RSS_IPV6_PRE96 +#define RTE_ETH_RSS_IPV6_PRE32_UDP ETH_RSS_IPV6_PRE32_UDP +#define RTE_ETH_RSS_IPV6_PRE40_UDP ETH_RSS_IPV6_PRE40_UDP +#define RTE_ETH_RSS_IPV6_PRE48_UDP ETH_RSS_IPV6_PRE48_UDP +#define RTE_ETH_RSS_IPV6_PRE56_UDP ETH_RSS_IPV6_PRE56_UDP +#define RTE_ETH_RSS_IPV6_PRE64_UDP ETH_RSS_IPV6_PRE64_UDP +#define RTE_ETH_RSS_IPV6_PRE96_UDP ETH_RSS_IPV6_PRE96_UDP +#define RTE_ETH_RSS_IPV6_PRE32_TCP ETH_RSS_IPV6_PRE32_TCP +#define RTE_ETH_RSS_IPV6_PRE40_TCP ETH_RSS_IPV6_PRE40_TCP +#define RTE_ETH_RSS_IPV6_PRE48_TCP ETH_RSS_IPV6_PRE48_TCP +#define RTE_ETH_RSS_IPV6_PRE56_TCP ETH_RSS_IPV6_PRE56_TCP +#define RTE_ETH_RSS_IPV6_PRE64_TCP ETH_RSS_IPV6_PRE64_TCP +#define RTE_ETH_RSS_IPV6_PRE96_TCP ETH_RSS_IPV6_PRE96_TCP +#define RTE_ETH_RSS_IPV6_PRE32_SCTP ETH_RSS_IPV6_PRE32_SCTP +#define RTE_ETH_RSS_IPV6_PRE40_SCTP ETH_RSS_IPV6_PRE40_SCTP +#define RTE_ETH_RSS_IPV6_PRE48_SCTP ETH_RSS_IPV6_PRE48_SCTP +#define RTE_ETH_RSS_IPV6_PRE56_SCTP ETH_RSS_IPV6_PRE56_SCTP +#define RTE_ETH_RSS_IPV6_PRE64_SCTP ETH_RSS_IPV6_PRE64_SCTP +#define RTE_ETH_RSS_IPV6_PRE96_SCTP ETH_RSS_IPV6_PRE96_SCTP +#define RTE_ETH_RSS_IP ETH_RSS_IP +#define RTE_ETH_RSS_UDP ETH_RSS_UDP +#define RTE_ETH_RSS_TCP ETH_RSS_TCP +#define RTE_ETH_RSS_SCTP ETH_RSS_SCTP +#define RTE_ETH_RSS_TUNNEL ETH_RSS_TUNNEL +#define RTE_ETH_RSS_VLAN ETH_RSS_VLAN +#define RTE_ETH_RSS_PROTO_MASK ETH_RSS_PROTO_MASK +#define RTE_ETH_RSS_RETA_SIZE_64 ETH_RSS_RETA_SIZE_64 +#define RTE_ETH_RSS_RETA_SIZE_128 ETH_RSS_RETA_SIZE_128 +#define RTE_ETH_RSS_RETA_SIZE_256 ETH_RSS_RETA_SIZE_256 +#define RTE_ETH_RSS_RETA_SIZE_512 ETH_RSS_RETA_SIZE_512 +#define RTE_ETH_RETA_GROUP_SIZE RTE_RETA_GROUP_SIZE + +#define RTE_MBUF_F_RX_VLAN PKT_RX_VLAN +#define RTE_MBUF_F_RX_RSS_HASH PKT_RX_RSS_HASH +#define RTE_MBUF_F_RX_FDIR PKT_RX_FDIR +#define RTE_MBUF_F_RX_OUTER_IP_CKSUM_BAD PKT_RX_EIP_CKSUM_BAD +#define RTE_MBUF_F_RX_VLAN_STRIPPED PKT_RX_VLAN_STRIPPED +#define RTE_MBUF_F_RX_IP_CKSUM_MASK PKT_RX_IP_CKSUM_MASK + +#define RTE_MBUF_F_RX_IP_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_UNKNOWN +#define RTE_MBUF_F_RX_IP_CKSUM_BAD PKT_RX_IP_CKSUM_BAD +#define RTE_MBUF_F_RX_IP_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD +#define RTE_MBUF_F_RX_IP_CKSUM_NONE PKT_RX_IP_CKSUM_NONE + +#define RTE_MBUF_F_RX_L4_CKSUM_MASK PKT_RX_L4_CKSUM_MASK +#define RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN PKT_RX_L4_CKSUM_UNKNOWN +#define RTE_MBUF_F_RX_L4_CKSUM_BAD PKT_RX_L4_CKSUM_BAD +#define RTE_MBUF_F_RX_L4_CKSUM_GOOD PKT_RX_L4_CKSUM_GOOD +#define RTE_MBUF_F_RX_L4_CKSUM_NONE PKT_RX_L4_CKSUM_NONE + +#define RTE_MBUF_F_RX_IEEE1588_PTP PKT_RX_IEEE1588_PTP +#define RTE_MBUF_F_RX_IEEE1588_TMST PKT_RX_IEEE1588_TMST +#define RTE_MBUF_F_RX_FDIR_ID PKT_RX_FDIR_ID +#define RTE_MBUF_F_RX_FDIR_FLX PKT_RX_FDIR_FLX + +#define RTE_MBUF_F_RX_QINQ_STRIPPED PKT_RX_QINQ_STRIPPED +#define RTE_MBUF_F_RX_LRO PKT_RX_LRO +#define RTE_MBUF_F_RX_SEC_OFFLOAD PKT_RX_SEC_OFFLOAD +#define RTE_MBUF_F_RX_SEC_OFFLOAD_FAILED PKT_RX_SEC_OFFLOAD_FAILED +#define RTE_MBUF_F_RX_QINQ PKT_RX_QINQ + +#define RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN PKT_RX_OUTER_L4_CKSUM_UNKNOWN +#define RTE_MBUF_F_RX_OUTER_L4_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_BAD +#define RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD +#define RTE_MBUF_F_RX_OUTER_L4_CKSUM_INVALID PKT_RX_OUTER_L4_CKSUM_INVALID + +#define RTE_MBUF_F_FIRST_FREE PKT_FIRST_FREE +#define RTE_MBUF_F_LAST_FREE PKT_LAST_FREE + +#define RTE_MBUF_F_TX_OUTER_UDP_CKSUM PKT_TX_OUTER_UDP_CKSUM +#define RTE_MBUF_F_TX_UDP_SEG PKT_TX_UDP_SEG +#define RTE_MBUF_F_TX_SEC_OFFLOAD PKT_TX_SEC_OFFLOAD +#define RTE_MBUF_F_TX_MACSEC PKT_TX_MACSEC + +#define RTE_MBUF_F_TX_TUNNEL_VXLAN PKT_TX_TUNNEL_VXLAN +#define RTE_MBUF_F_TX_TUNNEL_GRE PKT_TX_TUNNEL_GRE +#define RTE_MBUF_F_TX_TUNNEL_IPIP PKT_TX_TUNNEL_IPIP +#define RTE_MBUF_F_TX_TUNNEL_GENEVE PKT_TX_TUNNEL_GENEVE +#define RTE_MBUF_F_TX_TUNNEL_MPLSINUDP PKT_TX_TUNNEL_MPLSINUDP +#define RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE PKT_TX_TUNNEL_VXLAN_GPE +#define RTE_MBUF_F_TX_TUNNEL_GTP PKT_TX_TUNNEL_GTP +#define RTE_MBUF_F_TX_TUNNEL_ESP PKT_TX_TUNNEL_ESP +#define RTE_MBUF_F_TX_TUNNEL_IP PKT_TX_TUNNEL_IP +#define RTE_MBUF_F_TX_TUNNEL_MASK PKT_TX_TUNNEL_MASK + +#define RTE_MBUF_F_TX_QINQ PKT_TX_QINQ_PKT +#define RTE_MBUF_F_TX_TCP_SEG PKT_TX_TCP_SEG +#define RTE_MBUF_F_TX_IEEE1588_TMST PKT_TX_IEEE1588_TMST + +#define RTE_MBUF_F_TX_L4_NO_CKSUM PKT_TX_L4_NO_CKSUM +#define RTE_MBUF_F_TX_TCP_CKSUM PKT_TX_TCP_CKSUM +#define RTE_MBUF_F_TX_SCTP_CKSUM PKT_TX_SCTP_CKSUM +#define RTE_MBUF_F_TX_UDP_CKSUM PKT_TX_UDP_CKSUM +#define RTE_MBUF_F_TX_L4_MASK PKT_TX_L4_MASK + +#define RTE_MBUF_F_TX_IP_CKSUM PKT_TX_IP_CKSUM +#define RTE_MBUF_F_TX_IPV4 PKT_TX_IPV4 +#define RTE_MBUF_F_TX_IPV6 PKT_TX_IPV6 +#define RTE_MBUF_F_TX_VLAN PKT_TX_VLAN_PKT +#define RTE_MBUF_F_TX_OUTER_IP_CKSUM PKT_TX_OUTER_IP_CKSUM +#define RTE_MBUF_F_TX_OUTER_IPV4 PKT_TX_OUTER_IPV4 +#define RTE_MBUF_F_TX_OUTER_IPV6 PKT_TX_OUTER_IPV6 + +#define RTE_MBUF_F_TX_OFFLOAD_MASK PKT_TX_OFFLOAD_MASK +#define RTE_MBUF_F_INDIRECT IND_ATTACHED_MBUF +#define RTE_MBUF_F_EXTERNAL EXT_ATTACHED_MBUF + +#define RTE_TAILQ_FOREACH_SAFE TAILQ_FOREACH_SAFE + +#else + #ifndef RTE_ETH_RSS_IPV6_FLOW_LABEL + #define RTE_ETH_RSS_IPV6_FLOW_LABEL RTE_BIT64(36) + #endif +#endif /* (RTE_VERSION_NUM(21, 11, 0, 0) > RTE_VERSION) */ + +#ifndef RTE_ETH_LINK_SPEED_400G +#define RTE_ETH_LINK_SPEED_400G RTE_BIT32(16) /**< 400 Gbps */ +#endif /* RTE_ETH_LINK_SPEED_400G */ + +#ifndef RTE_ETH_SPEED_NUM_400G +#define RTE_ETH_SPEED_NUM_400G RTE_BIT32(16) /**< 400 Gbps */ +#endif /* RTE_ETH_SPEED_NUM_400G */ + +#ifndef RTE_VLAN_HLEN +#define RTE_VLAN_HLEN 4 +#endif /* RTE_VLAN_HLEN */ + +#if (RTE_VERSION_NUM(22, 11, 0, 0) > RTE_VERSION) +#define RTE_ETH_EVENT_ERR_RECOVERING 0 +#define RTE_ETH_EVENT_RECOVERY_SUCCESS 0 +#define RTE_ETH_EVENT_RECOVERY_FAILED 0 +#endif /* (RTE_VERSION_NUM(22, 11, 0, 0) > RTE_VERSION) */ + +#ifndef RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP +#define RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP 0 +#endif /* RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP */ + +#ifndef RTE_ETHER_ADDR_PRT_FMT +#define RTE_ETHER_ADDR_PRT_FMT "%02X:%02X:%02X:%02X:%02X:%02X" +#endif /* RTE_ETHER_ADDR_PRT_FMT */ + +#ifndef RTE_ETH_TUNNEL_TYPE_ECPRI +#define RTE_ETH_TUNNEL_TYPE_ECPRI 0 +#endif /* RTE_ETH_TUNNEL_TYPE_ECPRI */ + +#ifndef RTE_LOG_REGISTER_SUFFIX +#define RTE_LOG_REGISTER_SUFFIX RTE_LOG_REGISTER +#endif /* RTE_LOG_REGISTER_SUFFIX */ + +#ifndef RTE_HASH_BUCKET_ENTRIES +/* it is defined in lib/hash/rte_cuckoo_hash.h */ +#define RTE_HASH_BUCKET_ENTRIES 8 +#endif /* RTE_HASH_BUCKET_ENTRIES */ + +#ifndef rte_popcount64 +#define rte_popcount64 __builtin_popcountll +#endif + +#if (RTE_VERSION_NUM(21, 11, 0, 0) > RTE_VERSION) +#include <stdlib.h> +#include <string.h> + +#include <rte_errno.h> +#include <rte_interrupts.h> +#include <rte_log.h> +#include <rte_malloc.h> + +static inline int rte_intr_vec_list_index_set(struct rte_intr_handle *intr_handle, + int index, int vec) +{ + intr_handle->intr_vec[index] = vec; + + return 0; +} + +static inline int rte_intr_vec_list_alloc(struct rte_intr_handle *intr_handle, + const char *name, int size) +{ + intr_handle->intr_vec = rte_zmalloc(name, size * sizeof(int), 0); + if (intr_handle->intr_vec == NULL) + return -ENOMEM; + return 0; +} + +static inline void rte_intr_vec_list_free(struct rte_intr_handle *intr_handle) +{ + if (intr_handle == NULL) + return; + + rte_free(intr_handle->intr_vec); + intr_handle->intr_vec = NULL; +} + +static inline int rte_intr_max_intr_get(const struct rte_intr_handle *intr_handle) +{ + return intr_handle->max_intr; +} + +static inline int rte_intr_nb_efd_get(const struct rte_intr_handle *intr_handle) +{ + return intr_handle->nb_efd; +} +#endif /* (RTE_VERSION_NUM(21, 11, 0, 0) > RTE_VERSION) */ + +#endif /* _BNXT_COMPAT_H_ */ diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c index 7b028f2ee5..637e9b9aa4 100644 --- a/drivers/net/bnxt/bnxt_vnic.c +++ b/drivers/net/bnxt/bnxt_vnic.c @@ -16,6 +16,11 @@ #include "hsi_struct_def_dpdk.h" #include "bnxt_hwrm.h" +#ifndef RTE_HASH_BUCKET_ENTRIES +/* it is defined in lib/hash/rte_cuckoo_hash.h */ +#define RTE_HASH_BUCKET_ENTRIES 8 +#endif /* RTE_HASH_BUCKET_ENTRIES */ + /* Macros to manipulate vnic bitmaps*/ #define BNXT_VNIC_BITMAP_SIZE 64 #define BNXT_VNIC_BITMAP_SET(b, i) ((b[(i) / BNXT_VNIC_BITMAP_SIZE]) |= \ @@ -978,6 +983,12 @@ int32_t bnxt_vnic_queue_db_init(struct bnxt *bp) hash_tbl_params.name = hash_tbl_name; hash_tbl_params.entries = (bp->max_vnics > BNXT_VNIC_MAX_SUPPORTED_ID) ? BNXT_VNIC_MAX_SUPPORTED_ID : bp->max_vnics; + + /* if the number of max vnis is less than bucket size */ + /* then let the max entries size be the least value */ + if (hash_tbl_params.entries <= RTE_HASH_BUCKET_ENTRIES) + hash_tbl_params.entries = RTE_HASH_BUCKET_ENTRIES; + hash_tbl_params.key_len = BNXT_VNIC_MAX_QUEUE_SZ_IN_8BITS; hash_tbl_params.socket_id = rte_socket_id(); bp->vnic_queue_db.rss_q_db = rte_hash_create(&hash_tbl_params); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (18 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 19/54] net/bnxt: fix max VFs count for thor2 Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing Manish Kurup ` (34 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Peter Spreadborough, Kishore Padmanabha, Farah Smith From: Peter Spreadborough <peter.spreadborough@broadcom.com> Incorrect packet counts were being returned for ovs flows. This was happening when stats counter was doing read-clear for flow stats at a rate faster than OVS was reading the stats from us. In this scenario SC would read a count and as a result the HW counter would be reset, SC would then do a second read which would replace the current count and it would be lost. The fix is to never do read-clear and always update with the latest full count. If the application requests a reset then the current count is returned minus the last value read and the last value read updated with the current count, hence just the delta is returned. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 77 +++++++++++++++++++--------- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h | 2 + 2 files changed, 56 insertions(+), 23 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c index b246b90fe2..07da6bd41c 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c @@ -26,6 +26,8 @@ #define ULP_TFC_CNTR_ALIGN 32 #define ULP_TFC_ACT_WORD_SZ 32 +#define ULP_SC_MAX_COUNT 0xFFFFFFFFFFFFFFFFULL + static const struct bnxt_ulp_sc_core_ops * bnxt_ulp_sc_ops_get(struct bnxt_ulp_context *ctxt) { @@ -182,7 +184,7 @@ ulp_sc_mgr_deinit(struct bnxt_ulp_context *ctxt) return 0; } -#define ULP_SC_PERIOD_US 256 +#define ULP_SC_PERIOD_US 100000 #define ULP_SC_CTX_DELAY 10000 static uint32_t ulp_stats_cache_main_loop(void *arg) @@ -265,12 +267,12 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) (uint64_t)sce; rc = sc_ops->ulp_stats_cache_update(tfcp, - sce->dir, - data, - sce->handle, - &words, - &batch_info, - sce->reset); + sce->dir, + &ulp_sc_info->read_data_iova[batch], + sce->handle, + &words, + &batch_info, + false); if (unlikely(rc)) { /* Abort this batch */ PMD_DRV_LOG_LINE(ERR, @@ -278,9 +280,6 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) break; } - if (sce->reset) - sce->reset = false; - /* Next */ batch++; sce++; @@ -308,9 +307,15 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) PMD_DRV_LOG_LINE(ERR, "batch:%d result:%d", batch, batch_info.result[batch]); } else { + uint64_t *cptr = (uint64_t *)data; + count = (struct ulp_sc_tfc_stats_cache_entry *) - ((uintptr_t)batch_info.em_hdl[batch]); - memcpy(&count->packet_count, data, ULP_TFC_ACT_WORD_SZ); + batch_info.em_hdl[batch]; + if (*cptr != count->packet_count) { + count->packet_count = *cptr; + cptr++; + count->byte_count = *cptr; + } } data += ULP_SC_PAGE_SIZE; @@ -440,6 +445,8 @@ int ulp_sc_mgr_query_count_get(struct bnxt_ulp_context *ctxt, uint32_t f2_cnt; uint64_t *t; uint64_t bs; + uint64_t packet_count; + uint64_t byte_count; int rc = 0; /* Get stats cache info */ @@ -450,8 +457,22 @@ int ulp_sc_mgr_query_count_get(struct bnxt_ulp_context *ctxt, sce = ulp_sc_info->stats_cache_tbl; sce += flow_id; + /* Save the counts to local variables since they could be modified + * in the stats cache loop. + */ + packet_count = sce->packet_count; + byte_count = sce->byte_count; + /* To handle the parent flow */ if (sce->flags & ULP_SC_ENTRY_FLAG_PARENT) { + struct ulp_sc_tfc_stats_cache_entry *f1_sce = sce; + + if (!(f1_sce->flags & ULP_SC_ENTRY_FLAG_VALID)) + return -EBUSY; + + packet_count = 0; + byte_count = 0; + flow_db = bnxt_ulp_cntxt_ptr2_flow_db_get(ctxt); if (!flow_db) { BNXT_DRV_DBG(ERR, "parent child db validation failed\n"); @@ -490,26 +511,36 @@ int ulp_sc_mgr_query_count_get(struct bnxt_ulp_context *ctxt, /* no counter action, then ignore flows */ if (!(sce->flags & ULP_SC_ENTRY_FLAG_VALID)) continue; - count->hits += sce->packet_count; - count->hits_set = 1; - count->bytes += sce->byte_count; - count->bytes_set = 1; + + packet_count += sce->packet_count; + byte_count += sce->byte_count; } while (bs && f2_cnt); } + + sce = f1_sce; } else { /* To handle regular or child flows */ /* If entry is not valid return an error */ if (!(sce->flags & ULP_SC_ENTRY_FLAG_VALID)) return -EBUSY; + } - count->hits = sce->packet_count; - count->hits_set = 1; - count->bytes = sce->byte_count; - count->bytes_set = 1; - - if (count->reset) - sce->reset = true; + if (count->reset) { + /* Calculate packet count delta */ + count->hits = (packet_count - sce->last_packet_count) & ULP_SC_MAX_COUNT; + count->bytes = (byte_count - sce->last_byte_count) & ULP_SC_MAX_COUNT; + } else { + count->hits = packet_count; + count->bytes = byte_count; } + + /* Save the raw packet count */ + sce->last_packet_count = packet_count; + sce->last_byte_count = byte_count; + + count->bytes_set = 1; + count->hits_set = 1; + return rc; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h index 29d0b0a1a4..631e2f77b2 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h @@ -30,6 +30,8 @@ struct ulp_sc_tfc_stats_cache_entry { uint64_t byte_count; uint64_t count_fields1; uint64_t count_fields2; + uint64_t last_packet_count; + uint64_t last_byte_count; bool reset; }; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (19 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 22/54] net/bnxt: fix default rss config Manish Kurup ` (33 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Sangtani Parag Satishbhai, Kalesh AP, Sriharsha Basavapatna From: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> For Thor2 if any of the ports are attached on testpmd without "mpc=1" argument, code flow will not initialize core mpc structure which can lead to seg fault in bnxt_mpc_send while accessing tx queues. Fix it by adding NULL conditional check for mpc member of bp structure. Signed-off-by: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> --- drivers/net/bnxt/bnxt_mpc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_mpc.c b/drivers/net/bnxt/bnxt_mpc.c index 2582b50782..ff2f0d7043 100644 --- a/drivers/net/bnxt/bnxt_mpc.c +++ b/drivers/net/bnxt/bnxt_mpc.c @@ -719,10 +719,20 @@ int bnxt_mpc_send(struct bnxt *bp, bool batch) { int rc; - struct bnxt_mpc_txq *mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; + struct bnxt_mpc_txq *mpc_queue; int retry = BNXT_MPC_RX_RETRY; uint32_t pi = 0; + /* + * TODO: This condition check is added to avoid + * segmentation fault in case mpc argument is + * missing in dev-args. Fix this by removing + * mpc argument from dev args. + */ + if (!bp->mpc) + return -1; + mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; + if (out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_SHORT && out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_LONG) return -1; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 22/54] net/bnxt: fix default rss config 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (20 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 23/54] net/bnxt/tf_ulp: enable support for global index table Manish Kurup ` (32 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Sriharsha Basavapatna From: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> On Thor2, the set of supported RSS hash types reported in dev_info->flow_type_rss_offloads includes both IPV6 and IPV6_FLOW_LABEL. However, hardware support is mutually exculsive. That is, either hash type IPV6 or IPV6_FLOW_LABEL can be specified, but not both. But, an application (such as testpmd) that sets the default hash types based on dev_info could end up specifying both bits in rss_conf->rss_hf field. This results in an error when both are set in HWRM_VNIC_RSS_CFG command. testpmd> port config all rss default bnxt_hwrm_vnic_rss_cfg_p5(): error 2:0:00000000:0000 Configuration of RSS hash at ethernet port 0 failed with error (22): Invalid argument. bnxt_hwrm_vnic_rss_cfg_p5(): error 2:0:00000000:0000 Configuration of RSS hash at ethernet port 1 failed with error (22): Invalid argument. Fix this issue by specifying only hash type IPV6_FLOW_LABEL in the hwrm, when both are specified in the rte command. This works since the hw includes IPV6 src and dst fields also in its hash function when the type is IPV6_FLOW_LABEL. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 11 +++++++++++ drivers/net/bnxt/bnxt_vnic.c | 10 +++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 7edfd8ca89..7177941e09 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -2485,6 +2485,17 @@ static int bnxt_rss_hash_conf_get_op(struct rte_eth_dev *eth_dev, memcpy(rss_conf->rss_key, vnic->rss_hash_key, len); } bnxt_hwrm_rss_to_rte_hash_conf(vnic, &rss_conf->rss_hf); + /* HASH_TYPE_IPV6_FLOW_LABEL and HASH_TYPE_IPV6 are mutually + * exclusive in hardware. See related comments in + * bnxt_rte_to_hwrm_hash_types(). If the cached user config + * has both bits enabled, make sure both are reported in + * conf_get_op(). + */ + if (bp->rss_conf.rss_hf && + (bp->rss_conf.rss_hf & + (RTE_ETH_RSS_IPV6 | RTE_ETH_RSS_IPV6_FLOW_LABEL)) && + (rss_conf->rss_hf & RTE_ETH_RSS_IPV6_FLOW_LABEL)) + rss_conf->rss_hf |= RTE_ETH_RSS_IPV6; rss_conf->rss_hf |= bnxt_hwrm_to_rte_rss_level(bp, vnic->hash_mode); } else { diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c index 637e9b9aa4..f0ec87198f 100644 --- a/drivers/net/bnxt/bnxt_vnic.c +++ b/drivers/net/bnxt/bnxt_vnic.c @@ -285,8 +285,16 @@ uint32_t bnxt_rte_to_hwrm_hash_types(uint64_t rte_type) hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_TCP_IPV6; if (rte_type & RTE_ETH_RSS_NONFRAG_IPV6_UDP) hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_UDP_IPV6; - if (rte_type & RTE_ETH_RSS_IPV6_FLOW_LABEL) + if (rte_type & RTE_ETH_RSS_IPV6_FLOW_LABEL) { + /* HASH_TYPE_IPV6_FLOW_LABEL and HASH_TYPE_IPV6 are mutually + * exclusive. If both bits are specified in rte_type, set only + * HASH_TYPE_IPV6_FLOW_LABEL in hardware since it subsumes + * HASH_TYPE_IPV6 (see comments for HASH_TYPE_IPV6_FLOW_LABEL + * in hsi.h). + */ hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_IPV6_FLOW_LABEL; + hwrm_type &= ~HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_IPV6; + } if (rte_type & RTE_ETH_RSS_ESP) hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_ESP_SPI_IPV4 | HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_ESP_SPI_IPV6; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 23/54] net/bnxt/tf_ulp: enable support for global index table 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (21 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 22/54] net/bnxt: fix default rss config Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 24/54] net/bnxt/tf_core: fix build failure with flow scale option Manish Kurup ` (31 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The multi instance applications use metadata profile tables to set the metadata mask and this mask needs to be shared by multiple applications. The code is extended to support global id for these metadata profiles that these can be shared across applications. Since there are limited number of these resources, to scale the number of applications this resource needs to be shared as global ids. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 111 +++++++++++++++++++++++ drivers/net/bnxt/tf_ulp/ulp_mapper.h | 11 +++ drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 2 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 77 ++++++++++++++++ 4 files changed, 201 insertions(+) diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index 1901845499..9cda3b355b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -3129,6 +3129,110 @@ ulp_mapper_global_identifier_process(struct bnxt_ulp_mapper_parms *parms, return rc; } +static int32_t +ulp_mapper_global_idx_tbl_process(struct bnxt_ulp_mapper_parms *parms, + struct bnxt_ulp_mapper_tbl_info *tbl) +{ + const struct ulp_mapper_core_ops *op = parms->mapper_data->mapper_oper; + struct bnxt_ulp_glb_resource_info glb_res = { 0 }; + struct ulp_flow_db_res_params fid_parms = { 0 }; + struct bnxt_ulp_mapper_key_info *kflds; + struct ulp_blob key; + uint32_t num_kflds = 0; + uint16_t tmplen = 0; + uint64_t idx = 0; + uint8_t *context; + int32_t rc = 0; + uint32_t i; + + /* check the table opcode */ + if (tbl->tbl_opcode != BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC) { + BNXT_DRV_DBG(ERR, "Invalid global idx table opcode %d", + tbl->tbl_opcode); + return -EINVAL; + } + + /* Create the key blob */ + if (unlikely(ulp_blob_init(&key, tbl->blob_key_bit_size, + BNXT_ULP_BYTE_ORDER_BE))) { + BNXT_DRV_DBG(ERR, "blob init failed."); + return -EINVAL; + } + + kflds = ulp_mapper_key_fields_get(parms, tbl, &num_kflds); + for (i = 0; i < num_kflds; i++) { + rc = ulp_mapper_field_opc_process(parms, tbl->direction, + &kflds[i].field_info_spec, + &key, 1, + "Global Idx Context"); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Key field set failed %s", + kflds[i].field_info_spec.description); + return rc; + } + } + + context = ulp_blob_data_get(&key, &tmplen); + tmplen = ULP_BITS_2_BYTE(tmplen); + + if (unlikely(!op->ulp_mapper_core_glb_idx_tbl_alloc)) { + BNXT_DRV_DBG(ERR, "global idx tbl process not supported"); + return -EINVAL; + } + + rc = op->ulp_mapper_core_glb_idx_tbl_alloc(parms->ulp_ctx, + tbl->resource_type, + tbl->direction, context, + tmplen, &idx); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "global idx tbl process failed"); + return rc; + } + + /* Add the table index to the flow db */ + memset(&fid_parms, 0, sizeof(fid_parms)); + fid_parms.direction = tbl->direction; + fid_parms.resource_func = tbl->resource_func; + fid_parms.resource_type = tbl->resource_type; + fid_parms.critical_resource = tbl->critical_resource; + fid_parms.resource_hndl = idx; + + rc = ulp_mapper_fdb_opc_process(parms, tbl, &fid_parms); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Fail to link res to flow rc = %d", rc); + goto error; + } + + rc = bnxt_ulp_cntxt_dev_id_get(parms->ulp_ctx, &glb_res.device_id); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Failed to get device id (%d)", rc); + goto error; + } + + rc = bnxt_ulp_cntxt_app_id_get(parms->ulp_ctx, &glb_res.app_id); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Failed to get app id (%d)", rc); + goto error; + } + + glb_res.direction = tbl->direction; + glb_res.resource_func = tbl->resource_func; + glb_res.resource_type = tbl->resource_type; + glb_res.glb_regfile_index = tbl->tbl_operand; + /* Write the table index into the regfile*/ + if (ulp_mapper_glb_resource_write(parms->mapper_data, &glb_res, + tfp_cpu_to_be_64(idx), false)) { + BNXT_DRV_DBG(ERR, "Glb Regfile[%d] write failed.", + tbl->tbl_operand); + rc = -EINVAL; + goto error; + } + return rc; +error: + (void)op->ulp_mapper_core_glb_idx_tbl_free(parms->ulp_ctx, &fid_parms); + return rc; +} + /* Free the vnic resource */ static int32_t ulp_mapper_vnic_tbl_res_free(struct bnxt_ulp_context *ulp __rte_unused, @@ -4357,6 +4461,9 @@ ulp_mapper_tbls_process(struct bnxt_ulp_mapper_parms *parms, void *error) case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER: rc = ulp_mapper_global_identifier_process(parms, tbl); break; + case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL: + rc = ulp_mapper_global_idx_tbl_process(parms, tbl); + break; default: BNXT_DRV_DBG(ERR, "Unexpected mapper resource %d\n", tbl->resource_func); @@ -4501,6 +4608,10 @@ ulp_mapper_resource_free(struct bnxt_ulp_context *ulp, break; case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER: rc = mapper_op->ulp_mapper_core_global_ident_free(ulp, res); + break; + case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL: + rc = mapper_op->ulp_mapper_core_glb_idx_tbl_free(ulp, res); + break; default: break; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h index a4a42ab84d..732f095f01 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h @@ -166,6 +166,17 @@ struct ulp_mapper_core_ops { (*ulp_mapper_core_global_ident_free)(struct bnxt_ulp_context *ulp_ctx, struct ulp_flow_db_res_params *r); + int32_t + (*ulp_mapper_core_glb_idx_tbl_alloc)(struct bnxt_ulp_context *ctx, + uint16_t sub_type, + uint8_t direction, + uint8_t *context_id, + uint16_t context_len, + uint64_t *idx_id); + + int32_t + (*ulp_mapper_core_glb_idx_tbl_free)(struct bnxt_ulp_context *ulp_ctx, + struct ulp_flow_db_res_params *r); uint32_t (*ulp_mapper_core_dyn_tbl_type_get)(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_tbl_info *t, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c index 72d0f96573..3960be4e48 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c @@ -1380,6 +1380,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tf_core_ops = { .ulp_mapper_core_ident_free = ulp_mapper_tf_ident_free, .ulp_mapper_core_global_ident_alloc = NULL, .ulp_mapper_core_global_ident_free = NULL, + .ulp_mapper_core_glb_idx_tbl_alloc = NULL, + .ulp_mapper_core_glb_idx_tbl_free = NULL, .ulp_mapper_core_dyn_tbl_type_get = ulp_mapper_tf_dyn_tbl_type_get, .ulp_mapper_core_index_tbl_alloc_process = ulp_mapper_tf_index_tbl_alloc_process, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index 20b1ac09fc..0f967b838d 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -1911,6 +1911,81 @@ ulp_mapper_tfc_mtr_stats_hndl_del(uint32_t mtr_id) } return rc; +} + +static int32_t +ulp_mapper_tfc_glb_idx_tbl_alloc(struct bnxt_ulp_context *ulp_ctx, + uint16_t sub_type, uint8_t direction, + uint8_t *context_id, uint16_t context_len, + uint64_t *idx_id) +{ + struct tfc *tfcp = NULL; + struct tfc_global_id_req glb_req = { 0 }; + struct tfc_global_id glb_rsp = { 0 }; + uint16_t fw_fid = 0; + int32_t rc = 0; + bool first = false; + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id"); + return -EINVAL; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + BNXT_DRV_DBG(ERR, "Failed to get tfcp pointer"); + return -EINVAL; + } + + glb_req.rtype = CFA_RTYPE_IDX_TBL; + glb_req.dir = direction; + glb_req.rsubtype = sub_type; + glb_req.context_len = context_len; + glb_req.context_id = context_id; + + rc = tfc_global_id_alloc(tfcp, fw_fid, &glb_req, &glb_rsp, &first); + if (unlikely(rc != 0)) { + BNXT_DRV_DBG(ERR, "alloc failed %d", rc); + return rc; + } + *idx_id = glb_rsp.id; + + return rc; +} + +static int32_t +ulp_mapper_tfc_glb_idx_tbl_free(struct bnxt_ulp_context *ulp_ctx, + struct ulp_flow_db_res_params *res) +{ + struct tfc_global_id_req glb_req = { 0 }; + struct tfc *tfcp = NULL; + int32_t rc = 0; + uint16_t fw_fid = 0; + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id"); + return -EINVAL; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + BNXT_DRV_DBG(ERR, "Failed to get tfcp pointer"); + return -EINVAL; + } + + glb_req.rtype = CFA_RTYPE_IDX_TBL; + glb_req.dir = (enum cfa_dir)res->direction; + glb_req.rsubtype = res->resource_type; + glb_req.resource_id = (uint16_t)res->resource_hndl; + + rc = tfc_global_id_free(tfcp, fw_fid, &glb_req); + if (unlikely(rc != 0)) { + BNXT_DRV_DBG(ERR, "free failed %d", rc); + return rc; + } + + return rc; +} static inline int32_t ulp_mapper_tfc_tcam_prio_update(struct bnxt_ulp_mapper_parms *parms, @@ -1963,6 +2038,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops = { .ulp_mapper_core_ident_free = ulp_mapper_tfc_ident_free, .ulp_mapper_core_global_ident_alloc = ulp_mapper_tfc_global_ident_alloc, .ulp_mapper_core_global_ident_free = ulp_mapper_tfc_global_ident_free, + .ulp_mapper_core_glb_idx_tbl_alloc = ulp_mapper_tfc_glb_idx_tbl_alloc, + .ulp_mapper_core_glb_idx_tbl_free = ulp_mapper_tfc_glb_idx_tbl_free, .ulp_mapper_core_dyn_tbl_type_get = ulp_mapper_tfc_dyn_tbl_type_get, .ulp_mapper_core_index_tbl_alloc_process = ulp_mapper_tfc_index_tbl_alloc_process, -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 24/54] net/bnxt/tf_core: fix build failure with flow scale option 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (22 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 23/54] net/bnxt/tf_ulp: enable support for global index table Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 25/54] net/bnxt: truflow remove redundant code for mpc init Manish Kurup ` (30 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shuanglin Wang, Kishore Padmanabha From: Shuanglin Wang <shuanglin.wang@broadcom.com> Resolved the build failure when building dpdk with the extra c flag: -DTF_FLOW_SCALE_QUERY. The issue is caused by the new debug code in DPDK 24.11. Signed-off-by: Shuanglin Wang <shuanglin.wang@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_core/tf_resources.c | 2 +- drivers/net/bnxt/tf_core/v3/tfc_resources.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/bnxt/tf_core/tf_resources.c b/drivers/net/bnxt/tf_core/tf_resources.c index b3174ba1af..3219d61cab 100644 --- a/drivers/net/bnxt/tf_core/tf_resources.c +++ b/drivers/net/bnxt/tf_core/tf_resources.c @@ -535,7 +535,7 @@ void tf_resc_usage_update_all(struct bnxt *bp) tfp = bnxt_ulp_bp_tfp_get(bp, BNXT_ULP_SESSION_TYPE_DEFAULT); if (!tfp || !tfp->session) { - BNXT_DRV_DBG(ERR, "Failed to get truflow or session pointer\n"); + BNXT_DRV_DBG(ERR, "Failed to get truflow or session pointer"); return; } diff --git a/drivers/net/bnxt/tf_core/v3/tfc_resources.c b/drivers/net/bnxt/tf_core/v3/tfc_resources.c index 5fa6d113ca..44b7a0afcb 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_resources.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_resources.c @@ -59,14 +59,16 @@ tfc_query_resc_usage(struct tfc *tfcp, enum cfa_dir dir) rc = tfo_sid_get(tfcp->tfo, &sid); if (rc) { - PMD_DRV_LOG_LINE(ERR, "Failed to retrieve SID, rc:%s\n", - strerror(-rc)); + PMD_DRV_LOG_LINE(ERR, "%s: Failed to retrieve SID, rc:%s", + __func__, strerror(-rc)); return rc; } tfc_msg_resc_usage_query(tfcp, sid, dir, &data_size, &stats_info); PMD_DRV_LOG_LINE(ERR, - "dir:%s, %d - %d %d(1-slice) - %d %d(2-slices) - %d(4-slices) - %d(unused row) - %d(used_slices)\n", - dir ? "TX" : "RX", stats_info.max_slices, + "%s: dir:%s, %d - %d %d(1-slice) - %d %d(2-slices) - %d(4-slices) - %d(unused row) - %d(used_slices)", + __func__, + dir ? "TX" : "RX", + stats_info.max_slices, stats_info.row_1_slice_p_used, stats_info.row_1_slice_f_used, stats_info.row_2_slice_p_used, @@ -86,7 +88,7 @@ void tfc_resc_usage_query_all(struct bnxt *bp) tfcp = bnxt_ulp_cntxt_tfcp_get(bp->ulp_ctx); if (!tfcp) { - BNXT_DRV_DBG(ERR, "Failed to get truflow pointer\n"); + BNXT_DRV_DBG(ERR, "Failed to get truflow pointer"); return; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 25/54] net/bnxt: truflow remove redundant code for mpc init 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (23 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 24/54] net/bnxt/tf_core: fix build failure with flow scale option Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 26/54] net/bnxt/tf_ulp: optimize template enums Manish Kurup ` (29 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Sangtani Parag Satishbhai From: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> This patch removes redundant code from two files which is used during mpc init. The NULL condition check for mpc member in bnxt_mpc.c file is not required as mpc will always be initialized for P7 platform. The extra condition added in bnxt_ethdev.c to enable mpc for tf apps is not required as it will be always be enabled for P7 platform. Signed-off-by: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_mpc.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/net/bnxt/bnxt_mpc.c b/drivers/net/bnxt/bnxt_mpc.c index ff2f0d7043..2582b50782 100644 --- a/drivers/net/bnxt/bnxt_mpc.c +++ b/drivers/net/bnxt/bnxt_mpc.c @@ -719,20 +719,10 @@ int bnxt_mpc_send(struct bnxt *bp, bool batch) { int rc; - struct bnxt_mpc_txq *mpc_queue; + struct bnxt_mpc_txq *mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; int retry = BNXT_MPC_RX_RETRY; uint32_t pi = 0; - /* - * TODO: This condition check is added to avoid - * segmentation fault in case mpc argument is - * missing in dev-args. Fix this by removing - * mpc argument from dev args. - */ - if (!bp->mpc) - return -1; - mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; - if (out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_SHORT && out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_LONG) return -1; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 26/54] net/bnxt/tf_ulp: optimize template enums 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (24 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 25/54] net/bnxt: truflow remove redundant code for mpc init Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash Manish Kurup ` (28 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The template enums are broken into two files, the enum file contains the enumeration that is common for applications and define file that contains application specific enumerations. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- .../ulp_template_db_enum.h | 82 +------------------ 1 file changed, 3 insertions(+), 79 deletions(-) rename drivers/net/bnxt/tf_ulp/{generic_templates => }/ulp_template_db_enum.h (96%) diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h similarity index 96% rename from drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h rename to drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h index 87e24c37c2..4e7cb570b0 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -3,74 +3,10 @@ * All rights reserved. */ -#ifndef ULP_TEMPLATE_DB_H_ -#define ULP_TEMPLATE_DB_H_ +#ifndef ULP_TEMPLATE_DB_ENUM_H_ +#define ULP_TEMPLATE_DB_ENUM_H_ -#define BNXT_ULP_REGFILE_MAX_SZ 107 -#define BNXT_ULP_MAX_NUM_DEVICES 5 -#define BNXT_ULP_LOG2_MAX_NUM_DEV 2.32192809488736 -#define BNXT_ULP_GEN_TBL_MAX_SZ 62 -#define BNXT_ULP_ALLOCATOR_TBL_MAX_SZ 2 -#define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 163 -#define BNXT_ULP_ACT_MATCH_LIST_MAX_SZ 21 -#define BNXT_ULP_APP_RESOURCE_RESV_LIST_MAX_SZ 0 -#define BNXT_ULP_GLB_RESOURCE_TBL_MAX_SZ 57 -#define BNXT_ULP_APP_GLB_RESOURCE_TBL_MAX_SZ 0 -#define BNXT_ULP_RESOURCE_RESV_LIST_MAX_SZ 73 -#define BNXT_ULP_APP_CAP_TBL_MAX_SZ 3 -#define BNXT_ULP_COND_GOTO_REJECT 1023 -#define BNXT_ULP_COND_GOTO_RF 0x10000 -#define BNXT_ULP_APP_ID_CONFIG 0 -#define BNXT_ULP_GLB_FIELD_TBL_SIZE 129 -#define BNXT_ULP_GLB_SIG_TBL_SIZE 1 -#define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 8 -#define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 98 -#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 683 -#define ULP_WH_PLUS_CLASS_KEY_EXT_LIST_SIZE 0 -#define ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE 29 -#define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 657 -#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 50 -#define ULP_WH_PLUS_CLASS_COND_OPER_LIST_SIZE 0 -#define ULP_THOR_CLASS_TMPL_LIST_SIZE 8 -#define ULP_THOR_CLASS_TBL_LIST_SIZE 214 -#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 940 -#define ULP_THOR_CLASS_KEY_EXT_LIST_SIZE 778 -#define ULP_THOR_CLASS_IDENT_LIST_SIZE 67 -#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 1322 -#define ULP_THOR_CLASS_COND_LIST_SIZE 4909 -#define ULP_THOR_CLASS_COND_OPER_LIST_SIZE 15 -#define ULP_THOR2_CLASS_TMPL_LIST_SIZE 8 -#define ULP_THOR2_CLASS_TBL_LIST_SIZE 182 -#define ULP_THOR2_CLASS_KEY_INFO_LIST_SIZE 737 -#define ULP_THOR2_CLASS_KEY_EXT_LIST_SIZE 668 -#define ULP_THOR2_CLASS_IDENT_LIST_SIZE 61 -#define ULP_THOR2_CLASS_RESULT_FIELD_LIST_SIZE 1603 -#define ULP_THOR2_CLASS_COND_LIST_SIZE 4214 -#define ULP_THOR2_CLASS_COND_OPER_LIST_SIZE 14 -#define ULP_WH_PLUS_ACT_TMPL_LIST_SIZE 13 -#define ULP_WH_PLUS_ACT_TBL_LIST_SIZE 155 -#define ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE 49 -#define ULP_WH_PLUS_ACT_KEY_EXT_LIST_SIZE 0 -#define ULP_WH_PLUS_ACT_IDENT_LIST_SIZE 20 -#define ULP_WH_PLUS_ACT_RESULT_FIELD_LIST_SIZE 995 -#define ULP_WH_PLUS_ACT_COND_LIST_SIZE 134 -#define ULP_WH_PLUS_ACT_COND_OPER_LIST_SIZE 6 -#define ULP_THOR_ACT_TMPL_LIST_SIZE 13 -#define ULP_THOR_ACT_TBL_LIST_SIZE 104 -#define ULP_THOR_ACT_KEY_INFO_LIST_SIZE 83 -#define ULP_THOR_ACT_KEY_EXT_LIST_SIZE 5 -#define ULP_THOR_ACT_IDENT_LIST_SIZE 19 -#define ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE 416 -#define ULP_THOR_ACT_COND_LIST_SIZE 90 -#define ULP_THOR_ACT_COND_OPER_LIST_SIZE 0 -#define ULP_THOR2_ACT_TMPL_LIST_SIZE 13 -#define ULP_THOR2_ACT_TBL_LIST_SIZE 121 -#define ULP_THOR2_ACT_KEY_INFO_LIST_SIZE 86 -#define ULP_THOR2_ACT_KEY_EXT_LIST_SIZE 5 -#define ULP_THOR2_ACT_IDENT_LIST_SIZE 42 -#define ULP_THOR2_ACT_RESULT_FIELD_LIST_SIZE 452 -#define ULP_THOR2_ACT_COND_LIST_SIZE 96 -#define ULP_THOR2_ACT_COND_OPER_LIST_SIZE 0 +#include "ulp_template_db_defs.h" enum bnxt_ulp_act_bit { BNXT_ULP_ACT_BIT_MARK = 0x0000000000000001, @@ -2181,16 +2117,4 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_T_ECPRI_CONTEXT_MASK = 0 }; -enum bnxt_ulp_df_tpl { - BNXT_ULP_DF_TPL_DEFAULT_UPLINK_PORT = 3, - BNXT_ULP_DF_TPL_DEFAULT_VFR = 4 -}; - -enum bnxt_ulp_template_id { - BNXT_ULP_TEMPLATE_PROMISCUOUS_ENABLE = 5, - BNXT_ULP_TEMPLATE_PROMISCUOUS_DISABLE = 6, - BNXT_ULP_TEMPLATE_GROUP_MISS_ACTION = 7 -}; - #endif - -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (25 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 26/54] net/bnxt/tf_ulp: optimize template enums Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 28/54] net/bnxt/tf_ulp: support MPLS packets Manish Kurup ` (27 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Kishore Padmanabha From: Farah Smith <farah.smith@broadcom.com> Change table scope shutdown sequence in DPDK to remove the function from the scope prior to requesting the memory being freed. The firmware will delete the scope when the last fid is removed so there is no need to issue the table scope deconfig HWRM. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 24 ++++++++------------- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 20 +++++++++++------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index 60b8289805..ac805916cc 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -1284,7 +1284,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, tsid, dir, CFA_REGION_TYPE_LKUP, - true, + parms->local, &lkup_mem_cfg[dir]); if (rc) goto cleanup; @@ -1293,7 +1293,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, tsid, dir, CFA_REGION_TYPE_ACT, - true, + parms->local, &act_mem_cfg[dir]); if (rc) goto cleanup; @@ -1388,9 +1388,13 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) PMD_DRV_LOG_LINE(ERR, "tfc_vf2pf_mem_free failed"); /* continue cleanup regardless */ } - PMD_DRV_LOG_LINE(DEBUG, "tsid: %d, status %d", resp.tsid, resp.status); - if (shared) + PMD_DRV_LOG_LINE(DEBUG, "%s: tsid: %d, status %d", + __func__, resp.tsid, resp.status); + if (shared) { + /* reset scope */ + tfo_ts_set(tfcp->tfo, tsid, false, CFA_APP_TYPE_INVALID, false, 0); return rc; + } } if (shared && is_pf) { @@ -1495,11 +1499,9 @@ int tfc_tbl_scope_fid_add(struct tfc *tfcp, uint16_t fid, uint8_t tsid, int tfc_tbl_scope_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint16_t *fid_cnt) { - struct tfc_ts_mem_cfg mem_cfg; struct tfc_cpm *cpm_lkup; struct tfc_cpm *cpm_act; int rc = 0; - bool local; if (tfcp == NULL) { PMD_DRV_LOG_LINE(ERR, "Invalid tfcp pointer"); @@ -1536,15 +1538,7 @@ int tfc_tbl_scope_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, if (rc == 0 && (cpm_lkup != NULL || cpm_act != NULL)) (void)tfc_tbl_scope_cpm_free(tfcp, tsid); - /* - * Check if any table has memory configured and, if so, free it. - */ - (void)tfo_ts_get_mem_cfg(tfcp->tfo, tsid, CFA_DIR_RX, - CFA_REGION_TYPE_LKUP, &local, &mem_cfg); - - rc = tfo_ts_set(tfcp->tfo, tsid, false, CFA_APP_TYPE_INVALID, - false, 0); - + /* tbl_scope_mem_free() will reset the remaining tsid state */ return rc; } diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 385dd742d5..084a3db92d 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -320,20 +320,21 @@ ulp_tfc_tbl_scope_deinit(struct bnxt *bp) else BNXT_DRV_DBG(DEBUG, "Freed CPM TSID:%d FID: %d\n", tsid, fid); - rc = tfc_tbl_scope_mem_free(tfcp, fid, tsid); + + rc = tfc_tbl_scope_fid_rem(tfcp, fid, tsid, &fid_cnt); if (rc) - BNXT_DRV_DBG(ERR, "Failed freeing tscope mem TSID:%d FID:%d\n", + BNXT_DRV_DBG(ERR, "Failed removing FID from TSID:%d FID:%d", tsid, fid); else - BNXT_DRV_DBG(DEBUG, "Freed tscope mem TSID:%d FID:%d\n", + BNXT_DRV_DBG(DEBUG, "Removed FID from TSID:%d FID:%d", tsid, fid); - rc = tfc_tbl_scope_fid_rem(tfcp, fid, tsid, &fid_cnt); + rc = tfc_tbl_scope_mem_free(tfcp, fid, tsid); if (rc) - BNXT_DRV_DBG(ERR, "Failed removing FID from TSID:%d FID:%d\n", + BNXT_DRV_DBG(ERR, "Failed freeing tscope mem TSID:%d FID:%d", tsid, fid); else - BNXT_DRV_DBG(DEBUG, "Removed FID from TSID:%d FID:%d\n", + BNXT_DRV_DBG(DEBUG, "Freed tscope mem TSID:%d FID:%d", tsid, fid); } @@ -456,7 +457,12 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) qparms.act_pool_sz_exp[CFA_DIR_RX]; mem_parms.act_pool_sz_exp[CFA_DIR_TX] = qparms.act_pool_sz_exp[CFA_DIR_TX]; - mem_parms.local = true; + + if (shared) + mem_parms.local = false; + else + mem_parms.local = true; + rc = tfc_tbl_scope_mem_alloc(tfcp, fid, tsid, &mem_parms); if (rc) { BNXT_DRV_DBG(ERR, -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 28/54] net/bnxt/tf_ulp: support MPLS packets 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (26 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 29/54] net/bnxt/tf_core: add backing store debug to dpdk Manish Kurup ` (26 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shuanglin Wang, Kishore Padmanabha From: Shuanglin Wang <shuanglin.wang@broadcom.com> Thor supports offloading MPLS packets and performing drop, forward, or queue actions for matchied packets. Signed-off-by: Shuanglin Wang <shuanglin.wang@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c | 4 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 52 ++++ drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 5 + .../net/bnxt/tf_ulp/ulp_template_db_enum.h | 239 +++++++++++++++++- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 3 + 5 files changed, 289 insertions(+), 14 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c index 5b9caabe1d..6e1115b985 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c @@ -297,8 +297,8 @@ struct bnxt_ulp_rte_hdr_info ulp_hdr_info[] = { .proto_hdr_func = NULL }, [RTE_FLOW_ITEM_TYPE_MPLS] = { - .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED, - .proto_hdr_func = NULL + .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED, + .proto_hdr_func = ulp_rte_mpls_hdr_handler }, [RTE_FLOW_ITEM_TYPE_GRE] = { .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED, diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index bf3a3deb18..af7f8b7ab4 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -2159,6 +2159,58 @@ ulp_rte_ecpri_hdr_handler(const struct rte_flow_item *item, return BNXT_TF_RC_SUCCESS; } +/* Function to handle the parsing of RTE Flow item MPLS Header. */ +int32_t +ulp_rte_mpls_hdr_handler(const struct rte_flow_item *item, + struct ulp_rte_parser_params *params) +{ + const struct rte_flow_item_mpls *mpls_spec = item->spec; + const struct rte_flow_item_mpls *mpls_mask = item->mask; + struct ulp_rte_hdr_bitmap *hdr_bitmap = ¶ms->hdr_bitmap; + uint32_t idx = 0; + uint32_t size; + + if (unlikely(ulp_rte_prsr_fld_size_validate(params, &idx, + BNXT_ULP_PROTO_HDR_MPLS_NUM))) { + BNXT_DRV_DBG(ERR, "Error parsing protocol header"); + return BNXT_TF_RC_ERROR; + } + + if (mpls_spec && !mpls_mask) + mpls_mask = &rte_flow_item_mpls_mask; + + if (mpls_spec) { + uint8_t spec_label_tc_s[3] = {0}; + uint8_t mask_label_tc_s[3] = {0}; + /* right-shift 4 bits */ + spec_label_tc_s[0] = mpls_spec->label_tc_s[0] >> 4; + spec_label_tc_s[1] = mpls_spec->label_tc_s[0] << 4 | mpls_spec->label_tc_s[1] >> 4; + spec_label_tc_s[2] = mpls_spec->label_tc_s[1] << 4 | mpls_spec->label_tc_s[2] >> 4; + mask_label_tc_s[0] = mpls_mask->label_tc_s[0] >> 4; + mask_label_tc_s[1] = mpls_mask->label_tc_s[0] << 4 | mpls_mask->label_tc_s[1] >> 4; + mask_label_tc_s[2] = mpls_mask->label_tc_s[1] << 4 | mpls_mask->label_tc_s[2] >> 4; + + /* Process mpls label field */ + size = sizeof(((struct rte_flow_item_mpls *)NULL)->label_tc_s); + ulp_rte_prsr_fld_mask(params, &idx, size, + spec_label_tc_s, + mask_label_tc_s, + ULP_PRSR_ACT_DEFAULT); + + /* Process mpls ttl field */ + size = sizeof(((struct rte_flow_item_mpls *)NULL)->ttl); + ulp_rte_prsr_fld_mask(params, &idx, size, + ulp_deference_struct(mpls_spec, ttl), + ulp_deference_struct(mpls_mask, ttl), + ULP_PRSR_ACT_DEFAULT); + } + + /* Update the hdr_bitmap with MPLS and cf bitmap*/ + ULP_BITMAP_SET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_T_MPLS); + ULP_BITMAP_SET(params->cf_bitmap, BNXT_ULP_CF_BIT_IS_TUNNEL); + return BNXT_TF_RC_SUCCESS; +} + /* Function to handle the parsing of RTE Flow item void Header */ int32_t ulp_rte_void_hdr_handler(const struct rte_flow_item *item __rte_unused, diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h index b20cb1ccde..5f451ba404 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h @@ -164,6 +164,11 @@ int32_t ulp_rte_ecpri_hdr_handler(const struct rte_flow_item *item, struct ulp_rte_parser_params *params); +/* Function to handle the parsing of RTE Flow item MPLS Header. */ +int32_t +ulp_rte_mpls_hdr_handler(const struct rte_flow_item *item, + struct ulp_rte_parser_params *params); + /* Function to handle the parsing of RTE Flow item void Header. */ int32_t ulp_rte_void_hdr_handler(const struct rte_flow_item *item, 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 4e7cb570b0..02534d8fe8 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -71,7 +71,8 @@ enum bnxt_ulp_cf_bit { BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT = 0x0000000000000800, BNXT_ULP_CF_BIT_DYNAMIC_VXLAN_PORT = 0x0000000000001000, BNXT_ULP_CF_BIT_DYNAMIC_GENEVE_PORT = 0x0000000000002000, - BNXT_ULP_CF_BIT_LAST = 0x0000000000004000 + BNXT_ULP_CF_BIT_HOT_UP_SECONDARY = 0x0000000000004000, + BNXT_ULP_CF_BIT_LAST = 0x0000000000008000 }; enum bnxt_ulp_dev_ft { @@ -117,7 +118,8 @@ enum bnxt_ulp_hdr_bit { BNXT_ULP_HDR_BIT_I_L4_FLOW = 0x0000000200000000, BNXT_ULP_HDR_BIT_NON_GENERIC = 0x0000000400000000, BNXT_ULP_HDR_BIT_GENERIC = 0x0000000800000000, - BNXT_ULP_HDR_BIT_LAST = 0x0000001000000000 + BNXT_ULP_HDR_BIT_T_MPLS = 0x0000001000000000, + BNXT_ULP_HDR_BIT_LAST = 0x0000002000000000 }; enum bnxt_ulp_accept_opc { @@ -386,7 +388,8 @@ enum bnxt_ulp_enc_field { BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 = 51, BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 = 52, BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 = 53, - BNXT_ULP_ENC_FIELD_LAST = 54 + BNXT_ULP_ENC_FIELD_MPLS_LABEL = 54, + BNXT_ULP_ENC_FIELD_LAST = 55 }; enum bnxt_ulp_fdb_opc { @@ -479,7 +482,10 @@ enum bnxt_ulp_func_opc { BNXT_ULP_FUNC_OPC_COND_LIST = 26, BNXT_ULP_FUNC_OPC_PORT_TABLE = 27, BNXT_ULP_FUNC_OPC_MTR_ID_TO_STATS_HANDLE = 28, - BNXT_ULP_FUNC_OPC_LAST = 29 + BNXT_ULP_FUNC_OPC_APP_PRIORITY = 29, + BNXT_ULP_FUNC_OPC_TCAM_SET_PRIORITY = 30, + BNXT_ULP_FUNC_OPC_GET_HA_PRIORITY = 31, + BNXT_ULP_FUNC_OPC_LAST = 32 }; enum bnxt_ulp_func_src { @@ -511,7 +517,8 @@ enum bnxt_ulp_generic_tbl_opc { BNXT_ULP_GENERIC_TBL_OPC_NOT_USED = 0, BNXT_ULP_GENERIC_TBL_OPC_READ = 1, BNXT_ULP_GENERIC_TBL_OPC_WRITE = 2, - BNXT_ULP_GENERIC_TBL_OPC_LAST = 3 + BNXT_ULP_GENERIC_TBL_OPC_ITERATE = 3, + BNXT_ULP_GENERIC_TBL_OPC_LAST = 4 }; enum bnxt_ulp_glb_rf_idx { @@ -616,6 +623,18 @@ enum bnxt_ulp_glb_rf_idx { BNXT_ULP_GLB_RF_IDX_LAST = 98 }; +enum bnxt_ulp_global_identifier_tbl_opc { + BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_NOP = 0, + BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC = 1, + BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_LAST = 2 +}; + +enum bnxt_ulp_global_idx_tbl_opc { + BNXT_ULP_GLOBAL_IDX_TBL_OPC_NOP = 0, + BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC = 1, + BNXT_ULP_GLOBAL_IDX_TBL_OPC_LAST = 2 +}; + enum bnxt_ulp_global_register_tbl_opc { BNXT_ULP_GLOBAL_REGISTER_TBL_OPC_NOT_USED = 0, BNXT_ULP_GLOBAL_REGISTER_TBL_OPC_WR_REGFILE = 1, @@ -830,7 +849,13 @@ enum bnxt_ulp_rf_idx { BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_MTR = 104, BNXT_ULP_RF_IDX_SW_METER_PTR_0 = 105, BNXT_ULP_RF_IDX_METER_STATS_HNDL_0 = 106, - BNXT_ULP_RF_IDX_LAST = 107 + BNXT_ULP_RF_IDX_DYN_TUN_TYPE = 107, + BNXT_ULP_RF_IDX_DYN_UPAR_TUN = 108, + BNXT_ULP_RF_IDX_DYN_UPAR_ID = 109, + BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX = 110, + BNXT_ULP_RF_IDX_APP_PRIO = 111, + BNXT_ULP_RF_IDX_HA_PRIO = 112, + BNXT_ULP_RF_IDX_LAST = 113 }; enum bnxt_ulp_stats_cache_tbl_opc { @@ -883,7 +908,10 @@ enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_PARENT_DMAC = 0x00000001, BNXT_ULP_FEATURE_BIT_PORT_DMAC = 0x00000002, BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW = 0x00000004, - BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT = 0x00000008 + BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT = 0x00000008, + BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE = 0x00000010, + BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN = 0x00000020, + BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040 }; enum bnxt_ulp_flow_dir_bitmask { @@ -909,7 +937,9 @@ enum bnxt_ulp_resource_func { BNXT_ULP_RESOURCE_FUNC_GLOBAL_REGISTER_TABLE = 0x8a, BNXT_ULP_RESOURCE_FUNC_KEY_RECIPE_TABLE = 0x8b, BNXT_ULP_RESOURCE_FUNC_ALLOCATOR_TABLE = 0x8c, - BNXT_ULP_RESOURCE_FUNC_STATS_CACHE = 0x8d + BNXT_ULP_RESOURCE_FUNC_STATS_CACHE = 0x8d, + BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER = 0x8e, + BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL = 0x8f }; enum bnxt_ulp_resource_sub_type { @@ -951,6 +981,8 @@ enum bnxt_ulp_resource_sub_type { BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE = 28, BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE = 29, BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_METER_STATS_CACHE = 30, + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE = 31, + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE = 32, BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX = 0, BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_RSS = 0, BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_QUEUE = 1, @@ -1374,10 +1406,44 @@ enum ulp_wp_sym { ULP_WP_SYM_DECAP_FUNC_THRU_L2 = 11, ULP_WP_SYM_DECAP_FUNC_THRU_L3 = 12, ULP_WP_SYM_DECAP_FUNC_THRU_L4 = 13, + ULP_WP_SYM_DECAP_FUNC_THRU_OL2 = 0, + ULP_WP_SYM_DECAP_FUNC_THRU_OL3 = 0, + ULP_WP_SYM_DECAP_FUNC_THRU_OL4 = 0, + ULP_WP_SYM_DECAP_FUNC_THRU_OTUN = 0, ULP_WP_SYM_ECV_VALID_NO = 0, ULP_WP_SYM_ECV_VALID_YES = 1, ULP_WP_SYM_ECV_CUSTOM_EN_NO = 0, ULP_WP_SYM_ECV_CUSTOM_EN_YES = 1, + ULP_WP_SYM_ECV_CUSTOM_IPV4_CTRL_ENCREC = 0, + ULP_WP_SYM_ECV_CUSTOM_IPV4_CTRL_RSVD = 0, + ULP_WP_SYM_ECV_CUSTOM_IPV4_CTRL_INHERIT = 0, + ULP_WP_SYM_ECV_CUSTOM_IPV4_CTRL_INCREMENT = 0, + ULP_WP_SYM_ECV_SMAC_OVR_USE_SPSMAC = 0, + ULP_WP_SYM_ECV_SMAC_OVR_REUSE_IN_L2 = 0, + ULP_WP_SYM_ECV_SMAC_OVR_REUSE_TUN_L2 = 0, + ULP_WP_SYM_ECV_SMAC_OVR_USE_OUT_L2 = 0, + ULP_WP_SYM_ECV_SMAC_OVR_RFU = 0, + ULP_WP_SYM_ECV_SMAC_OVR_REUSE_IN_L2_DMAC = 0, + ULP_WP_SYM_ECV_SMAC_OVR_REUSE_TUN_L2_DMAC = 0, + ULP_WP_SYM_ECV_SMAC_OVR_REUSE_OUT_L2_DMAC = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_ENCREC_VLANS = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_IN_L2_VLANS = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_TUN_L2_VLANS = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_OUT_L2_VLANS = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_IN_VLAN_IN_L2 = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_IN_L2 = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_IN_VLAN_OUT_L2 = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_OUT_L2 = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_ENCREC_DMAC = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_IN_L2_DMAC = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_IN_TUN_DMAC = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_OUT_L2_DMAC = 0, + ULP_WP_SYM_ECV_GRE_SET_K_INCLUDE_OPTIONAL = 0, + ULP_WP_SYM_ECV_GRE_SET_K_NONE = 0, + ULP_WP_SYM_ECV_IP_TOS_IN_HDR = 0, + ULP_WP_SYM_ECV_IP_TOS_ENCREC = 0, + ULP_WP_SYM_ECV_IP_TTL_IN_HDR = 0, + ULP_WP_SYM_ECV_IP_TTL_ENCREC = 0, ULP_WP_SYM_ECV_L2_EN_NO = 0, ULP_WP_SYM_ECV_L2_EN_YES = 1, ULP_WP_SYM_ECV_VTAG_TYPE_NOP = 0, @@ -1412,6 +1478,8 @@ enum ulp_wp_sym { ULP_WP_SYM_ECV_TUN_TYPE_NGE = 3, ULP_WP_SYM_ECV_TUN_TYPE_NVGRE = 4, ULP_WP_SYM_ECV_TUN_TYPE_GRE = 5, + ULP_WP_SYM_ECV_TUN_TYPE_GA_L4 = 0, + ULP_WP_SYM_ECV_TUN_TYPE_GA_TUN = 0, ULP_WP_SYM_EEM_ACT_REC_INT = 1, ULP_WP_SYM_EEM_EXT_FLOW_CNTR = 0, ULP_WP_SYM_UC_ACT_REC = 0, @@ -1452,6 +1520,7 @@ enum ulp_wp_sym { ULP_WP_SYM_DPORT_TUN_TYPE_ECPRI = 4, ULP_WP_SYM_DPORT_TUN_TYPE_SRV6 = 5, ULP_WP_SYM_DPORT_TUN_TYPE_VXLAN_IPV4 = 6, + ULP_WP_SYM_TUN_TYPE_DYN_UPAR = 6, ULP_WP_SYM_L3_ECPRI_HDR_SIZE = 0, ULP_WP_SYM_L3_ECPRI_HDR_OFFS = 0, ULP_WP_SYM_L3_ECPRI_PAT = 0, @@ -1470,7 +1539,31 @@ enum ulp_wp_sym { ULP_WP_SYM_T_ECPRI_ID_MASK = 0, ULP_WP_SYM_T_ECPRI_CONTEXT_SIZE = 0, ULP_WP_SYM_T_ECPRI_CONTEXT_OFFS = 0, - ULP_WP_SYM_T_ECPRI_CONTEXT_MASK = 0 + ULP_WP_SYM_T_ECPRI_CONTEXT_MASK = 0, + ULP_WP_SYM_SRV6_IP_PROTO_IPV6_ROUTE = 0, + ULP_WP_SYM_SRV6_IPV6_ENCAP = 0, + ULP_WP_SYM_SRV6_HDR_SIZE = 0, + ULP_WP_SYM_SRV6_HDR_OFFSET = 0, + ULP_WP_SYM_SRV6_V6_ENCAP = 0, + ULP_WP_SYM_SRV6_NXT_HDR_EXT_LEN = 0, + ULP_WP_SYM_SRV6_8BYTE_UNIT = 0, + ULP_WP_SYM_SRV6_8BIT_FLD = 0, + ULP_WP_SYM_SRV6_HDR_LEN_OFFSET = 0, + ULP_WP_SYM_SRV6_ID_EXTRACTION_LENGTH = 0, + ULP_WP_SYM_SRV6_ID_EXTRACTION_OFFSET = 0, + ULP_WP_SYM_SRV6_PATTERN = 0, + ULP_WP_SYM_SRV6_ID_MASK = 0, + ULP_WP_SYM_SRV6_CTXT_EXTRACTION_LENGTH = 0, + ULP_WP_SYM_SRV6_CTXT_EXTRACTION_OFFSET = 0, + ULP_WP_SYM_SRV6_CTXT_MASK = 0, + ULP_WP_SYM_GLB_ID_L2_CNTXT_ID = 0, + ULP_WP_SYM_GLB_ID_PROF_FUNC_ID = 1, + ULP_WP_SYM_GLB_ID_WC_PROFILE_ID = 2, + ULP_WP_SYM_GLB_ID_EM_PROFILE_ID = 3, + ULP_WP_SYM_GLB_APP_IDX_TBL_ID = 0, + ULP_WP_SYM_GLB_IDX_META_REC_ACT = 4, + ULP_WP_SYM_GLB_IDX_META_REC_PROF = 5, + ULP_WP_SYM_GLB_IDX_META_REC_LKUP = 6 }; enum ulp_thor_sym { @@ -1696,10 +1789,44 @@ enum ulp_thor_sym { ULP_THOR_SYM_DECAP_FUNC_THRU_L2 = 11, ULP_THOR_SYM_DECAP_FUNC_THRU_L3 = 12, ULP_THOR_SYM_DECAP_FUNC_THRU_L4 = 13, + ULP_THOR_SYM_DECAP_FUNC_THRU_OL2 = 0, + ULP_THOR_SYM_DECAP_FUNC_THRU_OL3 = 0, + ULP_THOR_SYM_DECAP_FUNC_THRU_OL4 = 0, + ULP_THOR_SYM_DECAP_FUNC_THRU_OTUN = 0, ULP_THOR_SYM_ECV_VALID_NO = 0, ULP_THOR_SYM_ECV_VALID_YES = 1, ULP_THOR_SYM_ECV_CUSTOM_EN_NO = 0, ULP_THOR_SYM_ECV_CUSTOM_EN_YES = 1, + ULP_THOR_SYM_ECV_CUSTOM_IPV4_CTRL_ENCREC = 0, + ULP_THOR_SYM_ECV_CUSTOM_IPV4_CTRL_RSVD = 0, + ULP_THOR_SYM_ECV_CUSTOM_IPV4_CTRL_INHERIT = 0, + ULP_THOR_SYM_ECV_CUSTOM_IPV4_CTRL_INCREMENT = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_USE_SPSMAC = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_REUSE_IN_L2 = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_REUSE_TUN_L2 = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_USE_OUT_L2 = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_RFU = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_REUSE_IN_L2_DMAC = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_REUSE_TUN_L2_DMAC = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_REUSE_OUT_L2_DMAC = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_ENCREC_VLANS = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_IN_L2_VLANS = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_TUN_L2_VLANS = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_OUT_L2_VLANS = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_IN_VLAN_IN_L2 = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_IN_L2 = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_IN_VLAN_OUT_L2 = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_OUT_L2 = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_ENCREC_DMAC = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_IN_L2_DMAC = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_IN_TUN_DMAC = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_OUT_L2_DMAC = 0, + ULP_THOR_SYM_ECV_GRE_SET_K_INCLUDE_OPTIONAL = 0, + ULP_THOR_SYM_ECV_GRE_SET_K_NONE = 0, + ULP_THOR_SYM_ECV_IP_TOS_IN_HDR = 0, + ULP_THOR_SYM_ECV_IP_TOS_ENCREC = 0, + ULP_THOR_SYM_ECV_IP_TTL_IN_HDR = 0, + ULP_THOR_SYM_ECV_IP_TTL_ENCREC = 0, ULP_THOR_SYM_ECV_L2_EN_NO = 0, ULP_THOR_SYM_ECV_L2_EN_YES = 1, ULP_THOR_SYM_ECV_VTAG_TYPE_NOP = 0, @@ -1734,6 +1861,8 @@ enum ulp_thor_sym { ULP_THOR_SYM_ECV_TUN_TYPE_NGE = 3, ULP_THOR_SYM_ECV_TUN_TYPE_NVGRE = 4, ULP_THOR_SYM_ECV_TUN_TYPE_GRE = 5, + ULP_THOR_SYM_ECV_TUN_TYPE_GA_L4 = 0, + ULP_THOR_SYM_ECV_TUN_TYPE_GA_TUN = 0, ULP_THOR_SYM_EEM_ACT_REC_INT = 0, ULP_THOR_SYM_EEM_EXT_FLOW_CNTR = 0, ULP_THOR_SYM_UC_ACT_REC = 0, @@ -1774,6 +1903,7 @@ enum ulp_thor_sym { ULP_THOR_SYM_DPORT_TUN_TYPE_ECPRI = 4, ULP_THOR_SYM_DPORT_TUN_TYPE_SRV6 = 5, ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN_IPV4 = 6, + ULP_THOR_SYM_TUN_TYPE_DYN_UPAR = 0x12, ULP_THOR_SYM_L3_ECPRI_HDR_SIZE = 4, ULP_THOR_SYM_L3_ECPRI_HDR_OFFS = 0, ULP_THOR_SYM_L3_ECPRI_PAT = 0, @@ -1792,7 +1922,31 @@ enum ulp_thor_sym { ULP_THOR_SYM_T_ECPRI_ID_MASK = 0xffffffff, ULP_THOR_SYM_T_ECPRI_CONTEXT_SIZE = 32, ULP_THOR_SYM_T_ECPRI_CONTEXT_OFFS = 3, - ULP_THOR_SYM_T_ECPRI_CONTEXT_MASK = 0xffffffff + ULP_THOR_SYM_T_ECPRI_CONTEXT_MASK = 0xffffffff, + ULP_THOR_SYM_SRV6_IP_PROTO_IPV6_ROUTE = 0x2b, + ULP_THOR_SYM_SRV6_IPV6_ENCAP = 0x2900, + ULP_THOR_SYM_SRV6_HDR_SIZE = 4, + ULP_THOR_SYM_SRV6_HDR_OFFSET = 0, + ULP_THOR_SYM_SRV6_V6_ENCAP = 3, + ULP_THOR_SYM_SRV6_NXT_HDR_EXT_LEN = 0x2900, + ULP_THOR_SYM_SRV6_8BYTE_UNIT = 3, + ULP_THOR_SYM_SRV6_8BIT_FLD = 8, + ULP_THOR_SYM_SRV6_HDR_LEN_OFFSET = 1, + ULP_THOR_SYM_SRV6_ID_EXTRACTION_LENGTH = 32, + ULP_THOR_SYM_SRV6_ID_EXTRACTION_OFFSET = 3, + ULP_THOR_SYM_SRV6_PATTERN = 2, + ULP_THOR_SYM_SRV6_ID_MASK = 0xff00ffff, + ULP_THOR_SYM_SRV6_CTXT_EXTRACTION_LENGTH = 32, + ULP_THOR_SYM_SRV6_CTXT_EXTRACTION_OFFSET = 7, + ULP_THOR_SYM_SRV6_CTXT_MASK = 0xffffffff, + ULP_THOR_SYM_GLB_ID_L2_CNTXT_ID = 0, + ULP_THOR_SYM_GLB_ID_PROF_FUNC_ID = 1, + ULP_THOR_SYM_GLB_ID_WC_PROFILE_ID = 2, + ULP_THOR_SYM_GLB_ID_EM_PROFILE_ID = 3, + ULP_THOR_SYM_GLB_APP_IDX_TBL_ID = 0, + ULP_THOR_SYM_GLB_IDX_META_REC_ACT = 4, + ULP_THOR_SYM_GLB_IDX_META_REC_PROF = 5, + ULP_THOR_SYM_GLB_IDX_META_REC_LKUP = 6 }; enum ulp_thor2_sym { @@ -2018,10 +2172,44 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_DECAP_FUNC_THRU_L2 = 11, ULP_THOR2_SYM_DECAP_FUNC_THRU_L3 = 12, ULP_THOR2_SYM_DECAP_FUNC_THRU_L4 = 13, + ULP_THOR2_SYM_DECAP_FUNC_THRU_OL2 = 0x14, + ULP_THOR2_SYM_DECAP_FUNC_THRU_OL3 = 0x15, + ULP_THOR2_SYM_DECAP_FUNC_THRU_OL4 = 0x16, + ULP_THOR2_SYM_DECAP_FUNC_THRU_OTUN = 0x17, ULP_THOR2_SYM_ECV_VALID_NO = 0, ULP_THOR2_SYM_ECV_VALID_YES = 1, ULP_THOR2_SYM_ECV_CUSTOM_EN_NO = 0, ULP_THOR2_SYM_ECV_CUSTOM_EN_YES = 1, + ULP_THOR2_SYM_ECV_CUSTOM_IPV4_CTRL_ENCREC = 0, + ULP_THOR2_SYM_ECV_CUSTOM_IPV4_CTRL_RSVD = 1, + ULP_THOR2_SYM_ECV_CUSTOM_IPV4_CTRL_INHERIT = 2, + ULP_THOR2_SYM_ECV_CUSTOM_IPV4_CTRL_INCREMENT = 3, + ULP_THOR2_SYM_ECV_SMAC_OVR_USE_SPSMAC = 0, + ULP_THOR2_SYM_ECV_SMAC_OVR_REUSE_IN_L2 = 1, + ULP_THOR2_SYM_ECV_SMAC_OVR_REUSE_TUN_L2 = 2, + ULP_THOR2_SYM_ECV_SMAC_OVR_USE_OUT_L2 = 3, + ULP_THOR2_SYM_ECV_SMAC_OVR_RFU = 4, + ULP_THOR2_SYM_ECV_SMAC_OVR_REUSE_IN_L2_DMAC = 5, + ULP_THOR2_SYM_ECV_SMAC_OVR_REUSE_TUN_L2_DMAC = 6, + ULP_THOR2_SYM_ECV_SMAC_OVR_REUSE_OUT_L2_DMAC = 7, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_ENCREC_VLANS = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_IN_L2_VLANS = 1, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_TUN_L2_VLANS = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_OUT_L2_VLANS = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_IN_VLAN_IN_L2 = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_IN_L2 = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_IN_VLAN_OUT_L2 = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_OUT_L2 = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_ENCREC_DMAC = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_IN_L2_DMAC = 1, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_IN_TUN_DMAC = 2, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_OUT_L2_DMAC = 3, + ULP_THOR2_SYM_ECV_GRE_SET_K_INCLUDE_OPTIONAL = 1, + ULP_THOR2_SYM_ECV_GRE_SET_K_NONE = 1, + ULP_THOR2_SYM_ECV_IP_TOS_IN_HDR = 1, + ULP_THOR2_SYM_ECV_IP_TOS_ENCREC = 0, + ULP_THOR2_SYM_ECV_IP_TTL_IN_HDR = 1, + ULP_THOR2_SYM_ECV_IP_TTL_ENCREC = 0, ULP_THOR2_SYM_ECV_L2_EN_NO = 0, ULP_THOR2_SYM_ECV_L2_EN_YES = 1, ULP_THOR2_SYM_ECV_VTAG_TYPE_NOP = 0, @@ -2056,6 +2244,8 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_ECV_TUN_TYPE_NGE = 3, ULP_THOR2_SYM_ECV_TUN_TYPE_NVGRE = 4, ULP_THOR2_SYM_ECV_TUN_TYPE_GRE = 5, + ULP_THOR2_SYM_ECV_TUN_TYPE_GA_L4 = 6, + ULP_THOR2_SYM_ECV_TUN_TYPE_GA_TUN = 7, ULP_THOR2_SYM_EEM_ACT_REC_INT = 0, ULP_THOR2_SYM_EEM_EXT_FLOW_CNTR = 0, ULP_THOR2_SYM_UC_ACT_REC = 0, @@ -2096,6 +2286,7 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_DPORT_TUN_TYPE_ECPRI = 4, ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6 = 5, ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4 = 6, + ULP_THOR2_SYM_TUN_TYPE_DYN_UPAR = 0x12, ULP_THOR2_SYM_L3_ECPRI_HDR_SIZE = 0, ULP_THOR2_SYM_L3_ECPRI_HDR_OFFS = 0, ULP_THOR2_SYM_L3_ECPRI_PAT = 0, @@ -2114,7 +2305,31 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_T_ECPRI_ID_MASK = 0, ULP_THOR2_SYM_T_ECPRI_CONTEXT_SIZE = 0, ULP_THOR2_SYM_T_ECPRI_CONTEXT_OFFS = 0, - ULP_THOR2_SYM_T_ECPRI_CONTEXT_MASK = 0 + ULP_THOR2_SYM_T_ECPRI_CONTEXT_MASK = 0, + ULP_THOR2_SYM_SRV6_IP_PROTO_IPV6_ROUTE = 0x2b, + ULP_THOR2_SYM_SRV6_IPV6_ENCAP = 0x2900, + ULP_THOR2_SYM_SRV6_HDR_SIZE = 4, + ULP_THOR2_SYM_SRV6_HDR_OFFSET = 0, + ULP_THOR2_SYM_SRV6_V6_ENCAP = 3, + ULP_THOR2_SYM_SRV6_NXT_HDR_EXT_LEN = 0x2900, + ULP_THOR2_SYM_SRV6_8BYTE_UNIT = 3, + ULP_THOR2_SYM_SRV6_8BIT_FLD = 8, + ULP_THOR2_SYM_SRV6_HDR_LEN_OFFSET = 1, + ULP_THOR2_SYM_SRV6_ID_EXTRACTION_LENGTH = 32, + ULP_THOR2_SYM_SRV6_ID_EXTRACTION_OFFSET = 3, + ULP_THOR2_SYM_SRV6_PATTERN = 2, + ULP_THOR2_SYM_SRV6_ID_MASK = 0xff00ffff, + ULP_THOR2_SYM_SRV6_CTXT_EXTRACTION_LENGTH = 32, + ULP_THOR2_SYM_SRV6_CTXT_EXTRACTION_OFFSET = 7, + ULP_THOR2_SYM_SRV6_CTXT_MASK = 0xffffffff, + ULP_THOR2_SYM_GLB_ID_L2_CNTXT_ID = 0, + ULP_THOR2_SYM_GLB_ID_PROF_FUNC_ID = 1, + ULP_THOR2_SYM_GLB_ID_WC_PROFILE_ID = 2, + ULP_THOR2_SYM_GLB_ID_EM_PROFILE_ID = 3, + ULP_THOR2_SYM_GLB_APP_IDX_TBL_ID = 0, + ULP_THOR2_SYM_GLB_IDX_META_REC_ACT = 4, + ULP_THOR2_SYM_GLB_IDX_META_REC_PROF = 5, + ULP_THOR2_SYM_GLB_IDX_META_REC_LKUP = 6 }; #endif diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h index fbce97269b..5b3e82f336 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h @@ -34,6 +34,9 @@ #define BNXT_ULP_PROTO_HDR_GRE_NUM 2 #define BNXT_ULP_PROTO_HDR_ICMP_NUM 5 #define BNXT_ULP_PROTO_HDR_ECPRI_NUM 2 +#define BNXT_ULP_PROTO_HDR_IPV6_EXT_NUM 1 +#define BNXT_ULP_PROTO_HDR_SRV6_NUM 7 +#define BNXT_ULP_PROTO_HDR_MPLS_NUM 2 #define BNXT_ULP_PROTO_HDR_MAX 128 #define BNXT_ULP_PROTO_HDR_ENCAP_MAX 64 #define BNXT_ULP_PROTO_HDR_FIELD_SVIF_IDX 1 -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 29/54] net/bnxt/tf_core: add backing store debug to dpdk 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (27 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 28/54] net/bnxt/tf_ulp: support MPLS packets Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 30/54] net/bnxt/tf_core: truflow global table scope Manish Kurup ` (25 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Peter Spreadborough, Jay Ding, Farah Smith From: Peter Spreadborough <peter.spreadborough@broadcom.com> This change updates the existing backing store debug by adding more decode to EM entries and adding wildcard entry debug. A new cli command has also been added to exercise the function that loops through all ports and table scopes so that a single call can dump and decode all backing stores. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/tf_core/v3/meson.build | 39 +- drivers/net/bnxt/tf_core/v3/tfc_debug.h | 12 +- drivers/net/bnxt/tf_core/v3/tfc_em.h | 98 +- drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c | 1411 +++++++++++++ drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c | 565 ------ drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c | 1875 ++++++++++++++++++ drivers/net/bnxt/tf_core/v3/tfo.c | 32 + drivers/net/bnxt/tf_core/v3/tfo.h | 14 + drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h | 5 + drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c | 1 - drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 4 +- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 1 - drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c | 1 - 13 files changed, 3455 insertions(+), 603 deletions(-) create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c delete mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c diff --git a/drivers/net/bnxt/tf_core/v3/meson.build b/drivers/net/bnxt/tf_core/v3/meson.build index 159e7a2b17..ff9fd23e95 100644 --- a/drivers/net/bnxt/tf_core/v3/meson.build +++ b/drivers/net/bnxt/tf_core/v3/meson.build @@ -13,23 +13,24 @@ endforeach #Add the source files sources += files( - 'tfc_act.c', - 'tfc_cpm.c', - 'tfc_em.c', - 'tfc_global_id.c', - 'tfc_ident.c', - 'tfc_idx_tbl.c', - 'tfc_if_tbl.c', - 'tfc_init.c', - 'tfc_mpc_table.c', - 'tfc_msg.c', - 'tfc_priv.c', - 'tfc_resources.c', - 'tfc_session.c', - 'tfc_tbl_scope.c', - 'tfc_tcam.c', - 'tfc_util.c', - 'tfo.c', - 'tfc_vf2pf_msg.c', - 'tfc_hot_upgrade.c', + 'tfc_act.c', + 'tfc_cpm.c', + 'tfc_em.c', + 'tfc_global_id.c', + 'tfc_ident.c', + 'tfc_idx_tbl.c', + 'tfc_if_tbl.c', + 'tfc_init.c', + 'tfc_mpc_debug.c', + 'tfc_tcam_debug.c', + 'tfc_msg.c', + 'tfc_priv.c', + 'tfc_resources.c', + 'tfc_session.c', + 'tfc_tbl_scope.c', + 'tfc_tcam.c', + 'tfc_util.c', + 'tfo.c', + 'tfc_vf2pf_msg.c', + 'tfc_hot_upgrade.c', ) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_debug.h b/drivers/net/bnxt/tf_core/v3/tfc_debug.h index 0a4a0b4846..86492f3a69 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_debug.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_debug.h @@ -7,6 +7,7 @@ #define _TFC_DEBUG_H_ /* #define EM_DEBUG */ +/* #define WC_DEBUG */ /* #define ACT_DEBUG */ int tfc_mpc_table_write_zero(struct tfc *tfcp, @@ -16,13 +17,18 @@ int tfc_mpc_table_write_zero(struct tfc *tfcp, uint32_t offset, uint8_t words, uint8_t *data); - -int tfc_act_show(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir); -int tfc_em_show(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir); +const char *get_lrec_opcode_str(uint8_t opcode); +void act_show(FILE *fd, struct act_info_t *act_info, uint32_t offset); +int tfc_em_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir); +int tfc_wc_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir); int tfc_mpc_table_invalidate(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir, uint32_t type, uint32_t offset, uint32_t words); +void act_process(uint32_t act_rec_ptr, + struct act_info_t *act_info, + struct tfc_ts_mem_cfg *act_mem_cfg); +void tfc_backing_store_dump(FILE *fd); #endif diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.h b/drivers/net/bnxt/tf_core/v3/tfc_em.h index 9ad3ef9fd2..52589ea9c3 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.h @@ -61,6 +61,86 @@ enum tfc_mpc_cmd_type { #define TFC_BUCKET_ENTRIES 6 +/* MPC opaque currently unused */ +#define TFC_MPC_OPAQUE_VAL 0 + +#define TFC_MOD_STRING_LENGTH 512 +#define TFC_STAT_STRING_LENGTH 128 +#define TFC_ENC_STRING_LENGTH 256 + +struct act_compact_info_t { + bool drop; + uint8_t vlan_del_rep; + uint8_t dest_op; + uint16_t vnic_vport; + uint8_t decap_func; + uint8_t mirror; + uint16_t meter_ptr; + uint8_t stat0_ctr_type; + bool stat0_ing_egr; + uint8_t stat0_offs; + uint8_t mod_offs; + uint8_t enc_offs; + uint8_t src_offs; + char mod_str[512]; + char stat0_str[128]; + char enc_str[256]; +}; + +struct act_full_info_t { + bool drop; + uint8_t vlan_del_rep; + uint8_t dest_op; + uint16_t vnic_vport; + uint8_t decap_func; + uint16_t mirror; + uint16_t meter_ptr; + uint8_t stat0_ctr_type; + bool stat0_ing_egr; + uint32_t stat0_ptr; + uint8_t stat1_ctr_type; + bool stat1_ing_egr; + uint32_t stat1_ptr; + uint32_t mod_ptr; + uint32_t enc_ptr; + uint32_t src_ptr; + char mod_str[512]; + char stat0_str[128]; + char stat1_str[128]; + char enc_str[256]; +}; + +struct act_mcg_info_t { + uint8_t src_ko_en; + uint32_t nxt_ptr; + uint8_t act_hint0; + uint32_t act_rec_ptr0; + uint8_t act_hint1; + uint32_t act_rec_ptr1; + uint8_t act_hint2; + uint32_t act_rec_ptr2; + uint8_t act_hint3; + uint32_t act_rec_ptr3; + uint8_t act_hint4; + uint32_t act_rec_ptr4; + uint8_t act_hint5; + uint32_t act_rec_ptr5; + uint8_t act_hint6; + uint32_t act_rec_ptr6; + uint8_t act_hint7; + uint32_t act_rec_ptr7; +}; + +struct act_info_t { + bool valid; + uint8_t vector; + union { + struct act_compact_info_t compact; + struct act_full_info_t full; + struct act_mcg_info_t mcg; + }; +}; + struct em_info_t { bool valid; uint8_t rec_size; @@ -69,12 +149,9 @@ struct em_info_t { uint8_t opcode; uint8_t strength; uint8_t act_hint; - - uint32_t act_rec_ptr; /* Not FAST */ - - uint32_t destination; /* Just FAST */ - - uint8_t tcp_direction; /* Just CT */ + uint32_t act_rec_ptr; /* Not FAST */ + uint32_t destination; /* Just FAST */ + uint8_t tcp_direction; /* Just CT */ uint8_t tcp_update_en; uint8_t tcp_win; uint32_t tcp_msb_loc; @@ -82,23 +159,20 @@ struct em_info_t { uint8_t tcp_msb_opp_init; uint8_t state; uint8_t timer_value; - - uint16_t ring_table_idx; /* Not CT and not RECYCLE */ + uint16_t ring_table_idx; /* Not CT and not RECYCLE */ uint8_t act_rec_size; uint8_t paths_m1; uint8_t fc_op; uint8_t fc_type; uint32_t fc_ptr; - - uint8_t recycle_dest; /* Just Recycle */ + uint8_t recycle_dest; /* Just Recycle */ uint8_t prof_func; uint8_t meta_prof; uint32_t metadata; - uint8_t range_profile; uint16_t range_index; - uint8_t *key; + struct act_info_t act_info; }; struct sb_entry_t { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c b/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c new file mode 100644 index 0000000000..f0512c41cc --- /dev/null +++ b/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c @@ -0,0 +1,1411 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2019-2021 Broadcom + * All rights reserved. + */ +#include <stdio.h> +#include <inttypes.h> +#include <math.h> +#include <string.h> + +#include "bnxt.h" +#include "bnxt_mpc.h" + +#include "tfc.h" +#include "cfa_bld_mpc_field_ids.h" +#include "cfa_bld_mpcops.h" +#include "tfo.h" +#include "tfc_em.h" +#include "tfc_cpm.h" +#include "tfc_msg.h" +#include "tfc_debug.h" +#include "cfa_types.h" +#include "cfa_mm.h" +#include "sys_util.h" +#include "cfa_bld.h" +#include "tfc_util.h" + +int tfc_mpc_table_read(struct tfc *tfcp, + uint8_t tsid, + enum cfa_dir dir, + uint32_t type, + uint32_t offset, + uint8_t words, + uint8_t *data, + uint8_t debug) +{ + int rc = 0; + uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; + uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; + uint16_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + int i; + uint32_t buff_len; + struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_READ_CMD_MAX_FLD]; + struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_READ_CMP_MAX_FLD]; + struct bnxt_mpc_mbuf mpc_msg_in; + struct bnxt_mpc_mbuf mpc_msg_out; + bool is_shared; + struct cfa_bld_mpcinfo *mpc_info; + uint64_t host_address; + uint8_t discard_data[128]; + uint32_t set; + uint32_t way; + bool valid; + + tfo_mpcinfo_get(tfcp->tfo, &mpc_info); + + rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + if (rc != 0) { + PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); + return -EINVAL; + } + if (!valid) { + PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); + return -EINVAL; + } + + /* Check that data pointer is word aligned */ + if (((uint64_t)data) & 0x1fULL) { + PMD_DRV_LOG_LINE(ERR, "Table read data pointer not word aligned"); + return -EINVAL; + } + + host_address = (uint64_t)rte_mem_virt2iova(data); + + /* Check that MPC APIs are bound */ + if (mpc_info->mpcops == NULL) { + PMD_DRV_LOG_LINE(ERR, "MPC not initialized"); + return -EINVAL; + } + + set = offset & 0x7ff; + way = (offset >> 12) & 0xf; + + if (debug) + PMD_DRV_LOG_LINE(ERR, + "Debug read table type:%s %d words32B at way:%d set:%d debug:%d words32B", + (type == 0 ? "Lookup" : "Action"), + words, way, set, debug); + else + PMD_DRV_LOG_LINE(ERR, + "Reading table type:%s %d words32B at offset %d words32B", + (type == 0 ? "Lookup" : "Action"), + words, offset); + + /* Create MPC EM insert command using builder */ + for (i = 0; i < CFA_BLD_MPC_READ_CMD_MAX_FLD; i++) + fields_cmd[i].field_id = INVALID_U16; + + fields_cmd[CFA_BLD_MPC_READ_CMD_OPAQUE_FLD].field_id = + CFA_BLD_MPC_READ_CMD_OPAQUE_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_OPAQUE_FLD].val = 0xAA; + + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD].field_id = + CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD].val = (type == 0 ? + CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); + + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD].field_id = + CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD].val = + (debug ? way : tsid); + + fields_cmd[CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD].field_id = + CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD].val = words; + + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD].field_id = + CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD].val = + (debug ? set : offset); + + fields_cmd[CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD].field_id = + CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD].val = host_address; + + if (debug) { + fields_cmd[CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD].field_id = + CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD].val = debug; /* Debug read */ + } + + buff_len = TFC_MPC_MAX_TX_BYTES; + + rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_read(tx_msg, + &buff_len, + fields_cmd); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "Action read build failed: %d", rc); + goto cleanup; + } + + /* Send MPC */ + mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); + mpc_msg_in.msg_data = &tx_msg[16]; + mpc_msg_in.msg_size = 16; + mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; + mpc_msg_out.msg_data = &rx_msg[16]; + mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; + + rc = tfc_mpc_send(tfcp->bp, + &mpc_msg_in, + &mpc_msg_out, + &msg_count, + TFC_MPC_TABLE_READ, + NULL); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "Table read MPC send failed: %d", rc); + goto cleanup; + } + + /* Process response */ + for (i = 0; i < CFA_BLD_MPC_READ_CMP_MAX_FLD; i++) + fields_cmp[i].field_id = INVALID_U16; + + fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].field_id = + CFA_BLD_MPC_READ_CMP_STATUS_FLD; + + rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_read(rx_msg, + mpc_msg_out.msg_size, + discard_data, + words * TFC_MPC_BYTES_PER_WORD, + fields_cmp); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "Table read parse failed: %d", rc); + goto cleanup; + } + + if (fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { + PMD_DRV_LOG_LINE(ERR, "Table read failed with status code:%d", + (uint32_t)fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].val); + rc = -1; + goto cleanup; + } + + return 0; + + cleanup: + + return rc; +} + +int tfc_mpc_table_write_zero(struct tfc *tfcp, + uint8_t tsid, + enum cfa_dir dir, + uint32_t type, + uint32_t offset, + uint8_t words, + uint8_t *data) +{ + int rc = 0; + uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; + uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; + uint16_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + int i; + uint32_t buff_len; + struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_WRITE_CMD_MAX_FLD]; + struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_WRITE_CMP_MAX_FLD]; + struct bnxt_mpc_mbuf mpc_msg_in; + struct bnxt_mpc_mbuf mpc_msg_out; + struct cfa_bld_mpcinfo *mpc_info; + bool is_shared; + bool valid; + + tfo_mpcinfo_get(tfcp->tfo, &mpc_info); + + rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + if (rc != 0) { + PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); + return -EINVAL; + } + if (!valid) { + PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); + return -EINVAL; + } + /* Check that MPC APIs are bound */ + if (mpc_info->mpcops == NULL) { + PMD_DRV_LOG_LINE(ERR, " MPC not initialized"); + return -EINVAL; + } + + /* Create MPC EM insert command using builder */ + for (i = 0; i < CFA_BLD_MPC_WRITE_CMD_MAX_FLD; i++) + fields_cmd[i].field_id = INVALID_U16; + + fields_cmd[CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD].field_id = + CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD; + fields_cmd[CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD].val = 0xAA; + + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD].field_id = + CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD; + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD].val = (type == 0 ? + CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); + + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD].field_id = + CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD; + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD].val = tsid; + + fields_cmd[CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD].field_id = + CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD; + fields_cmd[CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD].val = words; + + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD].field_id = + CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD; + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD].val = offset; + + buff_len = TFC_MPC_MAX_TX_BYTES; + + rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_write(tx_msg, + &buff_len, + data, + fields_cmd); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "write build failed: %d", rc); + goto cleanup; + } + + /* Send MPC */ + mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); + mpc_msg_in.msg_data = &tx_msg[16]; + mpc_msg_in.msg_size = (words * TFC_MPC_BYTES_PER_WORD) + 16; + mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; + mpc_msg_out.msg_data = &rx_msg[16]; + mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; + + rc = tfc_mpc_send(tfcp->bp, + &mpc_msg_in, + &mpc_msg_out, + &msg_count, + TFC_MPC_TABLE_WRITE, + NULL); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "write MPC send failed: %d", rc); + goto cleanup; + } + + /* Process response */ + for (i = 0; i < CFA_BLD_MPC_WRITE_CMP_MAX_FLD; i++) + fields_cmp[i].field_id = INVALID_U16; + + fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].field_id = + CFA_BLD_MPC_WRITE_CMP_STATUS_FLD; + + rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_write(rx_msg, + mpc_msg_out.msg_size, + fields_cmp); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "write parse failed: %d", rc); + goto cleanup; + } + + if (fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { + PMD_DRV_LOG_LINE(ERR, "Action write failed with status code:%d", + (uint32_t)fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].val); + PMD_DRV_LOG_LINE(ERR, "Hash MSB:0x%0x", + (uint32_t)fields_cmp[CFA_BLD_MPC_WRITE_CMP_HASH_MSB_FLD].val); + goto cleanup; + } + + return 0; + + cleanup: + + return rc; +} + +int tfc_mpc_table_invalidate(struct tfc *tfcp, + uint8_t tsid, + enum cfa_dir dir, + uint32_t type, + uint32_t offset, + uint32_t words) +{ + int rc = 0; + uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; + uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; + uint16_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + int i; + uint32_t buff_len; + struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_MAX_FLD]; + struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_MAX_FLD]; + struct bnxt_mpc_mbuf mpc_msg_in; + struct bnxt_mpc_mbuf mpc_msg_out; + struct cfa_bld_mpcinfo *mpc_info; + bool is_shared; + bool valid; + + tfo_mpcinfo_get(tfcp->tfo, &mpc_info); + + rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + if (rc != 0) { + PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); + return -EINVAL; + } + if (!valid) { + PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); + return -EINVAL; + } + /* Check that MPC APIs are bound */ + if (mpc_info->mpcops == NULL) { + PMD_DRV_LOG_LINE(ERR, " MPC not initialized"); + return -EINVAL; + } + + /* Create MPC EM insert command using builder */ + for (i = 0; i < CFA_BLD_MPC_INVALIDATE_CMD_MAX_FLD; i++) + fields_cmd[i].field_id = INVALID_U16; + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD].val = 0xAA; + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD].val = (type == 0 ? + CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD].val = tsid; + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD].val = words; + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD].val = offset; + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD].val = + CFA_BLD_MPC_EV_EVICT_SCOPE_ADDRESS; + + buff_len = TFC_MPC_MAX_TX_BYTES; + + rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_evict(tx_msg, + &buff_len, + fields_cmd); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "evict build failed: %d", rc); + goto cleanup; + } + + /* Send MPC */ + mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); + mpc_msg_in.msg_data = &tx_msg[16]; + mpc_msg_in.msg_size = 16; + mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; + mpc_msg_out.msg_data = &rx_msg[16]; + mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; + + rc = tfc_mpc_send(tfcp->bp, + &mpc_msg_in, + &mpc_msg_out, + &msg_count, + TFC_MPC_INVALIDATE, + NULL); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "write MPC send failed: %d", rc); + goto cleanup; + } + + /* Process response */ + for (i = 0; i < CFA_BLD_MPC_INVALIDATE_CMP_MAX_FLD; i++) + fields_cmp[i].field_id = INVALID_U16; + + fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD; + + rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_evict(rx_msg, + mpc_msg_out.msg_size, + fields_cmp); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "evict parse failed: %d", rc); + goto cleanup; + } + + if (fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { + PMD_DRV_LOG_LINE(ERR, "evict failed with status code:%d", + (uint32_t)fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].val); + PMD_DRV_LOG_LINE(ERR, "Hash MSB:0x%0x", + (uint32_t)fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_HASH_MSB_FLD].val); + goto cleanup; + } + + return 0; + + cleanup: + + return rc; +} + +#define TFC_ACTION_SIZE_BYTES 32 +#define TFC_BUCKET_SIZE_BYTES 32 + +#define TFC_STRING_LENGTH_32 32 +#define TFC_STRING_LENGTH_64 64 +#define TFC_STRING_LENGTH_96 96 +#define TFC_STRING_LENGTH_256 256 + +static const char * const opcode_string[] = { + "NORMAL", + "NORMAL_RFS", + "FAST", + "FAST_RFS", + "CT_MISS_DEF", + "INVALID", + "CT_HIT_DEF", + "INVALID", + "RECYCLE" +}; + +static void act_decode(uint32_t *act_ptr, + uint64_t base, + struct act_info_t *act_info); +static void stat_decode(char *str, + uint8_t stat_num, + uint8_t stat1_ctr_type, + uint32_t *stat_ptr); + +const char *get_lrec_opcode_str(uint8_t opcode) +{ + return opcode_string[opcode]; +} + +static uint64_t get_address(struct tfc_ts_mem_cfg *mem, uint32_t offset) +{ + uint32_t page = offset / mem->pg_tbl[0].pg_size; + uint32_t adj_offset = offset % mem->pg_tbl[0].pg_size; + int level = 0; + uint64_t addr; + + /* + * Use the level according to the num_level of page table + */ + level = mem->num_lvl - 1; + + addr = (uint64_t)mem->pg_tbl[level].pg_va_tbl[page] + adj_offset; + + return addr; +} + +void act_process(uint32_t act_rec_ptr, + struct act_info_t *act_info, + struct tfc_ts_mem_cfg *act_mem_cfg) +{ + uint8_t *act_ptr; + uint64_t base; + uint32_t act_offset = act_rec_ptr << 5; + + base = get_address(act_mem_cfg, 0); + act_ptr = (uint8_t *)get_address(act_mem_cfg, act_offset); + act_decode((uint32_t *)act_ptr, base, act_info); +} + +static void em_decode(uint32_t *em_ptr, + struct em_info_t *em_info, + struct tfc_ts_mem_cfg *act_mem_cfg) +{ + em_info->key = (uint8_t *)em_ptr; + + em_ptr += (128 / 8) / 4; /* For EM records the LREC follows 128 bits of key */ + em_info->valid = tfc_getbits(em_ptr, 127, 1); + em_info->rec_size = tfc_getbits(em_ptr, 125, 2); + em_info->epoch0 = tfc_getbits(em_ptr, 113, 12); + em_info->epoch1 = tfc_getbits(em_ptr, 107, 6); + em_info->opcode = tfc_getbits(em_ptr, 103, 4); + em_info->strength = tfc_getbits(em_ptr, 101, 2); + em_info->act_hint = tfc_getbits(em_ptr, 99, 2); + + if (em_info->opcode != 2 && em_info->opcode != 3) { + /* All but FAST */ + em_info->act_rec_ptr = tfc_getbits(em_ptr, 73, 26); + act_process(em_info->act_rec_ptr, &em_info->act_info, act_mem_cfg); + } else { + /* Just FAST */ + em_info->destination = tfc_getbits(em_ptr, 73, 17); + } + + if (em_info->opcode == 4 || em_info->opcode == 6) { + /* CT only */ + em_info->tcp_direction = tfc_getbits(em_ptr, 72, 1); + em_info->tcp_update_en = tfc_getbits(em_ptr, 71, 1); + em_info->tcp_win = tfc_getbits(em_ptr, 66, 5); + em_info->tcp_msb_loc = tfc_getbits(em_ptr, 48, 18); + em_info->tcp_msb_opp = tfc_getbits(em_ptr, 30, 18); + em_info->tcp_msb_opp_init = tfc_getbits(em_ptr, 29, 1); + em_info->state = tfc_getbits(em_ptr, 24, 5); + em_info->timer_value = tfc_getbits(em_ptr, 20, 4); + } else if (em_info->opcode != 8) { + /* Not CT and nor RECYCLE */ + em_info->ring_table_idx = tfc_getbits(em_ptr, 64, 9); + em_info->act_rec_size = tfc_getbits(em_ptr, 59, 5); + em_info->paths_m1 = tfc_getbits(em_ptr, 55, 4); + em_info->fc_op = tfc_getbits(em_ptr, 54, 1); + em_info->fc_type = tfc_getbits(em_ptr, 52, 2); + em_info->fc_ptr = tfc_getbits(em_ptr, 24, 28); + } else { + em_info->recycle_dest = tfc_getbits(em_ptr, 72, 1); /* Just Recycle */ + em_info->prof_func = tfc_getbits(em_ptr, 64, 8); + em_info->meta_prof = tfc_getbits(em_ptr, 61, 3); + em_info->metadata = tfc_getbits(em_ptr, 29, 32); + } + + em_info->range_profile = tfc_getbits(em_ptr, 16, 4); + em_info->range_index = tfc_getbits(em_ptr, 0, 16); +} + +static void em_show(FILE *fd, struct em_info_t *em_info) +{ + int i; + char *line1 = NULL; + char *line2 = NULL; + char *line3 = NULL; + char *line4 = NULL; + char tmp1[TFC_STRING_LENGTH_64]; + char tmp2[TFC_STRING_LENGTH_64]; + char tmp3[TFC_STRING_LENGTH_64]; + char tmp4[TFC_STRING_LENGTH_64]; + + line1 = rte_zmalloc("data", TFC_STRING_LENGTH_256, 8); + line2 = rte_zmalloc("data", TFC_STRING_LENGTH_256, 8); + line3 = rte_zmalloc("data", TFC_STRING_LENGTH_256, 8); + line4 = rte_zmalloc("data", TFC_STRING_LENGTH_256, 8); + if (!line1 || !line2 || !line3 || !line4) { + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + fprintf(fd, "%s: Failed to allocate temp buffer\n", + __func__); + return; + } + + fprintf(fd, ":LREC: opcode:%s\n", get_lrec_opcode_str(em_info->opcode)); + + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+-Epoch-+--+--+--+"); + snprintf(line2, TFC_STRING_LENGTH_256, " V|rs| 0 1 |Op|St|ah|"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+----+--+--+--+--+"); + snprintf(line4, TFC_STRING_LENGTH_256, " %1d %2d %4d %2d %2d %2d %2d ", + em_info->valid, + em_info->rec_size, + em_info->epoch0, + em_info->epoch1, + em_info->opcode, + em_info->strength, + em_info->act_hint); + + if (em_info->opcode != 2 && em_info->opcode != 3) { + /* All but FAST */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "-Act Rec--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, " Ptr |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "----------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x%08x ", + em_info->act_rec_ptr); + } else { + /* Just FAST */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "-------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, " Dest |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x05%x ", + em_info->destination); + } + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + if (em_info->opcode == 4 || em_info->opcode == 6) { + /* CT only */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+-------------TCP-------+--+---+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "Dr|ue| Win| lc | op |oi|st|tmr|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+----+-------+-------+--+--+---+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d %2d %4d %0x5x %0x5x %2d %2d %3d ", + em_info->tcp_direction, + em_info->tcp_update_en, + em_info->tcp_win, + em_info->tcp_msb_loc, + em_info->tcp_msb_opp, + em_info->tcp_msb_opp_init, + em_info->state, + em_info->timer_value); + } else if (em_info->opcode != 8) { + /* Not CT and nor RECYCLE */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+--+-------FC-------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "RI|as|pm|op|tp| Ptr |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+--+--+--+----------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d %2d %2d %2d %2d 0x%08x ", + em_info->ring_table_idx, + em_info->act_rec_size, + em_info->paths_m1, + em_info->fc_op, + em_info->fc_type, + em_info->fc_ptr); + } else { + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+--+---------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "RD|pf|mp| cMData |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+--+---------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d 0x%2x %2d %08x ", + em_info->recycle_dest, + em_info->prof_func, + em_info->meta_prof, + em_info->metadata); + } + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + snprintf(tmp1, TFC_STRING_LENGTH_64, "-----Range-+\n"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "Prof| Idx |\n"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "----+------+\n"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x%02x 0x%04x\n", + em_info->range_profile, + em_info->range_index); + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + fprintf(fd, "%s%s%s%s", + line1, + line2, + line3, + line4); + + fputs("Key:", fd); + for (i = 0; i < ((em_info->rec_size + 1) * 32); i++) { + if (i % 32 == 0) + fprintf(fd, "\n%04d: ", i); + fprintf(fd, "%02x", em_info->key[i]); + } + i = ((em_info->rec_size + 1) * 32); + fprintf(fd, "\nKey Reversed:\n%04d: ", i - 32); + do { + i--; + fprintf(fd, "%02x", em_info->key[i]); + if (i != 0 && i % 32 == 0) + fprintf(fd, "\n%04d: ", i - 32); + } while (i > 0); + fputs("\n", fd); + + if (em_info->opcode != 2 && em_info->opcode != 3) + act_show(fd, &em_info->act_info, em_info->act_rec_ptr << 5); + + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); +} + +struct mod_field_s { + uint8_t num_bits; + const char *name; +}; + +struct mod_data_s { + uint8_t num_fields; + const char *name; + struct mod_field_s field[4]; +}; + +struct mod_data_s mod_data[] = { + {1, "Replace", {{16, "DPort"}}}, + {1, "Replace", {{16, "SPort"}}}, + {1, "Replace", {{32, "IPv4 DIP"}}}, + {1, "Replace", {{32, "IPv4 SIP"}}}, + {1, "Replace", {{128, "IPv6 DIP"}}}, + {1, "Replace", {{128, "IPv6 SIP"}}}, + {1, "Replace", {{48, "SMAC"}}}, + {1, "Replace", {{48, "DMAC"}}}, + {2, "Update Field", {{16, "uf_vec"}, {32, "uf_data"}}}, + {3, "Tunnel Modify", {{16, "tun_mv"}, {16, "tun_ex_prot"}, {16, "tun_new_prot"}}}, + {4, "TTL Update", {{5, "alt_pfid"}, {12, "alt_vid"}, {10, "rsvd"}, {5, "ttl_op"}}}, + {4, "Replace/Add Outer VLAN", {{16, "tpid"}, {3, "pri"}, {1, "de"}, {12, "vid"}}}, + {4, "Replace/Add Inner", {{16, "tpid"}, {3, "pri"}, {1, "de"}, {12, "vid"}}}, + {0, "Remove outer VLAN", {{0, NULL}}}, + {0, "Remove inner VLAN", {{0, NULL}}}, + {4, "Metadata Update", {{2, "md_op"}, {4, "md_prof"}, {10, "rsvd"}, {32, "md_data"}}}, +}; + +static void mod_decode(uint32_t *data, char *mod_str) +{ + int i; + int j; + int k; + uint16_t mod_vector; + int32_t row_offset = 64; + int32_t read_offset; + int32_t row = 0; + uint32_t val[8]; + char str[256]; + int16_t vect; + uint16_t bit = 0x8000; + + row_offset -= 16; + read_offset = row_offset; + mod_vector = tfc_getbits(data, read_offset, 16); + snprintf(mod_str, + TFC_MOD_STRING_LENGTH, + "\nModify Record: Vector:0x%08x\n", mod_vector); + + for (vect = 15; vect >= 0; vect--) { + if (mod_vector & bit) { + snprintf(str, TFC_STRING_LENGTH_256, "%s: ", mod_data[vect].name); + strcat(mod_str, str); + + for (i = 0; i < mod_data[vect].num_fields; i++) { + row_offset -= mod_data[vect].field[i].num_bits; + if (row_offset < 0) { + row++; + row_offset = 64 + row_offset; + } + read_offset = row_offset + (row * 64); + + for (j = 0; j < mod_data[vect].field[i].num_bits / 32; j++) { + val[j] = tfc_getbits(data, read_offset, 32); + read_offset -= 32; + } + + if (mod_data[vect].field[i].num_bits % 32) { + val[j] = tfc_getbits(data, + read_offset, + (mod_data[vect].field[i].num_bits % 32)); + j++; + } + + snprintf(str, + TFC_STRING_LENGTH_256, + "%s:0x", + mod_data[vect].field[i].name); + strcat(mod_str, str); + + switch (mod_data[vect].field[i].num_bits) { + case 128: + for (k = 0; k < 8; k++) { + snprintf(str, + TFC_STRING_LENGTH_256, + "%08x", + val[k]); + strcat(mod_str, str); + } + break; + case 48: + snprintf(str, TFC_STRING_LENGTH_256, "%08x", val[0]); + strcat(mod_str, str); + snprintf(str, + TFC_STRING_LENGTH_256, + "%04x", + (val[1] & 0xffff)); + strcat(mod_str, str); + break; + case 32: + snprintf(str, TFC_STRING_LENGTH_256, "%08x ", val[0]); + strcat(mod_str, str); + break; + case 16: + snprintf(str, TFC_STRING_LENGTH_256, "%04x ", val[0]); + strcat(mod_str, str); + break; + default: + snprintf(str, TFC_STRING_LENGTH_256, "%04x ", + (val[0] & + ((1 << mod_data[vect].field[i].num_bits) - 1))); + strcat(mod_str, str); + break; + } + } + + snprintf(str, TFC_STRING_LENGTH_256, "\n"); + strcat(mod_str, str); + } + + bit = bit >> 1; + } + + snprintf(str, TFC_STRING_LENGTH_256, "\n"); + strcat(mod_str, str); +} + +static void enc_decode(uint32_t *data, char *enc_str) +{ + uint16_t vector; + char str[64]; + uint32_t val[16]; + uint32_t offset = 0; + uint8_t vtag; + uint8_t l2; + uint8_t l3; + uint8_t l4; + uint8_t tunnel; + + vector = tfc_getbits(data, offset, 16); + offset += 16; + + vtag = ((vector >> 2) & 0xf); + l2 = ((vector >> 6) & 0x1); + l3 = ((vector >> 7) & 0x7); + l4 = ((vector >> 10) & 0x7); + tunnel = ((vector >> 13) & 0x7); + + snprintf(enc_str, + TFC_ENC_STRING_LENGTH, + "Encap Record: vector:0x%04x\n", vector); + + snprintf(str, TFC_STRING_LENGTH_64, + "Valid:%d EC:%d VTAG:0x%01x L2:%d L3:0x%01x L4:0x%01x Tunnel:0x%01x\n", + (vector & 0x1), + ((vector >> 1) & 0x1), + vtag, + l2, + l3, + l4, + tunnel); + + strcat(enc_str, str); + + if (l2) { /* L2 */ + snprintf(str, TFC_STRING_LENGTH_64, "L2:\n"); + strcat(enc_str, str); + + val[0] = tfc_getbits(data, offset, 32); + offset += 32; + val[1] = tfc_getbits(data, offset, 16); + offset += 16; + + snprintf(str, TFC_STRING_LENGTH_64, "DMAC:0x%08x%04x\n", val[0], val[1]); + strcat(enc_str, str); + } + + if (l3) { /* L3 */ + snprintf(str, TFC_STRING_LENGTH_64, "L3:\n"); + strcat(enc_str, str); + } + + if (l4) { /* L4 */ + snprintf(str, TFC_STRING_LENGTH_64, "L4:\n"); + strcat(enc_str, str); + } + + if (tunnel) { /* Tunnel */ + snprintf(str, TFC_STRING_LENGTH_64, "Tunnel:\n"); + strcat(enc_str, str); + } +} + +static void act_decode(uint32_t *act_ptr, + uint64_t base, + struct act_info_t *act_info) +{ + if (!act_ptr || !act_info) { + PMD_DRV_LOG_LINE(ERR, "act_ptr %p, act_info %p", act_ptr, act_info); + return; + } + + act_info->valid = false; + act_info->vector = tfc_getbits(act_ptr, 0, 3); + + if (act_info->vector == 0 || + act_info->vector == 1 || + act_info->vector == 4) + act_info->valid = true; + + switch (act_info->vector) { + case 0: + act_info->compact.drop = tfc_getbits(act_ptr, 3, 1); + act_info->compact.vlan_del_rep = tfc_getbits(act_ptr, 4, 2); + act_info->compact.vnic_vport = tfc_getbits(act_ptr, 6, 11); + act_info->compact.dest_op = tfc_getbits(act_ptr, 17, 2); + act_info->compact.decap_func = tfc_getbits(act_ptr, 19, 5); + act_info->compact.mirror = tfc_getbits(act_ptr, 24, 5); + act_info->compact.meter_ptr = tfc_getbits(act_ptr, 29, 10); + act_info->compact.stat0_offs = tfc_getbits(act_ptr, 39, 3); + act_info->compact.stat0_ing_egr = tfc_getbits(act_ptr, 42, 1); + act_info->compact.stat0_ctr_type = tfc_getbits(act_ptr, 43, 2); + act_info->compact.mod_offs = tfc_getbits(act_ptr, 45, 5); + act_info->compact.enc_offs = tfc_getbits(act_ptr, 50, 6); + act_info->compact.src_offs = tfc_getbits(act_ptr, 56, 4); + + if (act_info->compact.mod_offs) { + mod_decode((uint32_t *)(act_ptr + (act_info->compact.mod_offs << 3)), + act_info->compact.mod_str); + } + if (act_info->compact.stat0_offs) + stat_decode(act_info->compact.stat0_str, + 0, + act_info->compact.stat0_ctr_type, + (uint32_t *)(act_ptr + (act_info->compact.stat0_offs << 3))); + if (act_info->compact.enc_offs) + enc_decode((uint32_t *)(act_ptr + (act_info->compact.enc_offs << 3)), + act_info->compact.enc_str); + break; + case 1: + act_info->full.drop = tfc_getbits(act_ptr, 3, 1); + act_info->full.vlan_del_rep = tfc_getbits(act_ptr, 4, 2); + act_info->full.vnic_vport = tfc_getbits(act_ptr, 6, 11); + act_info->full.dest_op = tfc_getbits(act_ptr, 17, 2); + act_info->full.decap_func = tfc_getbits(act_ptr, 19, 5); + act_info->full.mirror = tfc_getbits(act_ptr, 24, 5); + act_info->full.meter_ptr = tfc_getbits(act_ptr, 29, 10); + act_info->full.stat0_ptr = tfc_getbits(act_ptr, 39, 28); + act_info->full.stat0_ing_egr = tfc_getbits(act_ptr, 67, 1); + act_info->full.stat0_ctr_type = tfc_getbits(act_ptr, 68, 2); + act_info->full.stat1_ptr = tfc_getbits(act_ptr, 70, 28); + act_info->full.stat1_ing_egr = tfc_getbits(act_ptr, 98, 1); + act_info->full.stat1_ctr_type = tfc_getbits(act_ptr, 99, 2); + act_info->full.mod_ptr = tfc_getbits(act_ptr, 101, 28); + act_info->full.enc_ptr = tfc_getbits(act_ptr, 129, 28); + act_info->full.src_ptr = tfc_getbits(act_ptr, 157, 28); + + if (act_info->full.mod_ptr) + mod_decode((uint32_t *)(base + (act_info->full.mod_ptr << 3)), + act_info->full.mod_str); + if (act_info->full.stat0_ptr) + stat_decode(act_info->full.stat0_str, + 0, + act_info->full.stat0_ctr_type, + (uint32_t *)(base + (act_info->full.stat0_ptr << 3))); + if (act_info->full.stat1_ptr) + stat_decode(act_info->full.stat1_str, + 1, + act_info->full.stat1_ctr_type, + (uint32_t *)(base + (act_info->full.stat1_ptr << 3))); + if (act_info->full.enc_ptr) + enc_decode((uint32_t *)(base + (act_info->full.enc_ptr << 3)), + act_info->full.enc_str); + break; + case 4: + act_info->mcg.nxt_ptr = tfc_getbits(act_ptr, 6, 26); + act_info->mcg.act_hint0 = tfc_getbits(act_ptr, 32, 2); + act_info->mcg.act_rec_ptr0 = tfc_getbits(act_ptr, 34, 26); + act_info->mcg.act_hint1 = tfc_getbits(act_ptr, 60, 2); + act_info->mcg.act_rec_ptr1 = tfc_getbits(act_ptr, 62, 26); + act_info->mcg.act_hint2 = tfc_getbits(act_ptr, 88, 2); + act_info->mcg.act_rec_ptr2 = tfc_getbits(act_ptr, 90, 26); + act_info->mcg.act_hint3 = tfc_getbits(act_ptr, 116, 2); + act_info->mcg.act_rec_ptr3 = tfc_getbits(act_ptr, 118, 26); + act_info->mcg.act_hint4 = tfc_getbits(act_ptr, 144, 2); + act_info->mcg.act_rec_ptr4 = tfc_getbits(act_ptr, 146, 26); + act_info->mcg.act_hint5 = tfc_getbits(act_ptr, 172, 2); + act_info->mcg.act_rec_ptr5 = tfc_getbits(act_ptr, 174, 26); + act_info->mcg.act_hint6 = tfc_getbits(act_ptr, 200, 2); + act_info->mcg.act_rec_ptr6 = tfc_getbits(act_ptr, 202, 26); + act_info->mcg.act_hint7 = tfc_getbits(act_ptr, 228, 2); + act_info->mcg.act_rec_ptr7 = tfc_getbits(act_ptr, 230, 26); + break; + } +} + +void act_show(FILE *fd, struct act_info_t *act_info, uint32_t offset) +{ + if (act_info->valid) { + switch (act_info->vector) { + case 0: + fputs("Compact Action Record\n", fd); + fputs("+----------+--+-+--+--+-----+--+-+------+---Stat0" + "---+------+------+------+\n", fd); + fputs("| Index |V |d|dr|do|vn/p |df|m| mtp |ct|ie| offs|" + " moffs| eoffs| soffs|\n", fd); + fputs("+----------+--+-+--+--+-----+--+-+------+--+--+-----+" + "------+------+------+\n", fd); + + fprintf(fd, + " 0x%08x %2d %d %2d %2d 0x%03x %2d %d 0x%04x %2d %2d 0x%02x 0x%02x 0x%02x 0x%02x\n", + offset, + act_info->vector, + act_info->compact.drop, + act_info->compact.vlan_del_rep, + act_info->compact.dest_op, + act_info->compact.vnic_vport, + act_info->compact.decap_func, + act_info->compact.mirror, + act_info->compact.meter_ptr, + act_info->compact.stat0_ctr_type, + act_info->compact.stat0_ing_egr, + act_info->compact.stat0_offs, + act_info->compact.mod_offs, + act_info->compact.enc_offs, + act_info->compact.src_offs); + + if (act_info->compact.mod_offs) + fprintf(fd, "%s", act_info->compact.mod_str); + if (act_info->compact.stat0_offs) + fprintf(fd, "%s", act_info->compact.stat0_str); + if (act_info->compact.enc_offs) + fprintf(fd, "%s", act_info->compact.enc_str); + break; + case 1: + fputs("Full Action Record\n", fd); + fputs("+----------+--+-+--+--+-----+--+-+------+----Stat0-------+------Stat1-----+----------+----------+----------+\n", + fd); + fputs("| Index |V |d|dr|do|vn/p |df|m| mtp |ct|ie| ptr |ct|ie| ptr | mptr | eptr | sptr |\n", + fd); + fputs("+----------+--+-+--+--+-----+--+-+------+--+--+----------+--+--+----------+----------+----------+----------+\n", + fd); + + fprintf(fd, " 0x%08x %2d %d %2d %2d 0x%03x %2d %d 0x%04x %2d %2d 0x%08x %2d %2d 0x%08x 0x%08x 0x%08x 0x%08x\n", + offset, + act_info->vector, + act_info->full.drop, + act_info->full.vlan_del_rep, + act_info->full.dest_op, + act_info->full.vnic_vport, + act_info->full.decap_func, + act_info->full.mirror, + act_info->full.meter_ptr, + act_info->full.stat0_ctr_type, + act_info->full.stat0_ing_egr, + act_info->full.stat0_ptr, + act_info->full.stat1_ctr_type, + act_info->full.stat1_ing_egr, + act_info->full.stat1_ptr, + act_info->full.mod_ptr, + act_info->full.enc_ptr, + act_info->full.src_ptr); + if (act_info->full.mod_ptr) + fprintf(fd, "%s", act_info->full.mod_str); + if (act_info->full.stat0_ptr) + fprintf(fd, "%s", act_info->full.stat0_str); + if (act_info->full.stat1_ptr) + fprintf(fd, "%s", act_info->full.stat1_str); + if (act_info->full.enc_ptr) + fprintf(fd, "%s", act_info->full.enc_str); + + break; + case 4: + fputs("Multicast Group Record\n", fd); + fputs("+----------+--+----------+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+\n", + fd); + fputs("| Index |V | NxtPtr | ActRPtr0 |ah| ActRPtr1 |ah| ActRPtr2 |ah| ActRPtr3 |ah| ActRPtr4 |ah| ActRPtr5 |ah| ActRPtr6 |ah| ActRPtr7 |ah|\n", + fd); + fputs("+----------+--+----------+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+\n", + fd); + + fprintf(fd, " 0x%08x %2d 0x%08x 0x%08x %2d 0x%08x %2d 0x%08x %2d 0x%08x %2d 0x%08x %2d 0x%08x %2d 0x%08x %2d 0x%08x %2d\n", + offset, + act_info->vector, + act_info->mcg.nxt_ptr, + act_info->mcg.act_rec_ptr0, + act_info->mcg.act_hint0, + act_info->mcg.act_rec_ptr1, + act_info->mcg.act_hint1, + act_info->mcg.act_rec_ptr2, + act_info->mcg.act_hint2, + act_info->mcg.act_rec_ptr3, + act_info->mcg.act_hint3, + act_info->mcg.act_rec_ptr4, + act_info->mcg.act_hint4, + act_info->mcg.act_rec_ptr5, + act_info->mcg.act_hint5, + act_info->mcg.act_rec_ptr6, + act_info->mcg.act_hint6, + act_info->mcg.act_rec_ptr7, + act_info->mcg.act_hint7); + break; + } + } +} + +struct stat_fields_s { + uint64_t pkt_cnt; + uint64_t byte_cnt; + union { + struct { + uint32_t timestamp; + uint16_t tcp_flags; + } c_24b; + struct { + uint64_t meter_pkt_cnt; + uint64_t meter_byte_cnt; + } c_32b; + struct { + uint64_t timestamp : 32; + uint64_t tcp_flags : 16; + uint64_t meter_pkt_cnt : 38; + uint64_t meter_byte_cnt : 42; + } c_32b_all; + } t; +}; + +#define STATS_COMMON_FMT \ + "Stats:%d Pkt count:%016ld Byte count:%016ld\n" +#define STATS_METER_FMT \ + "\tMeter pkt count:%016ld Meter byte count:%016ld\n" +#define STATS_TCP_FLAGS_FMT \ + "\tTCP flags:0x%04x timestamp:0x%08x\n" + +static void stat_decode(char *str, + uint8_t stat_num, + uint8_t stat_ctr_type, + uint32_t *stat_ptr) +{ + struct stat_fields_s *stats = (struct stat_fields_s *)stat_ptr; + uint64_t meter_pkt_cnt; + uint64_t meter_byte_cnt; + uint32_t timestamp; + char tmp0[96]; + + /* Common fields */ + snprintf(str, + TFC_STAT_STRING_LENGTH, + STATS_COMMON_FMT, + stat_num, stats->pkt_cnt, stats->byte_cnt); + + switch (stat_ctr_type) { + case CFA_BLD_STAT_COUNTER_SIZE_16B: + /* Nothing further to do */ + break; + case CFA_BLD_STAT_COUNTER_SIZE_24B: + timestamp = stats->t.c_24b.timestamp; + snprintf(tmp0, + TFC_STRING_LENGTH_96, + STATS_TCP_FLAGS_FMT, + stats->t.c_24b.tcp_flags, + timestamp); + strcat(str, tmp0); + break; + case CFA_BLD_STAT_COUNTER_SIZE_32B: + snprintf(tmp0, + TFC_STRING_LENGTH_96, + STATS_METER_FMT, + stats->t.c_32b.meter_pkt_cnt, + stats->t.c_32b.meter_byte_cnt); + strcat(str, tmp0); + break; + case CFA_BLD_STAT_COUNTER_SIZE_32B_ALL: + meter_pkt_cnt = stats->t.c_32b_all.meter_pkt_cnt; + meter_byte_cnt = stats->t.c_32b_all.meter_byte_cnt; + timestamp = stats->t.c_32b_all.timestamp; + snprintf(tmp0, + TFC_STRING_LENGTH_96, + STATS_METER_FMT STATS_TCP_FLAGS_FMT, + meter_pkt_cnt, + meter_byte_cnt, + stats->t.c_32b_all.tcp_flags, + timestamp); + strcat(str, tmp0); + break; + default: + /* Should never happen since type is 2 bits in size */ + snprintf(tmp0, + TFC_STRING_LENGTH_96, + "Unknown counter type %d\n", stat_ctr_type); + strcat(str, tmp0); + break; + } +} + +static void bucket_decode(uint32_t *bucket_ptr, + struct bucket_info_t *bucket_info, + struct tfc_ts_mem_cfg *lkup_mem_cfg, + struct tfc_ts_mem_cfg *act_mem_cfg) +{ + int i; + int offset = 0; + uint8_t *em_ptr; + + bucket_info->valid = false; + bucket_info->chain = tfc_getbits(bucket_ptr, 254, 1); + bucket_info->chain_ptr = tfc_getbits(bucket_ptr, 228, 26); + + if (bucket_info->chain || + bucket_info->chain_ptr) + bucket_info->valid = true; + + for (i = 0; i < TFC_BUCKET_ENTRIES; i++) { + bucket_info->entries[i].entry_ptr = tfc_getbits(bucket_ptr, offset, 26); + offset += 26; + bucket_info->entries[i].hash_msb = tfc_getbits(bucket_ptr, offset, 12); + offset += 12; + + if (bucket_info->entries[i].hash_msb || + bucket_info->entries[i].entry_ptr) { + bucket_info->valid = true; + + em_ptr = (uint8_t *)get_address(lkup_mem_cfg, + bucket_info->entries[i].entry_ptr * 32); + em_decode((uint32_t *)em_ptr, &bucket_info->em_info[i], act_mem_cfg); + } + } +} + +static void bucket_show(FILE *fd, struct bucket_info_t *bucket_info, uint32_t offset) +{ + int i; + + if (bucket_info->valid) { + fprintf(fd, "Static Bucket:0x%08x\n", offset); + fputs("+-+ +---------+ +----------------------------------- Entries --------------------------------------------------------------+\n", + fd); + fputs(" C CPtr 0 1 2 3 4 5\n", + fd); + fputs("+-+ +---------+ +-----+---------+ +-----+---------+ +-----+---------+ +-----+---------+ +-----+---------+ +------+---------+\n", + fd); + fprintf(fd, " %d 0x%07x", + bucket_info->chain, + bucket_info->chain_ptr); + for (i = 0; i < TFC_BUCKET_ENTRIES; i++) { + fprintf(fd, " 0x%03x 0x%07x", + bucket_info->entries[i].hash_msb, + bucket_info->entries[i].entry_ptr); + } + fputs("\n", fd); + + /* + * Now display each valid EM entry from the bucket + */ + for (i = 0; i < TFC_BUCKET_ENTRIES; i++) { + if (bucket_info->entries[i].entry_ptr != 0) { + if (bucket_info->em_info[i].valid) + em_show(fd, &bucket_info->em_info[i]); + else + fputs("<<< Invalid LREC >>>\n", fd); + } + } + + fputs("\n", fd); + } +} + +int tfc_em_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir) +{ + int rc = 0; + bool is_shared; + bool is_bs_owner; + struct tfc_ts_mem_cfg *lkup_mem_cfg; + struct tfc_ts_mem_cfg *act_mem_cfg; + uint32_t bucket_row; + uint32_t bucket_count; + uint8_t *bucket_ptr; + struct bucket_info_t *bucket_info; + uint32_t bucket_offset = 0; + bool valid; + + rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + if (rc != 0) { + fprintf(fd, "%s: failed to get tsid: %d\n", + __func__, rc); + return -EINVAL; + } + if (!valid) { + fprintf(fd, "%s: tsid not allocated %d\n", + __func__, tsid); + return -EINVAL; + } + + lkup_mem_cfg = rte_zmalloc("data", sizeof(*lkup_mem_cfg), 8); + if (!lkup_mem_cfg) + return -ENOMEM; + + rc = tfo_ts_get_mem_cfg(tfcp->tfo, tsid, + dir, + CFA_REGION_TYPE_LKUP, + &is_bs_owner, + lkup_mem_cfg); /* Gets rec_cnt */ + if (rc != 0) { + fprintf(fd, "%s: tfo_ts_get_mem_cfg() failed for LKUP: %d\n", + __func__, rc); + rte_free(lkup_mem_cfg); + return -EINVAL; + } + + act_mem_cfg = rte_zmalloc("data", sizeof(*act_mem_cfg), 8); + if (!act_mem_cfg) { + rte_free(lkup_mem_cfg); + return -ENOMEM; + } + + rc = tfo_ts_get_mem_cfg(tfcp->tfo, tsid, + dir, + CFA_REGION_TYPE_ACT, + &is_bs_owner, + act_mem_cfg); /* Gets rec_cnt */ + if (rc != 0) { + fprintf(fd, "%s: tfo_ts_get_mem_cfg() failed for ACT: %d\n", + __func__, rc); + rte_free(lkup_mem_cfg); + rte_free(act_mem_cfg); + return -EINVAL; + } + + bucket_count = lkup_mem_cfg->lkup_rec_start_offset; + + fputs(" Lookup Table\n", fd); + fprintf(fd, " Static bucket count:%d\n", bucket_count); + + bucket_info = rte_zmalloc("data", sizeof(*bucket_info), 8); + if (!bucket_info) { + fprintf(fd, "%s: Failed to allocate bucket info struct\n", + __func__); + rte_free(lkup_mem_cfg); + rte_free(act_mem_cfg); + return -ENOMEM; + } + + /* + * Go through the static buckets looking for valid entries. + * If a valid entry is found then display it and also display + * the EM entries it points to. + */ + for (bucket_row = 0; bucket_row < bucket_count; ) { + bucket_ptr = (uint8_t *)get_address(lkup_mem_cfg, bucket_offset); + bucket_decode((uint32_t *)bucket_ptr, bucket_info, lkup_mem_cfg, act_mem_cfg); + + if (bucket_info->valid) + bucket_show(fd, bucket_info, bucket_offset); + + bucket_offset += TFC_BUCKET_SIZE_BYTES; + bucket_row++; + } + + rte_free(bucket_info); + rte_free(lkup_mem_cfg); + rte_free(act_mem_cfg); + + return rc; +} + +void tfc_backing_store_dump(FILE *fd) +{ + uint16_t port; + struct bnxt *bp; + uint8_t tsid; + int dir; + + RTE_ETH_FOREACH_DEV(port) { + bp = bnxt_pmd_get_bp(port); + if (bp && !tfo_tsid_get(bp->tfcp.tfo, &tsid)) { + for (dir = 0; dir <= 1; dir++) { + fputs("+------------------- EM ------------------+\n", fd); + fprintf(fd, "+--------- Port:%d TSID:%d DIR:%s ----------+\n", + port, tsid, (dir == CFA_DIR_RX ? "rx" : "tx")); + fputs("+-----------------------------------------+\n", fd); + tfc_em_show(fd, &bp->tfcp, tsid, dir); + + fputs("+------------------- WC ------------------+\n", fd); + fprintf(fd, "+--------- Port:%d TSID:%d DIR:%s ----------+\n", + port, tsid, (dir == CFA_DIR_RX ? "rx" : "tx")); + fputs("+-----------------------------------------+\n", fd); + tfc_wc_show(fd, &bp->tfcp, tsid, dir); + } + } + } +} diff --git a/drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c b/drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c deleted file mode 100644 index be16d00deb..0000000000 --- a/drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c +++ /dev/null @@ -1,565 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2019-2021 Broadcom - * All rights reserved. - */ -#include <stdio.h> -#include <inttypes.h> -#include <math.h> - -#include "bnxt.h" -#include "bnxt_mpc.h" - -#include "tfc.h" -#include "cfa_bld_mpc_field_ids.h" -#include "cfa_bld_mpcops.h" -#include "tfo.h" -#include "tfc_em.h" -#include "tfc_cpm.h" -#include "tfc_msg.h" -#include "tfc_debug.h" -#include "cfa_types.h" -#include "cfa_mm.h" -#include "sys_util.h" -#include "cfa_bld.h" -#include "tfc_util.h" - -int tfc_mpc_table_read(struct tfc *tfcp, - uint8_t tsid, - enum cfa_dir dir, - uint32_t type, - uint32_t offset, - uint8_t words, - uint8_t *data, - uint8_t debug) -{ - int rc = 0; - uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; - uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; - int i; - uint32_t buff_len; - struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_READ_CMD_MAX_FLD]; - struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_READ_CMP_MAX_FLD]; - struct bnxt_mpc_mbuf mpc_msg_in; - struct bnxt_mpc_mbuf mpc_msg_out; - bool is_shared; - struct cfa_bld_mpcinfo *mpc_info; - uint64_t host_address; - uint8_t discard_data[128]; - uint32_t set; - uint32_t way; - bool valid; - - tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); - if (rc != 0) { - PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); - return -EINVAL; - } - if (!valid) { - PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); - return -EINVAL; - } - - /* Check that data pointer is word aligned */ - if (((uint64_t)data) & 0x1fULL) { - PMD_DRV_LOG_LINE(ERR, "Table read data pointer not word aligned"); - return -EINVAL; - } - - host_address = (uint64_t)rte_mem_virt2iova(data); - - /* Check that MPC APIs are bound */ - if (mpc_info->mpcops == NULL) { - PMD_DRV_LOG_LINE(ERR, "MPC not initialized"); - return -EINVAL; - } - - set = offset & 0x7ff; - way = (offset >> 12) & 0xf; - - if (debug) - PMD_DRV_LOG_LINE(ERR, - "Debug read table type:%s %d words32B at way:%d set:%d debug:%d words32B", - (type == 0 ? "Lookup" : "Action"), - words, way, set, debug); - else - PMD_DRV_LOG_LINE(ERR, - "Reading table type:%s %d words32B at offset %d words32B", - (type == 0 ? "Lookup" : "Action"), - words, offset); - - /* Create MPC EM insert command using builder */ - for (i = 0; i < CFA_BLD_MPC_READ_CMD_MAX_FLD; i++) - fields_cmd[i].field_id = INVALID_U16; - - fields_cmd[CFA_BLD_MPC_READ_CMD_OPAQUE_FLD].field_id = - CFA_BLD_MPC_READ_CMD_OPAQUE_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_OPAQUE_FLD].val = 0xAA; - - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD].field_id = - CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD].val = (type == 0 ? - CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); - - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD].field_id = - CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD].val = - (debug ? way : tsid); - - fields_cmd[CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD].field_id = - CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD].val = words; - - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD].field_id = - CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD].val = - (debug ? set : offset); - - fields_cmd[CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD].field_id = - CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD].val = host_address; - - if (debug) { - fields_cmd[CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD].field_id = - CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD].val = debug; /* Debug read */ - } - - buff_len = TFC_MPC_MAX_TX_BYTES; - - rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_read(tx_msg, - &buff_len, - fields_cmd); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "Action read build failed: %d", rc); - goto cleanup; - } - - /* Send MPC */ - mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); - mpc_msg_in.msg_data = &tx_msg[16]; - mpc_msg_in.msg_size = 16; - mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; - mpc_msg_out.msg_data = &rx_msg[16]; - mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; - - rc = tfc_mpc_send(tfcp->bp, - &mpc_msg_in, - &mpc_msg_out, - &msg_count, - TFC_MPC_TABLE_READ, - NULL); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "Table read MPC send failed: %d", rc); - goto cleanup; - } - - /* Process response */ - for (i = 0; i < CFA_BLD_MPC_READ_CMP_MAX_FLD; i++) - fields_cmp[i].field_id = INVALID_U16; - - fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].field_id = - CFA_BLD_MPC_READ_CMP_STATUS_FLD; - - rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_read(rx_msg, - mpc_msg_out.msg_size, - discard_data, - words * TFC_MPC_BYTES_PER_WORD, - fields_cmp); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "Table read parse failed: %d", rc); - goto cleanup; - } - - if (fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { - PMD_DRV_LOG_LINE(ERR, "Table read failed with status code:%d", - (uint32_t)fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].val); - rc = -1; - goto cleanup; - } - - return 0; - - cleanup: - - return rc; -} - -int tfc_mpc_table_write_zero(struct tfc *tfcp, - uint8_t tsid, - enum cfa_dir dir, - uint32_t type, - uint32_t offset, - uint8_t words, - uint8_t *data) -{ - int rc = 0; - uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; - uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; - int i; - uint32_t buff_len; - struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_WRITE_CMD_MAX_FLD]; - struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_WRITE_CMP_MAX_FLD]; - struct bnxt_mpc_mbuf mpc_msg_in; - struct bnxt_mpc_mbuf mpc_msg_out; - struct cfa_bld_mpcinfo *mpc_info; - bool is_shared; - bool valid; - - tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); - if (rc != 0) { - PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); - return -EINVAL; - } - if (!valid) { - PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); - return -EINVAL; - } - /* Check that MPC APIs are bound */ - if (mpc_info->mpcops == NULL) { - PMD_DRV_LOG_LINE(ERR, " MPC not initialized"); - return -EINVAL; - } - - /* Create MPC EM insert command using builder */ - for (i = 0; i < CFA_BLD_MPC_WRITE_CMD_MAX_FLD; i++) - fields_cmd[i].field_id = INVALID_U16; - - fields_cmd[CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD].field_id = - CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD; - fields_cmd[CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD].val = 0xAA; - - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD].field_id = - CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD; - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD].val = (type == 0 ? - CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); - - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD].field_id = - CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD; - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD].val = tsid; - - fields_cmd[CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD].field_id = - CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD; - fields_cmd[CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD].val = words; - - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD].field_id = - CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD; - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD].val = offset; - - buff_len = TFC_MPC_MAX_TX_BYTES; - - rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_write(tx_msg, - &buff_len, - data, - fields_cmd); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "write build failed: %d", rc); - goto cleanup; - } - - /* Send MPC */ - mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); - mpc_msg_in.msg_data = &tx_msg[16]; - mpc_msg_in.msg_size = (words * TFC_MPC_BYTES_PER_WORD) + 16; - mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; - mpc_msg_out.msg_data = &rx_msg[16]; - mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; - - rc = tfc_mpc_send(tfcp->bp, - &mpc_msg_in, - &mpc_msg_out, - &msg_count, - TFC_MPC_TABLE_WRITE, - NULL); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "write MPC send failed: %d", rc); - goto cleanup; - } - - /* Process response */ - for (i = 0; i < CFA_BLD_MPC_WRITE_CMP_MAX_FLD; i++) - fields_cmp[i].field_id = INVALID_U16; - - fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].field_id = - CFA_BLD_MPC_WRITE_CMP_STATUS_FLD; - - rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_write(rx_msg, - mpc_msg_out.msg_size, - fields_cmp); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "write parse failed: %d", rc); - goto cleanup; - } - - if (fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { - PMD_DRV_LOG_LINE(ERR, "Action write failed with status code:%d", - (uint32_t)fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].val); - PMD_DRV_LOG_LINE(ERR, "Hash MSB:0x%0x", - (uint32_t)fields_cmp[CFA_BLD_MPC_WRITE_CMP_HASH_MSB_FLD].val); - goto cleanup; - } - - return 0; - - cleanup: - - return rc; -} - -int tfc_mpc_table_invalidate(struct tfc *tfcp, - uint8_t tsid, - enum cfa_dir dir, - uint32_t type, - uint32_t offset, - uint32_t words) -{ - int rc = 0; - uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; - uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; - int i; - uint32_t buff_len; - struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_MAX_FLD]; - struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_MAX_FLD]; - struct bnxt_mpc_mbuf mpc_msg_in; - struct bnxt_mpc_mbuf mpc_msg_out; - struct cfa_bld_mpcinfo *mpc_info; - bool is_shared; - bool valid; - - tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); - if (rc != 0) { - PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); - return -EINVAL; - } - if (!valid) { - PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); - return -EINVAL; - } - /* Check that MPC APIs are bound */ - if (mpc_info->mpcops == NULL) { - PMD_DRV_LOG_LINE(ERR, " MPC not initialized"); - return -EINVAL; - } - - /* Create MPC EM insert command using builder */ - for (i = 0; i < CFA_BLD_MPC_INVALIDATE_CMD_MAX_FLD; i++) - fields_cmd[i].field_id = INVALID_U16; - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD].val = 0xAA; - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD].val = (type == 0 ? - CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD].val = tsid; - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD].val = words; - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD].val = offset; - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD].val = - CFA_BLD_MPC_EV_EVICT_SCOPE_ADDRESS; - - buff_len = TFC_MPC_MAX_TX_BYTES; - - rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_evict(tx_msg, - &buff_len, - fields_cmd); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "evict build failed: %d", rc); - goto cleanup; - } - - /* Send MPC */ - mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); - mpc_msg_in.msg_data = &tx_msg[16]; - mpc_msg_in.msg_size = 16; - mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; - mpc_msg_out.msg_data = &rx_msg[16]; - mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; - - rc = tfc_mpc_send(tfcp->bp, - &mpc_msg_in, - &mpc_msg_out, - &msg_count, - TFC_MPC_INVALIDATE, - NULL); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "write MPC send failed: %d", rc); - goto cleanup; - } - - /* Process response */ - for (i = 0; i < CFA_BLD_MPC_INVALIDATE_CMP_MAX_FLD; i++) - fields_cmp[i].field_id = INVALID_U16; - - fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD; - - rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_evict(rx_msg, - mpc_msg_out.msg_size, - fields_cmp); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "evict parse failed: %d", rc); - goto cleanup; - } - - if (fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { - PMD_DRV_LOG_LINE(ERR, "evict failed with status code:%d", - (uint32_t)fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].val); - PMD_DRV_LOG_LINE(ERR, "Hash MSB:0x%0x", - (uint32_t)fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_HASH_MSB_FLD].val); - goto cleanup; - } - - return 0; - - cleanup: - - return rc; -} - -#define TFC_ACTION_SIZE_BYTES 32 -#define TFC_BUCKET_SIZE_BYTES 32 - -struct act_full_info_t { - bool drop; - uint8_t vlan_del_rep; - uint8_t dest_op; - uint16_t vnic_vport; - uint8_t decap_func; - uint16_t mirror; - uint16_t meter_ptr; - uint8_t stat0_ctr_type; - bool stat0_ing_egr; - uint32_t stat0_ptr; - uint8_t stat1_ctr_type; - bool stat1_ing_egr; - uint32_t stat1_ptr; - uint32_t mod_ptr; - uint32_t enc_ptr; - uint32_t src_ptr; - char mod_str[512]; -}; - -struct act_mcg_info_t { - uint8_t src_ko_en; - uint32_t nxt_ptr; - uint8_t act_hint0; - uint32_t act_rec_ptr0; - uint8_t act_hint1; - uint32_t act_rec_ptr1; - uint8_t act_hint2; - uint32_t act_rec_ptr2; - uint8_t act_hint3; - uint32_t act_rec_ptr3; - uint8_t act_hint4; - uint32_t act_rec_ptr4; - uint8_t act_hint5; - uint32_t act_rec_ptr5; - uint8_t act_hint6; - uint32_t act_rec_ptr6; - uint8_t act_hint7; - uint32_t act_rec_ptr7; -}; - -struct act_info_t { - bool valid; - uint8_t vector; - union { - struct act_full_info_t full; - struct act_mcg_info_t mcg; - }; -}; - -struct mod_field_s { - uint8_t num_bits; - const char *name; -}; - -struct mod_data_s { - uint8_t num_fields; - const char *name; - struct mod_field_s field[4]; -}; - -struct mod_data_s mod_data[] = { - {1, "Replace:", {{16, "DPort"} } }, - {1, "Replace:", {{16, "SPort"} } }, - {1, "Replace:", {{32, "IPv4 DIP"} } }, - {1, "Replace:", {{32, "IPv4 SIP"} } }, - {1, "Replace:", {{128, "IPv6 DIP"} } }, - {1, "Replace:", {{128, "IPv6 SIP"} } }, - {1, "Replace:", {{48, "SMAC"} } }, - {1, "Replace:", {{48, "DMAC"} } }, - {2, "Update Field:", {{16, "uf_vec"}, {32, "uf_data"} } }, - {3, "Tunnel Modify:", {{16, "tun_mv"}, {16, "tun_ex_prot"}, {16, "tun_new_prot"} } }, - {3, "TTL Update:", {{5, "alt_pfid"}, {12, "alt_vid"}, {5, "ttl_op"} } }, - {4, "Replace/Add Outer VLAN:", {{16, "tpid"}, {3, "pri"}, {1, "de"}, {12, "vid"} } }, - {4, "Replace/Add Inner:", {{16, "tpid"}, {3, "pri"}, {1, "de"}, {12, "vid"} } }, - {0, "Remove outer VLAN:", {{0, NULL} } }, - {0, "Remove inner VLAN:", {{0, NULL} } }, - {4, "Metadata Update:", {{2, "md_op"}, {4, "md_prof"}, {10, "rsvd"}, {32, "md_data"} } }, -}; - -struct stat_fields_s { - uint64_t pkt_cnt; - uint64_t byte_cnt; - union { - struct __rte_packed_begin { - uint32_t timestamp; - uint16_t tcp_flags; - } c_24b __rte_packed_end; - struct { - uint64_t meter_pkt_cnt; - uint64_t meter_byte_cnt; - } c_32b; - struct __rte_packed_begin { - uint64_t timestamp:32; - uint64_t tcp_flags:16; - uint64_t meter_pkt_cnt:38; - uint64_t meter_byte_cnt:42; - } c_32b_all __rte_packed_end; - } t; -}; - -#define STATS_COMMON_FMT \ - "\tPkt count : 0x%016" PRIu64 ", Byte count : 0x%016" PRIu64 "\n" -#define STATS_METER_FMT \ - "\tMeter pkt cnt: 0x%016" PRIx64 ", Meter byte cnt: 0x%016" PRIx64 "\n" -#define STATS_TCP_FLAGS_FMT \ - "\tTCP flags : 0x%04x, timestamp : 0x%08x\n" diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c b/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c new file mode 100644 index 0000000000..cff93f931f --- /dev/null +++ b/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c @@ -0,0 +1,1875 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* Copyright(c) 2024 Broadcom + * All rights reserved. + */ +#include <stdio.h> +#include <inttypes.h> +#include <string.h> + +#include "bnxt.h" + +#include "tfc.h" +#include "tfo.h" +#include "tfc_em.h" +#include "tfc_debug.h" +#include "cfa_types.h" + +#include "sys_util.h" +#include "tfc_util.h" +/* only debug files can include ULP headers */ +#include "ulp_flow_db.h" +#include "bnxt_ulp_tfc.h" +#include "bnxt_ulp_utils.h" +#include "tfc_debug.h" + +#define TFC_STRING_LENGTH_32 32 +#define TFC_STRING_LENGTH_64 64 +#define TFC_STRING_LENGTH_96 96 +#define TFC_STRING_LENGTH_256 256 + +/* Enable this flag if you want to dump all TCAM records, + * including the default L2 context records and profile TCAM + * entries. This method is sub-optimal, but can used for lack of + * a better way to walk and dump flow DB resources for particular + * flow types. + * Disabling this flag will dump WC TCAM entries and their + * associated action-records by default. + */ +#define TFC_DEBUG_DUMP_ALL_FLOWS 1 + +/* + * Function pointer type for custom processing resources + */ +typedef int (*FDB_RESOURCE_PROCFUNC)(struct ulp_flow_db_res_params *rp, + void *frp_ctxt); +static +void hex_buf_dump(FILE *fd, const char *hdr, uint8_t *msg, + int msglen, int prtwidth, int linewidth); + +struct wc_frp_context { + FILE *fd; + struct bnxt_ulp_context *ulp_ctxt; + struct tfc_ts_mem_cfg *act_mem_cfg; +}; + +struct wc_lrec_t { + bool valid; + uint8_t rec_size; + uint16_t epoch0; + uint16_t epoch1; + uint8_t opcode; + uint8_t strength; + uint8_t act_hint; + uint32_t act_rec_ptr; /* Not FAST */ + uint32_t destination; /* Just FAST */ + uint8_t tcp_direction; /* Just CT */ + uint8_t tcp_update_en; + uint8_t tcp_win; + uint32_t tcp_msb_loc; + uint32_t tcp_msb_opp; + uint8_t tcp_msb_opp_init; + uint8_t state; + uint8_t timer_value; + uint16_t ring_table_idx; /* Not CT and not RECYCLE */ + uint8_t act_rec_size; + uint8_t paths_m1; + uint8_t fc_op; + uint8_t fc_type; + uint32_t fc_ptr; + uint8_t recycle_dest; /* Just Recycle */ + uint8_t prof_func; + uint8_t meta_prof; + uint32_t metadata; + uint8_t range_profile; + uint16_t range_index; + struct act_info_t act_info; +}; + +/* L2 context TCAM key formats + * + * IPv4 + * ---- + * valid 255 1 TCAM entry is valid + * spare 254:253 2 Spare bits. + * mpass_cnt 252:251 2 Multi-pass cycle count ? {0,1,2,3} + * rcyc[3:0] 250:247 4 Recycle count from prof_in + * loopback 246 1 loopback input from prof_in + * spif 245:244 2 Source network port from prof_in + * parif 243:239 5 Partition provided by input block + * svif 238:228 11 Source of the packet: Ethernet network port or + * vnic; provided on prof_in + * metadata 227:196 32 Metadata provided by Input block + * l2ip_func 195:188 8 Used to create logical (feature specific) context + * TCAM tables. Provided from ILT or Recycle. + * roce 187 1 ROCE Packet detected by the Parser + * pure_llc 186 1 Pure LLC Packet detected by the Parser. If set + * the etype field will contain the DSAP/SSAP from + * LLC header. + * ot_hdr_type 185:181 5 5b encoded Outer Tunnel Type (see Table 4-12) + * t_hdr_type 180:176 5 5b encoded Tunnel Type (see Table 4-12) + * tunnel_id/context/L4 175:144 32 Tunnel ID/Tunnel Context/L4 ports selected. + * ADDR0 143:96 48 ADDR0: DMAC/SMAC/IPv4 selected. + * ADDR1 95:48 48 ADDR1: DMAC/SMAC/IPv4 selected. + * otl2/tl2/l2_vtag_present 47 1 1+ VLAN tags present (L2 selected) + * otl2/tl2/l2_two_vtags 46 1 2 VLAN tags present (comp. flds_num_vtags) + * otl2/tl2/l2_ovlan_vid 45:34 12 VID from outer VLAN tag if present (L2 selected) + * otl2/tl2/l2_ovlan_tpid_sel 33:31 3 3b encoding for TPID (L2 selected) + * otl2/tl2/l2_ivlan_vid 30:19 12 VID from inner VLAN tag if present (L2 selected) + * otl2/tl2/l2_ivlan_tpid_sel 18:16 3 3b encoding for TPID (L2 selected) + * otl2/tl2/l2_etype 15:0 16 L2 Header Ethertype (L2 selected) + * + * IPv6 + * ---- + * valid 255 1 TCAM entry is valid + * spare 254:253 2 Spare bits. + * mpass_cnt 252:251 2 Multi-pass cycle count ? {0,1,2,3} + * rcyc[3:0] 250:247 4 Recycle count from prof_in + * loopback 246 1 loopback input from prof_in + * spif 245:244 2 Source network port from prof_in + * parif 243:239 5 Partition provided by input block + * svif 238:228 11 Source of the packet: Ethernet network port or + * vnic; provided on prof_in + * metadata 227:196 32 Metadata provided by Input block + * l2ip_func 195:188 8 Used to create logical (feature specific) context + * TCAM tables. Provided from ILT or Recycle. + * roce 187 1 ROCE Packet detected by the Parser + * pure_llc 186 1 Pure LLC Packet detected by the Parser. If set + * the etype field will contain the DSAP/SSAP from + * LLC header. + * ot_hdr_type 185:181 5 5b encoded Outer Tunnel Type (see Table 4-12) + * t_hdr_type 180:176 5 5b encoded Tunnel Type (see Table 4-12) + * tunnel_id/context/L4 175:144 32 Tunnel ID/Tunnel Context/L4 ports selected. + * ADDR0 143:16 128 ADDR0: IPv6 selected. + * otl2/tl2/l2_etype 15:0 16 L2 Header Ethertype (L2 selected) + */ +struct l2ctx_tcam_key_t { + uint8_t valid; + uint8_t spare; + uint8_t mpass_cnt; + uint8_t rcyc; + uint8_t loopback; + uint8_t spif; + uint8_t parif; + uint16_t svif; + uint32_t metadata; + uint8_t l2ip_func; + uint8_t roce; + uint8_t pure_llc; + uint8_t ot_hdr_type; + uint8_t t_hdr_type; + uint32_t tunnel_id_context_L4; + union { + struct ipv4_key_t { + uint64_t ADDR0; + uint64_t ADDR1; + uint8_t otl2_tl2_l2_vtag_present; + uint8_t otl2_tl2_l2_two_vtags; + uint16_t otl2_tl2_l2_ovlan_vid; + uint8_t otl2_tl2_l2_ovlan_tpid_sel; + uint16_t otl2_tl2_l2_ivlan_vid; + uint8_t otl2_tl2_l2_ivlan_tpid_sel; + uint16_t otl2_tl2_l2_etype; + } ipv4; + struct ipv6_key_t { + uint64_t ADDR0[2]; + uint16_t otl2_tl2_l2_etype; + } ipv6; + }; +}; + +/* L2 context TCAM remap + * + * prsv_parif 126 1 Preserve incoming partition, i.e. don?t remap. + * parif 125:121 5 Partition. Replaces parif from Input block + * prsv_l2ip_ctxt 120 1 Preserve incoming l2ip_ctxt, i.e. don?t remap. + * l2ip_ctxt 119:109 11 May be used in EM and WC Lookups to support logical + * partitions of these tables + * prsv_prof_func 108 1 Preserve incoming PROF_FUNC, i.e. don?t remap. + * prof_func 107:100 8 Allow Profile TCAM Lookup Table to be logically partitioned. + * ctxt_opcode 99:98 2 0: BYPASS_CFA + * 1: BYPASS_LKUP + * 2: NORMAL_FLOW + * 3: DROP + * l2ip_meta_enb 97 1 Enables remap of meta_data from Input block. + * l2ip_meta 96:62 35 l2ip_meta_prof[2:0] = l2ip_meta[34:32] + * l2ip_meta_data[31:0] = l2ip_meta[31:0] + * l2ip_act_enb 61 1 Enables remap of Action Record pointer from Input block. + * l2ip_act_data 60:28 33 l2ip_act_hint[1:0] = l2ip_act_data[32:31] + * l2ip_act_scope[4:0] = l2ip_act_data[30:26] + * l2ip_act_rec_ptr[25:0] = l2ip_act_data[25:0] + * l2ip_rfs_enb 27 1 Enables remap of ring_table_idx and sets rfs_valid. + * l2ip_rfs_data 26:18 9 ring_table_idx[8:0] = l2ip_rfs_data[8:0] (RX only) + * l2ip_dest_enb 17 1 Enables remap of destination from Input block. + * l2ip_dest_data 16:0 17 destination[16:0] = l2ip_dest_data[16:0] + */ +struct l2ctx_tcam_remap_t { + uint8_t prsv_parif; + uint8_t parif; + uint8_t prsv_l2ip_ctxt; + uint16_t l2ip_ctxt; + uint8_t prsv_prof_func; + uint8_t prof_func; + uint8_t ctxt_opcode; + uint8_t l2ip_meta_enb; + uint8_t l2ip_meta_prof; + uint32_t l2ip_meta_data; + uint8_t l2ip_act_enb; + uint8_t l2ip_act_hint; + uint8_t l2ip_act_scope; + uint32_t l2ip_act_ptr; + uint8_t l2ip_rfs_enb; + uint16_t l2ip_rfs_data; + uint8_t l2ip_dest_enb; + uint32_t l2ip_dest_data; + struct act_info_t act_info; +}; + +/* Profile TCAM key + * + * valid 183 1 Valid(1)/Invalid(0) TCAM entry. + * spare 182:181 2 Spare bits. + * loopback 180 1 END.loopback + * pkt_type 179:176 4 Packet type directly from END bus. + * rcyc[3:0] 175:172 4 Recycle count from prof_in + * metadata 171:140 32 From previous stage. + * agg_error 139 1 Aggregate error flag from Input stage. + * l2ip_func 138:131 8 L2-IP Context function from Input Lookup stage. + * prof_func 130:123 8 Profile function from L2-IP Context Lookup stage. + * hrec_next 122:121 2 From FLDS Input, General Status + * 1=tunnel/0=no tunnel + * int_hdr_type 120:119 2 INT header type directly from FLDS. + * int_hdr_group 118:117 2 INT header group directly from FLDS. + * int_ifa_tail 116 1 INT metadata is tail stamp. + * otl2_hdr_valid 115 1 !(flds_otl2_hdr_valid==stop_w_error | + * flds_otl2_hdr_valid==not_reached) + * otl2_hdr_type 114:113 2 Outer Tunnel L2 header type directly from FLDS. + * otl2_uc_mc_bc 112:111 2 flds_otl2_dst_type remapped: UC(0)/MC(2)/BC(3) + * otl2_vtag_present 110 1 1+ VLAN tags present (comp. lds_otl2_num_vtags) + * otl2_two_vtags 109 1 2 VLAN tags present (comp. flds_otl2_num_vtags) + * otl3_hdr_valid 108 1 !(flds_otl3_hdr_valid== stop_w_error | + * flds_otl3_hdr_valid== not_reached ) + * otl3_hdr_error 107 1 flds_tl3_hdr_valid == stop_w_error + * otl3_hdr_type 106:103 4 Outer Tunnel L3 header type directly from FLDS. + * otl3_hdr_isip 102 1 Outer Tunnel L3 header is IPV4 or IPV6. + * otl4_hdr_valid 101 1 !(flds_otl4_hdr_valid== stop_w_error | + * flds_otl4_hdr_valid== not_reached ) + * otl4_hdr_error 100 1 flds_otl4_hdr_valid == stop_w_error + * otl4_hdr_type 99:96 4 Outer Tunnel L4 header type directly from FLDS. + * otl4_hdr_is_udp_tcp 95 1 OTL4 header is UDP-TCP. (comp. flds_otl4_hdr_type) + * ot_hdr_valid 94 1 !(flds_ot_hdr_valid== stop_w_error | + * flds_ot_hdr_valid== not_reached ) + * ot_hdr_error 93 1 flds_ot_hdr_valid == stop_w_error + * ot_hdr_type 92:88 5 Outer Tunnel header type directly from FLDS. + * ot_hdr_flags 87:80 8 Outer Tunnel header flags directly from FLDS. + * tl2_hdr_valid 79 1 !(flds_tl2_hdr_valid==stop_w_error | + * flds_tl2_hdr_valid==not_reached) + * tl2_hdr_type 78:77 2 Tunnel L2 header type directly from FLDS. + * tl2_uc_mc_bc 76:75 2 flds_tl2_dst_type remapped: UC(0)/MC(2)/BC(3) + * tl2_vtag_present 74 1 1+ VLAN tags present (comp. lds_tl2_num_vtags) + * tl2_two_vtags 73 1 2 VLAN tags present (comp. flds_tl2_num_vtags) + * tl3_hdr_valid 72 1 !(flds_tl3_hdr_valid== stop_w_error | + * flds_tl3_hdr_valid== not_reached ) + * tl3_hdr_error 71 1 flds_tl3_hdr_valid == stop_w_error + * tl3_hdr_type 70:67 4 Tunnel L3 header type directly from FLDS. + * tl3_hdr_isip 66 1 Tunnel L3 header is IPV4 or IPV6. + * tl4_hdr_valid 65 1 !(flds_tl4_hdr_valid== stop_w_error | + * flds_tl4_hdr_valid== not_reached ) + * tl4_hdr_error 64 1 flds_tl4_hdr_valid == stop_w_error + * tl4_hdr_type 63:60 4 Tunnel L4 header type directly from FLDS. + * tl4_hdr_is_udp_tcp 59 1 TL4 header is UDP or TCP. (comp. flds_tl4_hdr_type) + * t_hdr_valid 58 1 !(flds_tun_hdr_valid== stop_w_error | + * flds_tun_hdr_valid== not_reached ) + * t_hdr_error 57 1 flds_tun_hdr_valid == stop_w_error + * t_hdr_type 56:52 5 Tunnel header type directly from FLDS. + * t_hdr_flags 51:44 8 Tunnel header flags directly from FLDS. + * l2_hdr_valid 43 1 !(flds_l2_hdr_valid== stop_w_error | + * flds_l2_hdr_valid== not_reached ) + * l2_hdr_error 42 1 flds_l2_hdr_valid == stop_w_error + * l2_hdr_type 41:40 2 L2 header type directly from FLDS. + * l2_uc_mc_bc 39:38 2 flds_l2_dst_type remapped: UC(0)/MC(2)/BC(3) + * l2_vtag_present 37 1 1+ VLAN tags present (comp. flds_l2_num_vtags) + * l2_two_vtags 36 1 2 VLAN tags present (comp. flds_l2_num_vtags) + * l3_hdr_valid 35 1 !(flds_l3_hdr_valid== stop_w_error | + * flds_l3_hdr_valid== not_reached ) + * l3_hdr_error 34 1 flds_l3_hdr_valid == stop_w_error + * l3_hdr_type 33:30 4 L3 header type directly from FLDS. + * l3_hdr_isip 29 1 L3 header is IPV4 or IPV6. + * l3_protocol 28:21 8 L3 header next protocol directly from FLDS. + * l4_hdr_valid 20 1 !(flds_l4_hdr_valid== stop_w_error | + * flds_l4_hdr_valid== not_reached ) + * l4_hdr_error 19 1 flds_l4_hdr_valid == stop_w_error + * l4_hdr_type 18:15 4 L4 header type directly from FLDS. + * l4_hdr_is_udp_tcp 14 1 L4 header is UDP or TCP (comp. flds_l4_hdr_type) + * l4_hdr_subtype 13:11 3 L4 header sub-type directly from FLDS. + * l4_flags 10:2 9 L4 header flags directly from FLDS. + * l4_dcn_present 1:0 2 DCN present bits directly from L4 header FLDS. + */ + +struct prof_tcam_key_t { + uint8_t valid; + uint8_t spare; + uint8_t loopback; + uint8_t pkt_type; + uint8_t rcyc; + uint32_t metadata; + uint8_t agg_error; + uint8_t l2ip_func; + uint8_t prof_func; + uint8_t hrec_next; + uint8_t int_hdr_type; + uint8_t int_hdr_group; + uint8_t int_ifa_tail; + uint8_t otl2_hdr_valid; + uint8_t otl2_hdr_type; + uint8_t otl2_uc_mc_bc; + uint8_t otl2_vtag_present; + uint8_t otl2_two_vtags; + uint8_t otl3_hdr_valid; + uint8_t otl3_hdr_error; + uint8_t otl3_hdr_type; + uint8_t otl3_hdr_isip; + uint8_t otl4_hdr_valid; + uint8_t otl4_hdr_error; + uint8_t otl4_hdr_type; + uint8_t otl4_hdr_is_udp_tcp; + uint8_t ot_hdr_valid; + uint8_t ot_hdr_error; + uint8_t ot_hdr_type; + uint8_t ot_hdr_flags; + uint8_t tl2_hdr_valid; + uint8_t tl2_hdr_type; + uint8_t tl2_uc_mc_bc; + uint8_t tl2_vtag_present; + uint8_t tl2_two_vtags; + uint8_t tl3_hdr_valid; + uint8_t tl3_hdr_error; + uint8_t tl3_hdr_type; + uint8_t tl3_hdr_isip; + uint8_t tl4_hdr_valid; + uint8_t tl4_hdr_error; + uint8_t tl4_hdr_type; + uint8_t tl4_hdr_is_udp_tcp; + uint8_t t_hdr_valid; + uint8_t t_hdr_error; + uint8_t t_hdr_type; + uint8_t t_hdr_flags; + uint8_t l2_hdr_valid; + uint8_t l2_hdr_error; + uint8_t l2_hdr_type; + uint8_t l2_uc_mc_bc; + uint8_t l2_vtag_present; + uint8_t l2_two_vtags; + uint8_t l3_hdr_valid; + uint8_t l3_hdr_error; + uint8_t l3_hdr_type; + uint8_t l3_hdr_isip; + uint8_t l3_protocol; + uint8_t l4_hdr_valid; + uint8_t l4_hdr_error; + uint8_t l4_hdr_type; + uint8_t l4_hdr_is_udp_tcp; + uint8_t l4_hdr_subtype; + uint16_t l4_flags; + uint8_t l4_dcn_present; +}; + +/* + * Profile TCAM remap record: + * + * pl_byp_lkup_en 1 42 When set to ?0? remaining bits are defined below. + * em_search_en 1 41 Enable search in EM database + * em_profile_id 8 40:33 Selected key structure for EM search. This is used as part of + * the EM keys to differentiate common key types. + * em_key_id 7 32:26 Exact match key template select + * em_scope 5 25:21 Exact Match Lookup scope. Action scope on EM hit. + * tcam_search_en 1 20 Enable search in TCAM database + * tcam_profile_id 8 19:12 Selected key structure for TCAM search. This is used as part of + * the TCAM keys to differentiate common key types. + * tcam_key_id 7 11:5 TCAM key template select + * tcam_scope 5 4:0 Wild Card Lookup Action table scope (used if WC hits). + */ +struct prof_tcam_remap_t { + bool pl_byp_lkup_en; + bool em_search_en; + uint8_t em_profile_id; + uint8_t em_key_id; + uint8_t em_scope; + bool tcam_search_en; + uint8_t tcam_profile_id; + uint8_t tcam_key_id; + uint8_t tcam_scope; +}; + +/* Internal function to read the tcam entry */ +static int +tfc_tcam_entry_read(struct bnxt_ulp_context *ulp_ctxt, + uint8_t dir, + uint8_t res_type, + uint16_t res_idx, + uint8_t *key, + uint8_t *mask, + uint8_t *remap, + uint16_t *key_size, + uint16_t *remap_size) +{ + struct tfc_tcam_info tfc_info = {0}; + struct tfc_tcam_data tfc_data = {0}; + struct tfc *tfcp = NULL; + uint16_t fw_fid; + int rc; + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctxt); + if (!tfcp) { + PMD_DRV_LOG_LINE(ERR, "Failed to get tfcp pointer"); + return -EINVAL; + } + + rc = bnxt_ulp_cntxt_fid_get(ulp_ctxt, &fw_fid); + if (rc) + return rc; + + tfc_info.dir = dir; + tfc_info.rsubtype = res_type; + tfc_info.id = res_idx; + + tfc_data.key = key; + tfc_data.mask = mask; + tfc_data.remap = remap; + tfc_data.key_sz_in_bytes = *key_size; + tfc_data.remap_sz_in_bytes = *remap_size; + + if (tfc_tcam_get(tfcp, fw_fid, &tfc_info, &tfc_data)) { + PMD_DRV_LOG_LINE(ERR, "tcam[%s][%s][%x] read failed.", + tfc_tcam_2_str(tfc_info.rsubtype), + tfc_dir_2_str(tfc_info.dir), tfc_info.id); + return -EIO; + } + + *key_size = (uint16_t)tfc_data.key_sz_in_bytes; + *remap_size = (uint16_t)tfc_data.remap_sz_in_bytes; + + return rc; +} + +/* + * bnxt_tfc_buf_dump: Pretty-prints a buffer using the following options + * + * Parameters: + * hdr - A header that is printed as-is + * msg - This is a pointer to the uint8_t buffer to be dumped + * prtwidth - The width of the words to be printed, allowed options 1, 2, 4 + * Defaults to 1 if either: + * 1) any other value + * 2) if buffer length is not a multiple of width + * linewidth - The length of the lines printed (in items/words) + */ +static +void hex_buf_dump(FILE *fd, const char *hdr, uint8_t *msg, + int msglen, int prtwidth, int linewidth) +{ + char msg_line[128]; + int msg_i = 0, i; + uint16_t *sw_msg = (uint16_t *)msg; + uint32_t *lw_msg = (uint32_t *)msg; + + if (hdr) + fprintf(fd, "%s\n", hdr); + + if (msglen % prtwidth) { + fprintf(fd, "msglen[%u] not aligned on width[%u]\n", + msglen, prtwidth); + prtwidth = 1; + } + + for (i = 0; i < msglen / prtwidth; i++) { + if ((i % linewidth == 0) && i) + fprintf(fd, "%s\n", msg_line); + if (i % linewidth == 0) { + msg_i = 0; + msg_i += snprintf(&msg_line[msg_i], + (sizeof(msg_line) - msg_i), + "0x%04x: ", (i * prtwidth)); + } + switch (prtwidth) { + case 2: + msg_i += snprintf(&msg_line[msg_i], + (sizeof(msg_line) - msg_i), + "0x%04x ", sw_msg[i]); + break; + + case 4: + msg_i += snprintf(&msg_line[msg_i], + (sizeof(msg_line) - msg_i), + "0x%08x ", lw_msg[i]); + break; + + case 1: + default: + msg_i += snprintf(&msg_line[msg_i], + (sizeof(msg_line) - msg_i), + "0x%02x ", msg[i]); + break; + } + } + fprintf(fd, "%s\n", msg_line); +} + +#define L2CTX_KEY_INFO_VALID(kptr) tfc_getbits(kptr, 255, 1) +#define L2CTX_KEY_INFO_SPARE(kptr) tfc_getbits(kptr, 253, 2) +#define L2CTX_KEY_INFO_MPASS_CNT(kptr) tfc_getbits(kptr, 251, 2) +#define L2CTX_KEY_INFO_RCYC(kptr) tfc_getbits(kptr, 247, 4) +#define L2CTX_KEY_INFO_LOOPBACK(kptr) tfc_getbits(kptr, 246, 1) +#define L2CTX_KEY_INFO_SPIF(kptr) tfc_getbits(kptr, 244, 2) +#define L2CTX_KEY_INFO_PARIF(kptr) tfc_getbits(kptr, 239, 5) +#define L2CTX_KEY_INFO_SVIF(kptr) tfc_getbits(kptr, 228, 11) +#define L2CTX_KEY_INFO_METADATA(kptr) tfc_getbits(kptr, 196, 32) +#define L2CTX_KEY_INFO_L2IP_FUNC(kptr) tfc_getbits(kptr, 188, 8) +#define L2CTX_KEY_INFO_ROCE(kptr) tfc_getbits(kptr, 187, 1) +#define L2CTX_KEY_INFO_PURE_LLC(kptr) tfc_getbits(kptr, 186, 1) +#define L2CTX_KEY_INFO_OT_HDR_TYPE(kptr) tfc_getbits(kptr, 181, 5) +#define L2CTX_KEY_INFO_T_HDR_TYPE(kptr) tfc_getbits(kptr, 176, 5) +#define L2CTX_KEY_INFO_TUNNEL_ID_CONTEXT_L4(kptr) tfc_getbits(kptr, 144, 32) + +#define L2CTX_KEY_INFO_IPV6_ADDR0_1(kptr) tfc_getbits(kptr, 80, 64) +#define L2CTX_KEY_INFO_IPV6_ADDR0_0(kptr) tfc_getbits(kptr, 16, 64) +#define L2CTX_KEY_INFO_IPV6_OTL2_TL2_L2_ETYPE(kptr) tfc_getbits(kptr, 0, 16) + +#define L2CTX_KEY_INFO_IPV4_ADDR0(kptr) tfc_getbits(kptr, 96, 48) +#define L2CTX_KEY_INFO_IPV4_ADDR1(kptr) tfc_getbits(kptr, 48, 48) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_VTAG_PRESENT(kptr) tfc_getbits(kptr, 47, 1) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_TWO_VTAGS(kptr) tfc_getbits(kptr, 46, 1) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_OVLAN_VID(kptr) tfc_getbits(kptr, 34, 12) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_OVLAN_TPID_SEL(kptr) tfc_getbits(kptr, 31, 3) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_IVLAN_VID(kptr) tfc_getbits(kptr, 19, 12) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_IVLAN_TPID_SEL(kptr) tfc_getbits(kptr, 16, 3) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_ETYPE(kptr) tfc_getbits(kptr, 0, 16) + +static void l2ctx_tcam_key_decode(uint32_t *l2ctx_key_ptr, + struct l2ctx_tcam_key_t *l2ctx_key_info) +{ + l2ctx_key_info->valid = L2CTX_KEY_INFO_VALID(l2ctx_key_ptr); + l2ctx_key_info->spare = L2CTX_KEY_INFO_SPARE(l2ctx_key_ptr); + l2ctx_key_info->mpass_cnt = L2CTX_KEY_INFO_MPASS_CNT(l2ctx_key_ptr); + l2ctx_key_info->rcyc = L2CTX_KEY_INFO_RCYC(l2ctx_key_ptr); + l2ctx_key_info->loopback = L2CTX_KEY_INFO_LOOPBACK(l2ctx_key_ptr); + l2ctx_key_info->spif = L2CTX_KEY_INFO_SPIF(l2ctx_key_ptr); + l2ctx_key_info->parif = L2CTX_KEY_INFO_PARIF(l2ctx_key_ptr); + l2ctx_key_info->svif = L2CTX_KEY_INFO_SVIF(l2ctx_key_ptr); + l2ctx_key_info->metadata = L2CTX_KEY_INFO_METADATA(l2ctx_key_ptr); + l2ctx_key_info->l2ip_func = L2CTX_KEY_INFO_L2IP_FUNC(l2ctx_key_ptr); + l2ctx_key_info->roce = L2CTX_KEY_INFO_ROCE(l2ctx_key_ptr); + l2ctx_key_info->pure_llc = L2CTX_KEY_INFO_PURE_LLC(l2ctx_key_ptr); + l2ctx_key_info->ot_hdr_type = L2CTX_KEY_INFO_OT_HDR_TYPE(l2ctx_key_ptr); + l2ctx_key_info->t_hdr_type = L2CTX_KEY_INFO_T_HDR_TYPE(l2ctx_key_ptr); + l2ctx_key_info->tunnel_id_context_L4 = L2CTX_KEY_INFO_TUNNEL_ID_CONTEXT_L4(l2ctx_key_ptr); + + if (l2ctx_key_info->t_hdr_type == 0x5 || + l2ctx_key_info->ot_hdr_type == 0x5) { + l2ctx_key_info->ipv6.ADDR0[1] = L2CTX_KEY_INFO_IPV6_ADDR0_1(l2ctx_key_ptr); + l2ctx_key_info->ipv6.ADDR0[0] = L2CTX_KEY_INFO_IPV6_ADDR0_0(l2ctx_key_ptr); + l2ctx_key_info->ipv6.otl2_tl2_l2_etype = + L2CTX_KEY_INFO_IPV6_OTL2_TL2_L2_ETYPE(l2ctx_key_ptr); + } else { + l2ctx_key_info->ipv4.ADDR0 = L2CTX_KEY_INFO_IPV4_ADDR0(l2ctx_key_ptr); + l2ctx_key_info->ipv4.ADDR1 = L2CTX_KEY_INFO_IPV4_ADDR1(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_vtag_present = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_VTAG_PRESENT(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_two_vtags = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_TWO_VTAGS(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_ovlan_vid = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_OVLAN_VID(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_ovlan_tpid_sel = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_OVLAN_TPID_SEL(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_ivlan_vid = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_IVLAN_VID(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_ivlan_tpid_sel = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_IVLAN_TPID_SEL(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_etype = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_ETYPE(l2ctx_key_ptr); + } +} + +#define L2CTX_RMP_INFO_PRSV_PARIF(kptr) tfc_getbits(l2ctx_rmp_ptr, 126, 1) +#define L2CTX_RMP_INFO_PARIF(kptr) tfc_getbits(l2ctx_rmp_ptr, 121, 5) +#define L2CTX_RMP_INFO_PRSV_L2IP_CTXT(kptr) tfc_getbits(l2ctx_rmp_ptr, 120, 1) +#define L2CTX_RMP_INFO_L2IP_CTXT(kptr) tfc_getbits(l2ctx_rmp_ptr, 109, 11) +#define L2CTX_RMP_INFO_PRSV_PROF_FUNC(kptr) tfc_getbits(l2ctx_rmp_ptr, 108, 1) +#define L2CTX_RMP_INFO_PROF_FUNC(kptr) tfc_getbits(l2ctx_rmp_ptr, 100, 8) +#define L2CTX_RMP_INFO_CTXT_OPCODE(kptr) tfc_getbits(l2ctx_rmp_ptr, 98, 2) +#define L2CTX_RMP_INFO_L2IP_META_ENB(kptr) tfc_getbits(l2ctx_rmp_ptr, 97, 1) +#define L2CTX_RMP_INFO_L2IP_META_PROF(kptr) tfc_getbits(l2ctx_rmp_ptr, 94, 3) +#define L2CTX_RMP_INFO_L2IP_META_DATA(kptr) tfc_getbits(l2ctx_rmp_ptr, 62, 32) +#define L2CTX_RMP_INFO_L2IP_ACT_ENB(kptr) tfc_getbits(l2ctx_rmp_ptr, 61, 1) +#define L2CTX_RMP_INFO_L2IP_ACT_HINT(kptr) tfc_getbits(l2ctx_rmp_ptr, 59, 2) +#define L2CTX_RMP_INFO_L2IP_ACT_SCOPE(kptr) tfc_getbits(l2ctx_rmp_ptr, 54, 5) +#define L2CTX_RMP_INFO_L2IP_ACT_PTR(kptr) tfc_getbits(l2ctx_rmp_ptr, 28, 26) +#define L2CTX_RMP_INFO_L2IP_RFS_ENB(kptr) tfc_getbits(l2ctx_rmp_ptr, 27, 1) +#define L2CTX_RMP_INFO_L2IP_RFS_DATA(kptr) tfc_getbits(l2ctx_rmp_ptr, 18, 9) +#define L2CTX_RMP_INFO_L2IP_DEST_ENB(kptr) tfc_getbits(l2ctx_rmp_ptr, 17, 1) +#define L2CTX_RMP_INFO_L2IP_DEST_DATA(kptr) tfc_getbits(l2ctx_rmp_ptr, 0, 17) + +static void l2ctx_tcam_remap_decode(uint32_t *l2ctx_rmp_ptr, + struct l2ctx_tcam_remap_t *l2ctx_rmp_info, + struct tfc_ts_mem_cfg *act_mem_cfg) +{ + l2ctx_rmp_info->prsv_parif = L2CTX_RMP_INFO_PRSV_PARIF(l2ctx_rmp_ptr); + l2ctx_rmp_info->parif = L2CTX_RMP_INFO_PARIF(l2ctx_rmp_ptr); + l2ctx_rmp_info->prsv_l2ip_ctxt = L2CTX_RMP_INFO_PRSV_L2IP_CTXT(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_ctxt = L2CTX_RMP_INFO_L2IP_CTXT(l2ctx_rmp_ptr); + l2ctx_rmp_info->prsv_prof_func = L2CTX_RMP_INFO_PRSV_PROF_FUNC(l2ctx_rmp_ptr); + l2ctx_rmp_info->prof_func = L2CTX_RMP_INFO_PROF_FUNC(l2ctx_rmp_ptr); + l2ctx_rmp_info->ctxt_opcode = L2CTX_RMP_INFO_CTXT_OPCODE(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_meta_enb = L2CTX_RMP_INFO_L2IP_META_ENB(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_meta_prof = L2CTX_RMP_INFO_L2IP_META_PROF(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_meta_data = L2CTX_RMP_INFO_L2IP_META_DATA(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_act_enb = L2CTX_RMP_INFO_L2IP_ACT_ENB(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_act_hint = L2CTX_RMP_INFO_L2IP_ACT_HINT(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_act_scope = L2CTX_RMP_INFO_L2IP_ACT_SCOPE(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_act_ptr = L2CTX_RMP_INFO_L2IP_ACT_PTR(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_rfs_enb = L2CTX_RMP_INFO_L2IP_RFS_ENB(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_rfs_data = L2CTX_RMP_INFO_L2IP_RFS_DATA(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_dest_enb = L2CTX_RMP_INFO_L2IP_DEST_ENB(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_dest_data = L2CTX_RMP_INFO_L2IP_DEST_DATA(l2ctx_rmp_ptr); + act_process(l2ctx_rmp_info->l2ip_act_ptr, &l2ctx_rmp_info->act_info, act_mem_cfg); +} + +static void l2ctx_tcam_show(FILE *fd, + struct l2ctx_tcam_key_t *l2ctx_key_info, + struct l2ctx_tcam_key_t *l2ctx_mask_info, + struct l2ctx_tcam_remap_t *l2ctx_rmp_info) +{ + char *line1 = NULL; + char *line2 = NULL; + char *line3 = NULL; + char *line4 = NULL; + char *line5 = NULL; + + line1 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line2 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line3 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line4 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line5 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + if (!line1 || !line2 || !line3 || !line4 || !line5) { + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + rte_free(line5); + fprintf(fd, "%s: Failed to allocate temp buffer\n", + __func__); + return; + } + + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+---+----+---+----+-----+----+---------" + "+------+----+----+---+---+----------+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "|V|Sp|mpc|rcyc|lbk|spif|parif|svif| metadata" + "|l2func|roce|pllc|OTH| TH|TID/ctx/L4|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+---+----+---+----+-----+----+---------" + "+------+----+----+---+---+----------+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x %01x %01x x%01x %01x %01x x%02x" + " x%03x x%08x x%02x %01x %01x x%02x x%02x x%08x key\n", + l2ctx_key_info->valid, + l2ctx_key_info->spare, + l2ctx_key_info->mpass_cnt, + l2ctx_key_info->rcyc, + l2ctx_key_info->loopback, + l2ctx_key_info->spif, + l2ctx_key_info->parif, + l2ctx_key_info->svif, + l2ctx_key_info->metadata, + l2ctx_key_info->l2ip_func, + l2ctx_key_info->roce, + l2ctx_key_info->pure_llc, + l2ctx_key_info->ot_hdr_type, + l2ctx_key_info->t_hdr_type, + l2ctx_key_info->tunnel_id_context_L4); + snprintf(line5, TFC_STRING_LENGTH_256, " %01x %01x %01x x%01x %01x %01x x%02x" + " x%03x x%08x x%02x %01x %01x x%02x x%02x x%08x mask\n", + l2ctx_mask_info->valid, + l2ctx_mask_info->spare, + l2ctx_mask_info->mpass_cnt, + l2ctx_mask_info->rcyc, + l2ctx_mask_info->loopback, + l2ctx_mask_info->spif, + l2ctx_mask_info->parif, + l2ctx_mask_info->svif, + l2ctx_mask_info->metadata, + l2ctx_mask_info->l2ip_func, + l2ctx_mask_info->roce, + l2ctx_mask_info->pure_llc, + l2ctx_mask_info->ot_hdr_type, + l2ctx_mask_info->t_hdr_type, + l2ctx_mask_info->tunnel_id_context_L4); + fprintf(fd, "%s%s%s%s%s", + line1, + line2, + line3, + line5, + line4); + + if (l2ctx_key_info->t_hdr_type == 0x5 || + l2ctx_key_info->ot_hdr_type == 0x5) { + snprintf(line1, TFC_STRING_LENGTH_256, "+------IPv6-------+------IPv6-------" + "+-----+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "| ADDR0 | ADDR1 " + "|etype|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-----------------+-----------------" + "+-----+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " x%016lx x%016lx x%04x key\n", + l2ctx_key_info->ipv6.ADDR0[1], + l2ctx_key_info->ipv6.ADDR0[0], + l2ctx_key_info->ipv6.otl2_tl2_l2_etype); + snprintf(line5, TFC_STRING_LENGTH_256, " x%016lx x%016lx x%04x mask\n", + l2ctx_mask_info->ipv6.ADDR0[1], + l2ctx_mask_info->ipv6.ADDR0[0], + l2ctx_mask_info->ipv6.otl2_tl2_l2_etype); + } else { + snprintf(line1, TFC_STRING_LENGTH_256, "+----IPv4-----+----IPv4-----+--+---" + "+----+-----+----+-----+-----+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "| ADDR0 | ADDR1 |VT|2VT" + "|ovid|otpid|ivid|itpid|etype|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-------------+-------------+--+---" + "+----+-----+----+-----+-----+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " x%012lx x%012lx %01x %01x x%03x" + " %01x x%03x %01x x%04x key\n", + l2ctx_key_info->ipv4.ADDR0, + l2ctx_key_info->ipv4.ADDR1, + l2ctx_key_info->ipv4.otl2_tl2_l2_vtag_present, + l2ctx_key_info->ipv4.otl2_tl2_l2_two_vtags, + l2ctx_key_info->ipv4.otl2_tl2_l2_ovlan_vid, + l2ctx_key_info->ipv4.otl2_tl2_l2_ovlan_tpid_sel, + l2ctx_key_info->ipv4.otl2_tl2_l2_ivlan_vid, + l2ctx_key_info->ipv4.otl2_tl2_l2_ivlan_tpid_sel, + l2ctx_key_info->ipv4.otl2_tl2_l2_etype); + snprintf(line5, TFC_STRING_LENGTH_256, " x%012lx x%012lx %01x %01x x%03x" + " %01x x%03x %01x x%04x mask\n", + l2ctx_mask_info->ipv4.ADDR0, + l2ctx_mask_info->ipv4.ADDR1, + l2ctx_mask_info->ipv4.otl2_tl2_l2_vtag_present, + l2ctx_mask_info->ipv4.otl2_tl2_l2_two_vtags, + l2ctx_mask_info->ipv4.otl2_tl2_l2_ovlan_vid, + l2ctx_mask_info->ipv4.otl2_tl2_l2_ovlan_tpid_sel, + l2ctx_mask_info->ipv4.otl2_tl2_l2_ivlan_vid, + l2ctx_mask_info->ipv4.otl2_tl2_l2_ivlan_tpid_sel, + l2ctx_mask_info->ipv4.otl2_tl2_l2_etype); + } + fprintf(fd, "%s%s%s%s%s", + line1, + line2, + line3, + line5, + line4); + + fputs(":L2CTX TCAM: remap\n", fd); + snprintf(line1, TFC_STRING_LENGTH_256, "+---+----+----+----+---+---+-----+---" + "+-----+---------+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "|PIP|prif|PL2C| L2C|PPF|PRF|ctxop|mde" + "|mprof| metadata|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+---+----+----+----+---+---+-----+---" + "+-----+---------+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x x%02x %01x x%03x %01x x%02x" + " %01x %01x %01x x%08x\n", + l2ctx_rmp_info->prsv_parif, + l2ctx_rmp_info->parif, + l2ctx_rmp_info->prsv_l2ip_ctxt, + l2ctx_rmp_info->l2ip_ctxt, + l2ctx_rmp_info->prsv_prof_func, + l2ctx_rmp_info->prof_func, + l2ctx_rmp_info->ctxt_opcode, + l2ctx_rmp_info->l2ip_meta_enb, + l2ctx_rmp_info->l2ip_meta_prof, + l2ctx_rmp_info->l2ip_meta_data); + fprintf(fd, "%s%s%s%s", + line1, + line2, + line3, + line4); + + snprintf(line1, TFC_STRING_LENGTH_256, "+----+----+----+---------+----+-------" + "+----+--------+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "|acte|ahnt|ascp| act |rfse|rfsdata" + "|dste|dst_data|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+----+----+----+---------+----+-------" + "+----+--------+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x %01x x%02x x%08x %01x" + " x%03x %01x x%05x\n", + l2ctx_rmp_info->l2ip_act_enb, + l2ctx_rmp_info->l2ip_act_hint, + l2ctx_rmp_info->l2ip_act_scope, + l2ctx_rmp_info->l2ip_act_ptr, + l2ctx_rmp_info->l2ip_rfs_enb, + l2ctx_rmp_info->l2ip_rfs_data, + l2ctx_rmp_info->l2ip_dest_enb, + l2ctx_rmp_info->l2ip_dest_data); + fprintf(fd, "%s%s%s%s", + line1, + line2, + line3, + line4); + + act_show(fd, &l2ctx_rmp_info->act_info, l2ctx_rmp_info->l2ip_act_ptr << 5); + + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + rte_free(line5); +} + +#define PTKEY_INFO_VALID(kptr) tfc_getbits(kptr, 183, 1) +#define PTKEY_INFO_SPARE(kptr) tfc_getbits(kptr, 181, 2) +#define PTKEY_INFO_LOOPBACK(kptr) tfc_getbits(kptr, 180, 1) +#define PTKEY_INFO_PKT_TYPE(kptr) tfc_getbits(kptr, 176, 4) +#define PTKEY_INFO_RCYC(kptr) tfc_getbits(kptr, 172, 4) +#define PTKEY_INFO_METADATA(kptr) tfc_getbits(kptr, 140, 32) +#define PTKEY_INFO_AGG_ERROR(kptr) tfc_getbits(kptr, 139, 1) +#define PTKEY_INFO_L2IP_FUNC(kptr) tfc_getbits(kptr, 131, 8) +#define PTKEY_INFO_PROF_FUNC(kptr) tfc_getbits(kptr, 123, 8) +#define PTKEY_INFO_HREC_NEXT(kptr) tfc_getbits(kptr, 121, 2) +#define PTKEY_INFO_INT_HDR_TYPE(kptr) tfc_getbits(kptr, 119, 2) +#define PTKEY_INFO_INT_HDR_GROUP(kptr) tfc_getbits(kptr, 117, 2) +#define PTKEY_INFO_INT_IFA_TAIL(kptr) tfc_getbits(kptr, 116, 1) + +#define PTKEY_INFO_OTL2_HDR_VALID(kptr) tfc_getbits(kptr, 115, 1) +#define PTKEY_INFO_OTL2_HDR_TYPE(kptr) tfc_getbits(kptr, 113, 2) +#define PTKEY_INFO_OTL2_UC_MC_BC(kptr) tfc_getbits(kptr, 111, 2) +#define PTKEY_INFO_OTL2_VTAG_PRESENT(kptr) tfc_getbits(kptr, 110, 1) +#define PTKEY_INFO_OTL2_TWO_VTAGS(kptr) tfc_getbits(kptr, 109, 1) + +#define PTKEY_INFO_OTL3_HDR_VALID(kptr) tfc_getbits(kptr, 108, 1) +#define PTKEY_INFO_OTL3_HDR_ERROR(kptr) tfc_getbits(kptr, 107, 1) +#define PTKEY_INFO_OTL3_HDR_TYPE(kptr) tfc_getbits(kptr, 103, 4) +#define PTKEY_INFO_OTL3_HDR_ISIP(kptr) tfc_getbits(kptr, 102, 1) + +#define PTKEY_INFO_OTL4_HDR_VALID(kptr) tfc_getbits(kptr, 101, 1) +#define PTKEY_INFO_OTL4_HDR_ERROR(kptr) tfc_getbits(kptr, 100, 1) +#define PTKEY_INFO_OTL4_HDR_TYPE(kptr) tfc_getbits(kptr, 96, 4) +#define PTKEY_INFO_OTL4_HDR_IS_UDP_TCP(kptr) tfc_getbits(kptr, 95, 1) + +#define PTKEY_INFO_OT_HDR_VALID(kptr) tfc_getbits(kptr, 94, 1) +#define PTKEY_INFO_OT_HDR_ERROR(kptr) tfc_getbits(kptr, 93, 1) +#define PTKEY_INFO_OT_HDR_TYPE(kptr) tfc_getbits(kptr, 88, 5) +#define PTKEY_INFO_OT_HDR_FLAGS(kptr) tfc_getbits(kptr, 80, 8) + +#define PTKEY_INFO_TL2_HDR_VALID(kptr) tfc_getbits(kptr, 79, 1) +#define PTKEY_INFO_TL2_HDR_TYPE(kptr) tfc_getbits(kptr, 77, 2) +#define PTKEY_INFO_TL2_UC_MC_BC(kptr) tfc_getbits(kptr, 75, 2) +#define PTKEY_INFO_TL2_VTAG_PRESENT(kptr) tfc_getbits(kptr, 74, 1) +#define PTKEY_INFO_TL2_TWO_VTAGS(kptr) tfc_getbits(kptr, 73, 1) + +#define PTKEY_INFO_TL3_HDR_VALID(kptr) tfc_getbits(kptr, 72, 1) +#define PTKEY_INFO_TL3_HDR_ERROR(kptr) tfc_getbits(kptr, 71, 1) +#define PTKEY_INFO_TL3_HDR_TYPE(kptr) tfc_getbits(kptr, 67, 4) +#define PTKEY_INFO_TL3_HDR_ISIP(kptr) tfc_getbits(kptr, 66, 1) + +#define PTKEY_INFO_TL4_HDR_VALID(kptr) tfc_getbits(kptr, 65, 1) +#define PTKEY_INFO_TL4_HDR_ERROR(kptr) tfc_getbits(kptr, 64, 1) +#define PTKEY_INFO_TL4_HDR_TYPE(kptr) tfc_getbits(kptr, 60, 4) +#define PTKEY_INFO_TL4_HDR_IS_UDP_TCP(kptr) tfc_getbits(kptr, 59, 1) + +#define PTKEY_INFO_T_HDR_VALID(kptr) tfc_getbits(kptr, 58, 1) +#define PTKEY_INFO_T_HDR_ERROR(kptr) tfc_getbits(kptr, 57, 1) +#define PTKEY_INFO_T_HDR_TYPE(kptr) tfc_getbits(kptr, 52, 5) +#define PTKEY_INFO_T_HDR_FLAGS(kptr) tfc_getbits(kptr, 44, 8) + +#define PTKEY_INFO_L2_HDR_VALID(kptr) tfc_getbits(kptr, 43, 1) +#define PTKEY_INFO_L2_HDR_ERROR(kptr) tfc_getbits(kptr, 42, 1) +#define PTKEY_INFO_L2_HDR_TYPE(kptr) tfc_getbits(kptr, 40, 2) +#define PTKEY_INFO_L2_UC_MC_BC(kptr) tfc_getbits(kptr, 38, 2) +#define PTKEY_INFO_L2_VTAG_PRESENT(kptr) tfc_getbits(kptr, 37, 1) +#define PTKEY_INFO_L2_TWO_VTAGS(kptr) tfc_getbits(kptr, 36, 1) + +#define PTKEY_INFO_L3_HDR_VALID(kptr) tfc_getbits(kptr, 35, 1) +#define PTKEY_INFO_L3_HDR_ERROR(kptr) tfc_getbits(kptr, 34, 1) +#define PTKEY_INFO_L3_HDR_TYPE(kptr) tfc_getbits(kptr, 30, 4) +#define PTKEY_INFO_L3_HDR_ISIP(kptr) tfc_getbits(kptr, 29, 1) +#define PTKEY_INFO_L3_PROTOCOL(kptr) tfc_getbits(kptr, 21, 8) + +#define PTKEY_INFO_L4_HDR_VALID(kptr) tfc_getbits(kptr, 20, 1) +#define PTKEY_INFO_L4_HDR_ERROR(kptr) tfc_getbits(kptr, 19, 1) +#define PTKEY_INFO_L4_HDR_TYPE(kptr) tfc_getbits(kptr, 15, 4) +#define PTKEY_INFO_L4_HDR_IS_UDP_TCP(kptr) tfc_getbits(kptr, 14, 1) +#define PTKEY_INFO_L4_HDR_SUBTYPE(kptr) tfc_getbits(kptr, 11, 3) +#define PTKEY_INFO_L4_FLAGS(kptr) tfc_getbits(kptr, 2, 9) +#define PTKEY_INFO_L4_DCN_PRESENT(kptr) tfc_getbits(kptr, 0, 2) + +static void prof_tcam_key_decode(uint32_t *ptc_key_ptr, + struct prof_tcam_key_t *ptkey_info) +{ + ptkey_info->valid = PTKEY_INFO_VALID(ptc_key_ptr); + ptkey_info->spare = PTKEY_INFO_SPARE(ptc_key_ptr); + ptkey_info->loopback = PTKEY_INFO_LOOPBACK(ptc_key_ptr); + ptkey_info->pkt_type = PTKEY_INFO_PKT_TYPE(ptc_key_ptr); + ptkey_info->rcyc = PTKEY_INFO_RCYC(ptc_key_ptr); + ptkey_info->metadata = PTKEY_INFO_METADATA(ptc_key_ptr); + ptkey_info->agg_error = PTKEY_INFO_AGG_ERROR(ptc_key_ptr); + ptkey_info->l2ip_func = PTKEY_INFO_L2IP_FUNC(ptc_key_ptr); + ptkey_info->prof_func = PTKEY_INFO_PROF_FUNC(ptc_key_ptr); + ptkey_info->hrec_next = PTKEY_INFO_HREC_NEXT(ptc_key_ptr); + ptkey_info->int_hdr_type = PTKEY_INFO_INT_HDR_TYPE(ptc_key_ptr); + ptkey_info->int_hdr_group = PTKEY_INFO_INT_HDR_GROUP(ptc_key_ptr); + ptkey_info->int_ifa_tail = PTKEY_INFO_INT_IFA_TAIL(ptc_key_ptr); + + ptkey_info->otl2_hdr_valid = PTKEY_INFO_OTL2_HDR_VALID(ptc_key_ptr); + ptkey_info->otl2_hdr_type = PTKEY_INFO_OTL2_HDR_TYPE(ptc_key_ptr); + ptkey_info->otl2_uc_mc_bc = PTKEY_INFO_OTL2_UC_MC_BC(ptc_key_ptr); + ptkey_info->otl2_vtag_present = PTKEY_INFO_OTL2_VTAG_PRESENT(ptc_key_ptr); + ptkey_info->otl2_two_vtags = PTKEY_INFO_OTL2_TWO_VTAGS(ptc_key_ptr); + + ptkey_info->otl3_hdr_valid = PTKEY_INFO_OTL3_HDR_VALID(ptc_key_ptr); + ptkey_info->otl3_hdr_error = PTKEY_INFO_OTL3_HDR_ERROR(ptc_key_ptr); + ptkey_info->otl3_hdr_type = PTKEY_INFO_OTL3_HDR_TYPE(ptc_key_ptr); + ptkey_info->otl3_hdr_isip = PTKEY_INFO_OTL3_HDR_ISIP(ptc_key_ptr); + + ptkey_info->otl4_hdr_valid = PTKEY_INFO_OTL4_HDR_VALID(ptc_key_ptr); + ptkey_info->otl4_hdr_error = PTKEY_INFO_OTL4_HDR_ERROR(ptc_key_ptr); + ptkey_info->otl4_hdr_type = PTKEY_INFO_OTL4_HDR_TYPE(ptc_key_ptr); + ptkey_info->otl4_hdr_is_udp_tcp = PTKEY_INFO_OTL4_HDR_IS_UDP_TCP(ptc_key_ptr); + + ptkey_info->ot_hdr_valid = PTKEY_INFO_OT_HDR_VALID(ptc_key_ptr); + ptkey_info->ot_hdr_error = PTKEY_INFO_OT_HDR_ERROR(ptc_key_ptr); + ptkey_info->ot_hdr_type = PTKEY_INFO_OT_HDR_TYPE(ptc_key_ptr); + ptkey_info->ot_hdr_flags = PTKEY_INFO_OT_HDR_FLAGS(ptc_key_ptr); + + ptkey_info->tl2_hdr_valid = PTKEY_INFO_TL2_HDR_VALID(ptc_key_ptr); + ptkey_info->tl2_hdr_type = PTKEY_INFO_TL2_HDR_TYPE(ptc_key_ptr); + ptkey_info->tl2_uc_mc_bc = PTKEY_INFO_TL2_UC_MC_BC(ptc_key_ptr); + ptkey_info->tl2_vtag_present = PTKEY_INFO_TL2_VTAG_PRESENT(ptc_key_ptr); + ptkey_info->tl2_two_vtags = PTKEY_INFO_TL2_TWO_VTAGS(ptc_key_ptr); + + ptkey_info->tl3_hdr_valid = PTKEY_INFO_TL3_HDR_VALID(ptc_key_ptr); + ptkey_info->tl3_hdr_error = PTKEY_INFO_TL3_HDR_ERROR(ptc_key_ptr); + ptkey_info->tl3_hdr_type = PTKEY_INFO_TL3_HDR_TYPE(ptc_key_ptr); + ptkey_info->tl3_hdr_isip = PTKEY_INFO_TL3_HDR_ISIP(ptc_key_ptr); + + ptkey_info->tl4_hdr_valid = PTKEY_INFO_TL4_HDR_VALID(ptc_key_ptr); + ptkey_info->tl4_hdr_error = PTKEY_INFO_TL4_HDR_ERROR(ptc_key_ptr); + ptkey_info->tl4_hdr_type = PTKEY_INFO_TL4_HDR_TYPE(ptc_key_ptr); + ptkey_info->tl4_hdr_is_udp_tcp = PTKEY_INFO_TL4_HDR_IS_UDP_TCP(ptc_key_ptr); + + ptkey_info->t_hdr_valid = PTKEY_INFO_T_HDR_VALID(ptc_key_ptr); + ptkey_info->t_hdr_error = PTKEY_INFO_T_HDR_ERROR(ptc_key_ptr); + ptkey_info->t_hdr_type = PTKEY_INFO_T_HDR_TYPE(ptc_key_ptr); + ptkey_info->t_hdr_flags = PTKEY_INFO_T_HDR_FLAGS(ptc_key_ptr); + + ptkey_info->l2_hdr_valid = PTKEY_INFO_L2_HDR_VALID(ptc_key_ptr); + ptkey_info->l2_hdr_error = PTKEY_INFO_L2_HDR_ERROR(ptc_key_ptr); + ptkey_info->l2_hdr_type = PTKEY_INFO_L2_HDR_TYPE(ptc_key_ptr); + ptkey_info->l2_uc_mc_bc = PTKEY_INFO_L2_UC_MC_BC(ptc_key_ptr); + ptkey_info->l2_vtag_present = PTKEY_INFO_L2_VTAG_PRESENT(ptc_key_ptr); + ptkey_info->l2_two_vtags = PTKEY_INFO_L2_TWO_VTAGS(ptc_key_ptr); + + ptkey_info->l3_hdr_valid = PTKEY_INFO_L3_HDR_VALID(ptc_key_ptr); + ptkey_info->l3_hdr_error = PTKEY_INFO_L3_HDR_ERROR(ptc_key_ptr); + ptkey_info->l3_hdr_type = PTKEY_INFO_L3_HDR_TYPE(ptc_key_ptr); + ptkey_info->l3_hdr_isip = PTKEY_INFO_L3_HDR_ISIP(ptc_key_ptr); + ptkey_info->l3_protocol = PTKEY_INFO_L3_PROTOCOL(ptc_key_ptr); + + ptkey_info->l4_hdr_valid = PTKEY_INFO_L4_HDR_VALID(ptc_key_ptr); + ptkey_info->l4_hdr_error = PTKEY_INFO_L4_HDR_ERROR(ptc_key_ptr); + ptkey_info->l4_hdr_type = PTKEY_INFO_L4_HDR_TYPE(ptc_key_ptr); + ptkey_info->l4_hdr_is_udp_tcp = PTKEY_INFO_L4_HDR_IS_UDP_TCP(ptc_key_ptr); + ptkey_info->l4_hdr_subtype = PTKEY_INFO_L4_HDR_SUBTYPE(ptc_key_ptr); + ptkey_info->l4_flags = PTKEY_INFO_L4_FLAGS(ptc_key_ptr); + ptkey_info->l4_dcn_present = PTKEY_INFO_L4_DCN_PRESENT(ptc_key_ptr); +} + +#define PTRMP_INFO_PL_BYP_LKUP_EN(kptr) tfc_getbits(ptc_rmp_ptr, 42, 1) +#define PTRMP_INFO_EM_SEARCH_EN(kptr) tfc_getbits(ptc_rmp_ptr, 41, 1) +#define PTRMP_INFO_EM_PROFILE_ID(kptr) tfc_getbits(ptc_rmp_ptr, 33, 8) +#define PTRMP_INFO_EM_KEY_ID(kptr) tfc_getbits(ptc_rmp_ptr, 26, 7) +#define PTRMP_INFO_EM_SCOPE(kptr) tfc_getbits(ptc_rmp_ptr, 21, 5) +#define PTRMP_INFO_TCAM_SEARCH_EN(kptr) tfc_getbits(ptc_rmp_ptr, 20, 1) +#define PTRMP_INFO_TCAM_PROFILE_ID(kptr) tfc_getbits(ptc_rmp_ptr, 12, 8) +#define PTRMP_INFO_TCAM_KEY_ID(kptr) tfc_getbits(ptc_rmp_ptr, 5, 7) +#define PTRMP_INFO_TCAM_SCOPE(kptr) tfc_getbits(ptc_rmp_ptr, 0, 5) + +static void prof_tcam_remap_decode(uint32_t *ptc_rmp_ptr, + struct prof_tcam_remap_t *ptrmp_info) +{ + ptrmp_info->pl_byp_lkup_en = PTRMP_INFO_PL_BYP_LKUP_EN(ptc_rmp_ptr) ? true : false; + ptrmp_info->em_search_en = PTRMP_INFO_EM_SEARCH_EN(ptc_rmp_ptr) ? true : false; + ptrmp_info->em_profile_id = PTRMP_INFO_EM_PROFILE_ID(ptc_rmp_ptr); + ptrmp_info->em_key_id = PTRMP_INFO_EM_KEY_ID(ptc_rmp_ptr); + ptrmp_info->em_scope = PTRMP_INFO_EM_SCOPE(ptc_rmp_ptr); + ptrmp_info->tcam_search_en = PTRMP_INFO_TCAM_SEARCH_EN(ptc_rmp_ptr) ? true : false; + ptrmp_info->tcam_profile_id = PTRMP_INFO_TCAM_PROFILE_ID(ptc_rmp_ptr); + ptrmp_info->tcam_key_id = PTRMP_INFO_TCAM_KEY_ID(ptc_rmp_ptr); + ptrmp_info->tcam_scope = PTRMP_INFO_TCAM_SCOPE(ptc_rmp_ptr); +} + +static void prof_tcam_show(FILE *fd, + struct prof_tcam_key_t *ptkey_info, + struct prof_tcam_key_t *ptmask_info, + struct prof_tcam_remap_t *ptrmp_info) +{ + char tmph[TFC_STRING_LENGTH_64]; + char tmp1[TFC_STRING_LENGTH_64]; + char tmp2[TFC_STRING_LENGTH_64]; + char tmp3[TFC_STRING_LENGTH_64]; + char tmp4[TFC_STRING_LENGTH_64]; + char tmp5[TFC_STRING_LENGTH_64]; + char *lineh = NULL; + char *line1 = NULL; + char *line2 = NULL; + char *line3 = NULL; + char *line4 = NULL; + char *line5 = NULL; + + lineh = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line1 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line2 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line3 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line4 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line5 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + if (!lineh || !line1 || !line2 || !line3 || !line4 || !line5) { + rte_free(lineh); + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + rte_free(line5); + fprintf(fd, "%s: Failed to allocate temp buffer\n", + __func__); + return; + } + + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+----+----+----+---------+------" + "+--------+-------+-----+---+---+---+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "|V|Sp|lpbk|ptyp|rcyc| MD |aggerr" + "|l2ipfunc|profunc|hrnxt|IHT|IHG|IIT|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+----+----+----+---------+------" + "+--------+-------+-----+---+---+---+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x x%01x %01x x%01x x%01x x%08x" + " %01x x%02x x%02x x%01x x%01x x%01x %01x key\n", + ptkey_info->valid, + ptkey_info->spare, + ptkey_info->loopback, + ptkey_info->pkt_type, + ptkey_info->rcyc, + ptkey_info->metadata, + ptkey_info->agg_error, + ptkey_info->l2ip_func, + ptkey_info->prof_func, + ptkey_info->hrec_next, + ptkey_info->int_hdr_type, + ptkey_info->int_hdr_group, + ptkey_info->int_ifa_tail); + snprintf(line5, TFC_STRING_LENGTH_256, " %01x x%01x %01x x%01x x%01x x%08x" + " %01x x%02x x%02x x%01x x%01x x%01x %01x mask\n", + ptmask_info->valid, + ptmask_info->spare, + ptmask_info->loopback, + ptmask_info->pkt_type, + ptmask_info->rcyc, + ptmask_info->metadata, + ptmask_info->agg_error, + ptmask_info->l2ip_func, + ptmask_info->prof_func, + ptmask_info->hrec_next, + ptmask_info->int_hdr_type, + ptmask_info->int_hdr_group, + ptmask_info->int_ifa_tail); + fprintf(fd, "%s%s%s%s%s", + line1, + line2, + line3, + line5, + line4); + + snprintf(lineh, TFC_STRING_LENGTH_256, "|OTL2 hdr |"); + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line2, TFC_STRING_LENGTH_256, "|V|HT|UMB|VT|2VT|"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptkey_info->otl2_hdr_valid, + ptkey_info->otl2_hdr_type, + ptkey_info->otl2_uc_mc_bc, + ptkey_info->otl2_vtag_present, + ptkey_info->otl2_two_vtags); + snprintf(line5, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptmask_info->otl2_hdr_valid, + ptmask_info->otl2_hdr_type, + ptmask_info->otl2_uc_mc_bc, + ptmask_info->otl2_vtag_present, + ptmask_info->otl2_two_vtags); + + snprintf(tmph, TFC_STRING_LENGTH_64, "OTL3 hdr |"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x ", + ptkey_info->otl3_hdr_valid, + ptkey_info->otl3_hdr_error, + ptkey_info->otl3_hdr_type, + ptkey_info->otl3_hdr_isip); + snprintf(tmp5, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x ", + ptmask_info->otl3_hdr_valid, + ptmask_info->otl3_hdr_error, + ptmask_info->otl3_hdr_type, + ptmask_info->otl3_hdr_isip); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + snprintf(tmph, TFC_STRING_LENGTH_64, "OTL4 hdr |"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x ", + ptkey_info->otl4_hdr_valid, + ptkey_info->otl4_hdr_error, + ptkey_info->otl4_hdr_type, + ptkey_info->otl4_hdr_is_udp_tcp); + snprintf(tmp5, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x ", + ptmask_info->otl4_hdr_valid, + ptmask_info->otl4_hdr_error, + ptmask_info->otl4_hdr_type, + ptmask_info->otl4_hdr_is_udp_tcp); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + snprintf(tmph, TFC_STRING_LENGTH_64, "OT hdr |\n"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+---+---+\n"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE| HT|flg|\n"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+---+---+\n"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%01x %01x x%02x x%02x key\n", + ptkey_info->ot_hdr_valid, + ptkey_info->ot_hdr_error, + ptkey_info->ot_hdr_type, + ptkey_info->ot_hdr_flags); + snprintf(tmp5, TFC_STRING_LENGTH_64, "%01x %01x x%02x x%02x mask\n", + ptmask_info->ot_hdr_valid, + ptmask_info->ot_hdr_error, + ptmask_info->ot_hdr_type, + ptmask_info->ot_hdr_flags); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + fprintf(fd, "%s%s%s%s%s%s", + lineh, + line1, + line2, + line3, + line5, + line4); + + snprintf(lineh, TFC_STRING_LENGTH_256, "|TL2 hdr |"); + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line2, TFC_STRING_LENGTH_256, "|V|HT|UMB|VT|2VT|"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptkey_info->tl2_hdr_valid, + ptkey_info->tl2_hdr_type, + ptkey_info->tl2_uc_mc_bc, + ptkey_info->tl2_vtag_present, + ptkey_info->tl2_two_vtags); + snprintf(line5, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptmask_info->tl2_hdr_valid, + ptmask_info->tl2_hdr_type, + ptmask_info->tl2_uc_mc_bc, + ptmask_info->tl2_vtag_present, + ptmask_info->tl2_two_vtags); + + snprintf(tmph, TFC_STRING_LENGTH_64, "TL3 hdr |"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x ", + ptkey_info->tl3_hdr_valid, + ptkey_info->tl3_hdr_error, + ptkey_info->tl3_hdr_type, + ptkey_info->tl3_hdr_isip); + snprintf(tmp5, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x ", + ptmask_info->tl3_hdr_valid, + ptmask_info->tl3_hdr_error, + ptmask_info->tl3_hdr_type, + ptmask_info->tl3_hdr_isip); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + snprintf(tmph, TFC_STRING_LENGTH_64, "TL4 hdr |"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x ", + ptkey_info->tl4_hdr_valid, + ptkey_info->tl4_hdr_error, + ptkey_info->tl4_hdr_type, + ptkey_info->tl4_hdr_is_udp_tcp); + snprintf(tmp5, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x ", + ptmask_info->tl4_hdr_valid, + ptmask_info->tl4_hdr_error, + ptmask_info->tl4_hdr_type, + ptmask_info->tl4_hdr_is_udp_tcp); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + snprintf(tmph, TFC_STRING_LENGTH_64, "T hdr |\n"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+---+---+\n"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE| HT|flg|\n"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+---+---+\n"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%01x %01x x%02x x%02x key\n", + ptkey_info->t_hdr_valid, + ptkey_info->t_hdr_error, + ptkey_info->t_hdr_type, + ptkey_info->t_hdr_flags); + snprintf(tmp5, TFC_STRING_LENGTH_64, "%01x %01x x%02x x%02x mask\n", + ptmask_info->t_hdr_valid, + ptmask_info->t_hdr_error, + ptmask_info->t_hdr_type, + ptmask_info->t_hdr_flags); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + fprintf(fd, "%s%s%s%s%s%s", + lineh, + line1, + line2, + line3, + line5, + line4); + + snprintf(lineh, TFC_STRING_LENGTH_256, "|L2 hdr |"); + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line2, TFC_STRING_LENGTH_256, "|V|HT|UMB|VT|2VT|"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptkey_info->l2_hdr_valid, + ptkey_info->l2_hdr_type, + ptkey_info->l2_uc_mc_bc, + ptkey_info->l2_vtag_present, + ptkey_info->l2_two_vtags); + snprintf(line5, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptmask_info->l2_hdr_valid, + ptmask_info->l2_hdr_type, + ptmask_info->l2_uc_mc_bc, + ptmask_info->l2_vtag_present, + ptmask_info->l2_two_vtags); + + snprintf(tmph, TFC_STRING_LENGTH_64, "L3 hdr |"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+----+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|prot|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+----+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x x%02x ", + ptkey_info->l3_hdr_valid, + ptkey_info->l3_hdr_error, + ptkey_info->l3_hdr_type, + ptkey_info->l3_hdr_isip, + ptkey_info->l3_protocol); + snprintf(tmp5, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x x%02x ", + ptmask_info->l3_hdr_valid, + ptmask_info->l3_hdr_error, + ptmask_info->l3_hdr_type, + ptmask_info->l3_hdr_isip, + ptmask_info->l3_protocol); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + snprintf(tmph, TFC_STRING_LENGTH_64, "L4 hdr |\n"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+---+----+---+\n"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|HST|flgs|DCN|\n"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+---+----+---+\n"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x x%01x x%03x x%01x key\n", + ptkey_info->l4_hdr_valid, + ptkey_info->l4_hdr_error, + ptkey_info->l4_hdr_type, + ptkey_info->l4_hdr_is_udp_tcp, + ptkey_info->l4_hdr_subtype, + ptkey_info->l4_flags, + ptkey_info->l4_dcn_present); + snprintf(tmp5, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x x%01x x%03x x%01x mask\n", + ptmask_info->l4_hdr_valid, + ptmask_info->l4_hdr_error, + ptmask_info->l4_hdr_type, + ptmask_info->l4_hdr_is_udp_tcp, + ptmask_info->l4_hdr_subtype, + ptmask_info->l4_flags, + ptmask_info->l4_dcn_present); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + fprintf(fd, "%s%s%s%s%s%s", + lineh, + line1, + line2, + line3, + line5, + line4); + + fputs("\n:Profile TCAM: remap\n", fd); + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+---+---+---+--+---+---+---+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "|B|EM|PID|KId|Scp|WC|PID|KId|Scp|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+---+---+---+--+---+---+---+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " %c %c x%02x x%02x x%02x %c x%02x x%02x x%02x\n", + ptrmp_info->pl_byp_lkup_en ? 'Y' : 'N', + ptrmp_info->em_search_en ? 'Y' : 'N', + ptrmp_info->em_profile_id, + ptrmp_info->em_key_id, + ptrmp_info->em_scope, + ptrmp_info->tcam_search_en ? 'Y' : 'N', + ptrmp_info->tcam_profile_id, + ptrmp_info->tcam_key_id, + ptrmp_info->tcam_scope); + + fprintf(fd, "%s%s%s%s", + line1, + line2, + line3, + line4); + + rte_free(lineh); + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + rte_free(line5); +} + +/* Offset all WC LREC fields by -24 as per CFA EAS */ +#define WC_INFO_VALID(kptr) tfc_getbits(kptr, (127 - 24), 1) +#define WC_INFO_REC_SIZE(kptr) tfc_getbits(kptr, (125 - 24), 2) +#define WC_INFO_EPOCH0(kptr) tfc_getbits(kptr, (113 - 24), 12) +#define WC_INFO_EPOCH1(kptr) tfc_getbits(kptr, (107 - 24), 6) +#define WC_INFO_OPCODE(kptr) tfc_getbits(kptr, (103 - 24), 4) +#define WC_INFO_STRENGTH(kptr) tfc_getbits(kptr, (101 - 24), 2) +#define WC_INFO_ACT_HINT(kptr) tfc_getbits(kptr, (99 - 24), 2) + +#define WC_INFO_ACT_REC_PTR(kptr) tfc_getbits(kptr, (73 - 24), 26) + +#define WC_INFO_DESTINATION(kptr) tfc_getbits(kptr, (73 - 24), 17) + +#define WC_INFO_TCP_DIRECTION(kptr) tfc_getbits(kptr, (72 - 24), 1) +#define WC_INFO_TCP_UPDATE_EN(kptr) tfc_getbits(kptr, (71 - 24), 1) +#define WC_INFO_TCP_WIN(kptr) tfc_getbits(kptr, (66 - 24), 5) +#define WC_INFO_TCP_MSB_LOC(kptr) tfc_getbits(kptr, (48 - 24), 18) +#define WC_INFO_TCP_MSB_OPP(kptr) tfc_getbits(kptr, (30 - 24), 18) +#define WC_INFO_TCP_MSB_OPP_INIT(kptr) tfc_getbits(kptr, (29 - 24), 1) +#define WC_INFO_STATE(kptr) tfc_getbits(kptr, (24 - 24), 5) + +#define WC_INFO_RING_TABLE_IDX(kptr) tfc_getbits(kptr, (64 - 24), 9) +#define WC_INFO_ACT_REC_SIZE(kptr) tfc_getbits(kptr, (59 - 24), 5) +#define WC_INFO_PATHS_M1(kptr) tfc_getbits(kptr, (55 - 24), 4) +#define WC_INFO_FC_OP(kptr) tfc_getbits(kptr, (54 - 24), 1) +#define WC_INFO_FC_TYPE(kptr) tfc_getbits(kptr, (52 - 24), 2) +#define WC_INFO_FC_PTR(kptr) tfc_getbits(kptr, (24 - 24), 28) + +#define WC_INFO_RECYCLE_DEST(kptr) tfc_getbits(kptr, (72 - 24), 1) +#define WC_INFO_PROF_FUNC(kptr) tfc_getbits(kptr, (64 - 24), 8) +#define WC_INFO_META_PROF(kptr) tfc_getbits(kptr, (61 - 24), 3) +#define WC_INFO_METADATA(kptr) tfc_getbits(kptr, (29 - 24), 32) + +static void wc_tcam_decode(uint32_t *wc_res_ptr, + struct wc_lrec_t *wc_info, + struct tfc_ts_mem_cfg *act_mem_cfg) +{ + wc_info->valid = WC_INFO_VALID(wc_res_ptr); + wc_info->rec_size = WC_INFO_REC_SIZE(wc_res_ptr); + wc_info->epoch0 = WC_INFO_EPOCH0(wc_res_ptr); + wc_info->epoch1 = WC_INFO_EPOCH1(wc_res_ptr); + wc_info->opcode = WC_INFO_OPCODE(wc_res_ptr); + wc_info->strength = WC_INFO_STRENGTH(wc_res_ptr); + wc_info->act_hint = WC_INFO_ACT_HINT(wc_res_ptr); + + if (wc_info->opcode != 2 && wc_info->opcode != 3) { + /* All but FAST */ + wc_info->act_rec_ptr = WC_INFO_ACT_REC_PTR(wc_res_ptr); + act_process(wc_info->act_rec_ptr, &wc_info->act_info, act_mem_cfg); + } else { + /* Just FAST */ + wc_info->destination = WC_INFO_DESTINATION(wc_res_ptr); + } + + if (wc_info->opcode == 4 || wc_info->opcode == 6) { + /* CT only */ + wc_info->tcp_direction = WC_INFO_TCP_DIRECTION(wc_res_ptr); + wc_info->tcp_update_en = WC_INFO_TCP_UPDATE_EN(wc_res_ptr); + wc_info->tcp_win = WC_INFO_TCP_WIN(wc_res_ptr); + wc_info->tcp_msb_loc = WC_INFO_TCP_MSB_LOC(wc_res_ptr); + wc_info->tcp_msb_opp = WC_INFO_TCP_MSB_OPP(wc_res_ptr); + wc_info->tcp_msb_opp_init = WC_INFO_TCP_MSB_OPP_INIT(wc_res_ptr); + wc_info->state = WC_INFO_STATE(wc_res_ptr); + } else if (wc_info->opcode != 8) { + /* Not CT and nor RECYCLE */ + wc_info->ring_table_idx = WC_INFO_RING_TABLE_IDX(wc_res_ptr); + wc_info->act_rec_size = WC_INFO_ACT_REC_SIZE(wc_res_ptr); + wc_info->paths_m1 = WC_INFO_PATHS_M1(wc_res_ptr); + wc_info->fc_op = WC_INFO_FC_OP(wc_res_ptr); + wc_info->fc_type = WC_INFO_FC_TYPE(wc_res_ptr); + wc_info->fc_ptr = WC_INFO_FC_PTR(wc_res_ptr); + } else { + /* Recycle */ + wc_info->recycle_dest = WC_INFO_RECYCLE_DEST(wc_res_ptr); + wc_info->prof_func = WC_INFO_PROF_FUNC(wc_res_ptr); + wc_info->meta_prof = WC_INFO_META_PROF(wc_res_ptr); + wc_info->metadata = WC_INFO_METADATA(wc_res_ptr); + } +} + +static void wc_tcam_show(FILE *fd, struct wc_lrec_t *wc_info) +{ + char *line1 = NULL; + char *line2 = NULL; + char *line3 = NULL; + char *line4 = NULL; + char tmp1[TFC_STRING_LENGTH_64]; + char tmp2[TFC_STRING_LENGTH_64]; + char tmp3[TFC_STRING_LENGTH_64]; + char tmp4[TFC_STRING_LENGTH_64]; + + line1 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line2 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line3 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line4 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + if (!line1 || !line2 || !line3 || !line4) { + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + fprintf(fd, "%s: Failed to allocate temp buffer\n", + __func__); + return; + } + + fprintf(fd, ":LREC: opcode:%s\n", get_lrec_opcode_str(wc_info->opcode)); + + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+-Epoch-+--+--+--+"); + snprintf(line2, TFC_STRING_LENGTH_256, " V|rs| 0 1 |Op|St|ah|"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+----+--+--+--+--+"); + snprintf(line4, TFC_STRING_LENGTH_256, " %1d %2d %4d %2d %2d %2d %2d ", + wc_info->valid, + wc_info->rec_size, + wc_info->epoch0, + wc_info->epoch1, + wc_info->opcode, + wc_info->strength, + wc_info->act_hint); + + if (wc_info->opcode != 2 && wc_info->opcode != 3) { + /* All but FAST */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "-Act Rec--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, " Ptr |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "----------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x%08x ", + wc_info->act_rec_ptr); + } else { + /* Just FAST */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "-------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, " Dest |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x05%x ", + wc_info->destination); + } + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + if (wc_info->opcode == 4 || wc_info->opcode == 6) { + /* CT only */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+-------------TCP-------+--+---+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "Dr|ue| Win| lc | op |oi|st|tmr|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+----+-------+-------+--+--+---+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d %2d %4d %0x5x %0x5x %2d %2d %3d ", + wc_info->tcp_direction, + wc_info->tcp_update_en, + wc_info->tcp_win, + wc_info->tcp_msb_loc, + wc_info->tcp_msb_opp, + wc_info->tcp_msb_opp_init, + wc_info->state, + wc_info->timer_value); + } else if (wc_info->opcode != 8) { + /* Not CT and nor RECYCLE */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+--+-------FC-------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "RI|as|pm|op|tp| Ptr |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+--+--+--+----------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d %2d %2d %2d %2d 0x%08x ", + wc_info->ring_table_idx, + wc_info->act_rec_size, + wc_info->paths_m1, + wc_info->fc_op, + wc_info->fc_type, + wc_info->fc_ptr); + } else { + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+--+---------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "RD|pf|mp| cMData |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+--+---------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d 0x%2x %2d %08x ", + wc_info->recycle_dest, + wc_info->prof_func, + wc_info->meta_prof, + wc_info->metadata); + } + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + snprintf(tmp1, TFC_STRING_LENGTH_64, "-----Range-+\n"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "Prof| Idx |\n"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "----+------+\n"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x%02x 0x%04x\n", + wc_info->range_profile, + wc_info->range_index); + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + fprintf(fd, "%s%s%s%s", + line1, + line2, + line3, + line4); + + if (wc_info->opcode != 2 && wc_info->opcode != 3) + act_show(fd, &wc_info->act_info, wc_info->act_rec_ptr << 5); + + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); +} + +static int tfc_tcam_process(struct ulp_flow_db_res_params *rp, + void *frp_ctxt) +{ + struct wc_frp_context *wc_frp = (struct wc_frp_context *)frp_ctxt; + struct l2ctx_tcam_key_t *l2ctx_key_info, *l2ctx_mask_info; + struct prof_tcam_key_t *ptkey_info, *ptmask_info; + struct l2ctx_tcam_remap_t *l2ctx_rmp_info; + struct prof_tcam_remap_t *ptrmp_info; + FILE *fd = wc_frp->fd; + struct wc_lrec_t *wc_lrec; + uint8_t *key, *mask, *remap; + uint16_t key_sz = 128, remap_sz = 128; + int rc = -ENOMEM; + + /* Allocate all temp storage */ + wc_lrec = rte_zmalloc("data", sizeof(*wc_lrec), 8); + l2ctx_key_info = rte_zmalloc("data", sizeof(*l2ctx_key_info), 8); + l2ctx_mask_info = rte_zmalloc("data", sizeof(*l2ctx_mask_info), 8); + l2ctx_rmp_info = rte_zmalloc("data", sizeof(*l2ctx_rmp_info), 8); + ptkey_info = rte_zmalloc("data", sizeof(*ptkey_info), 8); + ptmask_info = rte_zmalloc("data", sizeof(*ptmask_info), 8); + ptrmp_info = rte_zmalloc("data", sizeof(*ptrmp_info), 8); + key = rte_zmalloc("data", key_sz, 8); + mask = rte_zmalloc("data", key_sz, 8); + remap = rte_zmalloc("data", remap_sz, 8); + + if (!wc_lrec || !l2ctx_key_info || !l2ctx_mask_info || + !l2ctx_rmp_info || !ptkey_info || !ptmask_info || + !ptrmp_info || !key || !mask || !remap) { + fputs("Out of memory:\n", fd); + fprintf(fd, "%p:%p:%p\n", wc_lrec, l2ctx_key_info, l2ctx_mask_info); + fprintf(fd, "%p:%p:%p\n", l2ctx_rmp_info, ptkey_info, ptmask_info); + fprintf(fd, "%p:%p:%p:%p\n", ptrmp_info, key, mask, remap); + goto tcam_process_error; + } + + rc = tfc_tcam_entry_read(wc_frp->ulp_ctxt, + rp->direction, + rp->resource_type, + rp->resource_hndl, + key, + mask, + remap, + &key_sz, + &remap_sz); + if (rc) { + fprintf(fd, "TCAM read error rc[%d]\n", rc); + rc = -EINVAL; + goto tcam_process_error; + } + + /* + * Decode result, and extract act_ptr, only for L2 ctx or WC TCAM + * entries + */ + switch (rp->resource_type) { + case CFA_RSUBTYPE_TCAM_L2CTX: + fprintf(fd, "\n:L2CTX TCAM [%u]:\n", (uint16_t)rp->resource_hndl); + hex_buf_dump(fd, "Key:", key, (int)key_sz, 1, 16); + hex_buf_dump(fd, "Mask:", mask, (int)key_sz, 1, 16); + l2ctx_tcam_key_decode((uint32_t *)key, l2ctx_key_info); + l2ctx_tcam_key_decode((uint32_t *)mask, l2ctx_mask_info); + l2ctx_tcam_remap_decode((uint32_t *)remap, + l2ctx_rmp_info, wc_frp->act_mem_cfg); + l2ctx_tcam_show(fd, l2ctx_key_info, l2ctx_mask_info, l2ctx_rmp_info); + break; + + case CFA_RSUBTYPE_TCAM_WC: + fprintf(fd, "\n:WC TCAM [%u]:\n", (uint16_t)rp->resource_hndl); + hex_buf_dump(fd, "Key:", key, (int)key_sz, 1, 16); + hex_buf_dump(fd, "Mask:", mask, (int)key_sz, 1, 16); + wc_tcam_decode((uint32_t *)remap, wc_lrec, wc_frp->act_mem_cfg); + wc_tcam_show(fd, wc_lrec); + break; + + case CFA_RSUBTYPE_TCAM_PROF_TCAM: + fprintf(fd, "\n:Profile TCAM [%u]:\n", (uint16_t)rp->resource_hndl); + hex_buf_dump(fd, "Key:", key, (int)key_sz, 1, 16); + hex_buf_dump(fd, "Mask:", mask, (int)key_sz, 1, 16); + prof_tcam_key_decode((uint32_t *)key, ptkey_info); + prof_tcam_key_decode((uint32_t *)mask, ptmask_info); + prof_tcam_remap_decode((uint32_t *)remap, ptrmp_info); + prof_tcam_show(fd, ptkey_info, ptmask_info, ptrmp_info); + break; + + case CFA_RSUBTYPE_TCAM_CT_RULE: + case CFA_RSUBTYPE_TCAM_VEB: + case CFA_RSUBTYPE_TCAM_FEATURE_CHAIN: + fprintf(fd, "Unsupported decode: %s\n", tfc_tcam_2_str(rp->resource_type)); + default: + break; + } + +tcam_process_error: + rte_free(l2ctx_key_info); + rte_free(l2ctx_mask_info); + rte_free(l2ctx_rmp_info); + rte_free(wc_lrec); + rte_free(ptkey_info); + rte_free(ptmask_info); + rte_free(ptrmp_info); + rte_free(key); + rte_free(mask); + rte_free(remap); + return rc; +} + +/* + * Check for the following conditions: + * 1. res_dir == p_res_dir + * 2. res_func == p_res_func + * 3. res_type == p_res_type + * 4. if res_dir == CFA_DIR_MAX, skip #1 + * 5. if res_func == BNXT_ULP_RESOURCE_FUNC_INVALID, skip #2 + * 6. if res_type == CFA_RSUBTYPE_TCAM_MAX, skip #3 + * + * Bascally implements a wildcarded match for either-or-and all conditions. + */ +#define TFC_INVALID_RES 0xFFFFFFFF +static bool tfc_flow_db_resource_filter(uint32_t p_res_dir, uint32_t p_res_func, + uint32_t p_res_type, uint32_t res_dir, + uint32_t res_func, uint32_t res_type) +{ + if (res_dir != CFA_DIR_MAX && p_res_dir != res_dir) + return false; + + /* res_dir == CFA_DIR_MAX */ + if (res_func == TFC_INVALID_RES && + res_type == TFC_INVALID_RES) + return true; + else if (res_func == TFC_INVALID_RES && + res_type == p_res_type) + return true; + else if (res_func == p_res_func && + res_type == TFC_INVALID_RES) + return true; + + return false; +} + +/** + * Walk through a resource matching a spec (resource_func+resource_type) for a + * particular flow (or all flows), and call a processing callback to handle + * data per resource/type. + * + * @ulp_ctxt: Ptr to ulp_context + * @flow_type: FDB flow type (default/regular) + * @resource_func: if zero then all resource_funcs are dumped. + * @resource_type: if zero then all resource_types are dumped. + * @frp: FDB resource processor function + * @frp_ctxt: FDB resource processor context + * + * returns 0 if success, error code if not + */ +static +int tfc_flow_db_resource_walk(struct bnxt_ulp_context *ulp_ctxt, uint8_t flow_type, + uint32_t resource_dir, uint32_t resource_func, uint32_t resource_type, + FDB_RESOURCE_PROCFUNC frp, + void *frp_ctxt) +{ + struct wc_frp_context *wc_frp = (struct wc_frp_context *)frp_ctxt; + FILE *fd = wc_frp->fd; + struct ulp_flow_db_res_params params; +#if (TFC_DEBUG_DUMP_ALL_FLOWS) + struct bnxt_ulp_flow_tbl *flow_tbl; +#endif + struct bnxt_ulp_flow_db *flow_db; + uint32_t ridx, fid = 1; + int rc; + + if (!ulp_ctxt || !ulp_ctxt->cfg_data) + return -EINVAL; + + if (!frp) { + fputs("No FDB proc_func\n", fd); + return -EINVAL; + } + + flow_db = bnxt_ulp_cntxt_ptr2_flow_db_get(ulp_ctxt); + if (!flow_db) { + fputs("Invalid Arguments\n", fd); + return -EINVAL; + } + +#if (TFC_DEBUG_DUMP_ALL_FLOWS) + flow_tbl = &flow_db->flow_tbl; + + for (fid = 1; fid < flow_tbl->num_flows; fid++) { +#else + while (!ulp_flow_db_next_entry_get(flow_db, flow_type, &fid)) { +#endif + ridx = 0; + + rc = ulp_flow_db_resource_get(ulp_ctxt, flow_type, fid, + &ridx, ¶ms); + if (!rc) { + if (tfc_flow_db_resource_filter(params.direction, + params.resource_func, + params.resource_type, + resource_dir, + resource_func, + resource_type)) { + (*frp)(¶ms, (void *)frp_ctxt); + } + + do { + rc = ulp_flow_db_resource_get(ulp_ctxt, flow_type, fid, + &ridx, ¶ms); + if (!rc) { + if (tfc_flow_db_resource_filter(params.direction, + params.resource_func, + params.resource_type, + resource_dir, + resource_func, + resource_type)) + (*frp)(¶ms, (void *)frp_ctxt); + } + } while (ridx); + } + } + return 0; +} + +int tfc_wc_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir) +{ + struct tfc_ts_mem_cfg *act_mem_cfg; + struct bnxt_ulp_context *ulp_ctx; + struct wc_frp_context wc_frp; + bool is_bs_owner; + struct bnxt *bp; + bool is_shared; + bool valid; + int rc = 0; + + if (!tfcp) + return -EINVAL; + + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); + if (rc != 0) { + fprintf(fd, "%s: failed to get tsid: %d\n", + __func__, rc); + return -EINVAL; + } + if (!valid) { + fprintf(fd, "%s: tsid not allocated %d\n", + __func__, tsid); + return -EINVAL; + } + + act_mem_cfg = rte_zmalloc("data", sizeof(*act_mem_cfg), 8); + if (!act_mem_cfg) + return -ENOMEM; + + rc = tfo_ts_get_mem_cfg(tfcp->tfo, tsid, + dir, + CFA_REGION_TYPE_ACT, + &is_bs_owner, + act_mem_cfg); /* Gets rec_cnt */ + if (rc != 0) { + fprintf(fd, "%s: tfo_ts_get_mem_cfg() failed for ACT: %d\n", + __func__, rc); + rte_free(act_mem_cfg); + return -EINVAL; + } + + if (tfcp && + tfcp->bp) { + bp = (struct bnxt *)(tfcp->bp); + ulp_ctx = bp->ulp_ctx; + + if (ulp_ctx) { + wc_frp.ulp_ctxt = ulp_ctx; + wc_frp.fd = fd; + wc_frp.act_mem_cfg = act_mem_cfg; + + /* Dump-decode all TCAM resources for default flows */ + fputs("\nDefault flows TCAM:\n", fd); + fputs("===================\n", fd); + tfc_flow_db_resource_walk(ulp_ctx, BNXT_ULP_FDB_TYPE_DEFAULT, dir, + BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + -1, &tfc_tcam_process, (void *)&wc_frp); + /* Dump-decode all TCAM resources for resource-id flows */ + fputs("\nRID flows TCAM:\n", fd); + fputs("===============\n", fd); + tfc_flow_db_resource_walk(ulp_ctx, BNXT_ULP_FDB_TYPE_RID, dir, + BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + -1, &tfc_tcam_process, (void *)&wc_frp); + /* Dump-decode all TCAM resources for regular flows */ + fputs("\nRegular flows TCAM:\n", fd); + fputs("===================\n", fd); + tfc_flow_db_resource_walk(ulp_ctx, BNXT_ULP_FDB_TYPE_REGULAR, dir, + BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + -1, &tfc_tcam_process, (void *)&wc_frp); + } + } + + rte_free(act_mem_cfg); + return rc; +} diff --git a/drivers/net/bnxt/tf_core/v3/tfo.c b/drivers/net/bnxt/tf_core/v3/tfo.c index f4ee81aefd..12d80877a6 100644 --- a/drivers/net/bnxt/tf_core/v3/tfo.c +++ b/drivers/net/bnxt/tf_core/v3/tfo.c @@ -573,3 +573,35 @@ int tfo_tim_get(void *tfo, void **tim) return 0; } + + +int tfo_tsid_get(void *tfo, uint8_t *tsid) +{ + struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_tsid_db *tsid_db; + uint8_t i; + + if (tfo == NULL) { + PMD_DRV_LOG(ERR, "%s: Invalid tfo pointer", __func__); + return -EINVAL; + } + if (tfco->signature != TFC_OBJ_SIGNATURE) { + PMD_DRV_LOG(ERR, "%s: Invalid tfo object", __func__); + return -EINVAL; + } + if (tsid == NULL) { + PMD_DRV_LOG(ERR, "%s: Invalid tsid pointer", __func__); + return -EINVAL; + } + + for (i = 1; i < TFC_TBL_SCOPE_MAX; i++) { + tsid_db = &tfco->tsid_db[i]; + + if (tsid_db->ts_valid) { + *tsid = i; + return 0; + } + } + + return -1; +} diff --git a/drivers/net/bnxt/tf_core/v3/tfo.h b/drivers/net/bnxt/tf_core/v3/tfo.h index f97d4cdd2d..e572db5991 100644 --- a/drivers/net/bnxt/tf_core/v3/tfo.h +++ b/drivers/net/bnxt/tf_core/v3/tfo.h @@ -426,4 +426,18 @@ int tfo_tim_set(void *tfo, void *tim); */ int tfo_tim_get(void *tfo, void **tim); +/** + * Get the table scope + * + * @param[in] tfo + * Pointer to TFC object + * + * @param[out] tsid + * Pointer to the returned table scope + * + * @return + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int tfo_tsid_get(void *tfo, uint8_t *tsid); + #endif /* _TFO_H_ */ diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h index f2426ce3c1..ab6608ac74 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h @@ -76,4 +76,9 @@ bnxt_ulp_cntxt_page_sz_get(struct bnxt_ulp_context *ulp_ctxt); int32_t bnxt_ulp_cntxt_page_sz_set(struct bnxt_ulp_context *ulp_ctxt, uint32_t page_sz); + +int32_t +ulp_flow_db_next_entry_get(struct bnxt_ulp_flow_db *flow_db, + enum bnxt_ulp_fdb_type flow_type, + uint32_t *fid); #endif diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c index d1b374e603..8e61c71f97 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c @@ -18,7 +18,6 @@ #include "ulp_template_db_enum.h" #include "ulp_template_struct.h" #include "tfc.h" -#include "tfc_debug.h" #include "tfc_action_handle.h" /* Need to create device parms for these values and handle diff --git a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c index 943c9b799c..46f5a96baf 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c +++ b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c @@ -9,6 +9,8 @@ #include "bnxt.h" #include "bnxt_tf_common.h" #include "bnxt_ulp_utils.h" +#include "bnxt_ulp_tfc.h" +#include "ulp_utils.h" #include "ulp_template_struct.h" #include "ulp_mapper.h" #include "ulp_flow_db.h" @@ -883,7 +885,7 @@ ulp_flow_db_resource_get(struct bnxt_ulp_context *ulp_ctxt, * * returns 0 on success and negative on failure. */ -static int32_t +int32_t ulp_flow_db_next_entry_get(struct bnxt_ulp_flow_db *flow_db, enum bnxt_ulp_fdb_type flow_type, uint32_t *fid) diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c index 07da6bd41c..0df6d0d6f3 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c @@ -19,7 +19,6 @@ #include "ulp_template_db_enum.h" #include "ulp_template_struct.h" #include "tfc.h" -#include "tfc_debug.h" #include "tfc_action_handle.h" #define ULP_TFC_CNTR_READ_BYTES 32 diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c index 23edf9f755..3b863115f0 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c @@ -18,7 +18,6 @@ #include "ulp_template_db_enum.h" #include "ulp_template_struct.h" #include "tfc.h" -#include "tfc_debug.h" #include "tfc_action_handle.h" static int32_t -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 30/54] net/bnxt/tf_core: truflow global table scope 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (28 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 29/54] net/bnxt/tf_core: add backing store debug to dpdk Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key Manish Kurup ` (24 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Farah Smith, Jay Ding, Kishore Padmanabha, Peter Spreadborough From: Farah Smith <farah.smith@broadcom.com> 1. Add support for a global table scope used for socket direct applications. Create database, select database based upon table scope supplied. Table scopes can now be one of 3 types: global, shared application and non-shared. 2. Fix issue when shutting down DPDK. Firmware deconfigures the table scope when the fid is removed so no need to issue deconfig, just free the memory. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 53 ++--- .../net/bnxt/hcapi/cfa_v3/include/cfa_types.h | 10 + drivers/net/bnxt/hsi_struct_def_dpdk.h | 221 +++++++++++++++--- drivers/net/bnxt/tf_core/v3/tfc.h | 81 ++++--- drivers/net/bnxt/tf_core/v3/tfc_act.c | 32 +-- drivers/net/bnxt/tf_core/v3/tfc_cpm.c | 13 ++ drivers/net/bnxt/tf_core/v3/tfc_em.c | 16 +- drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c | 16 +- drivers/net/bnxt/tf_core/v3/tfc_msg.c | 63 +++-- drivers/net/bnxt/tf_core/v3/tfc_msg.h | 8 +- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 205 ++++++++-------- drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c | 2 +- drivers/net/bnxt/tf_core/v3/tfc_util.c | 15 ++ drivers/net/bnxt/tf_core/v3/tfc_util.h | 11 + drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c | 3 +- drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h | 4 +- drivers/net/bnxt/tf_core/v3/tfo.c | 214 ++++++++++++----- drivers/net/bnxt/tf_core/v3/tfo.h | 39 ++-- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 70 ++++-- .../net/bnxt/tf_ulp/ulp_template_db_enum.h | 3 +- 20 files changed, 716 insertions(+), 363 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 7177941e09..fad357f3ae 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -6147,37 +6147,6 @@ bnxt_parse_devarg_app_id(__rte_unused const char *key, return 0; } -static int -bnxt_parse_devarg_mpc(__rte_unused const char *key, - const char *value, __rte_unused void *opaque_arg) -{ - char *end = NULL; - - if (!value || !opaque_arg) { - PMD_DRV_LOG_LINE(ERR, - "Invalid parameter passed to app-id " - "devargs"); - return -EINVAL; - } - - mpc = strtoul(value, &end, 10); - if (end == NULL || *end != '\0' || - (mpc == ULONG_MAX && errno == ERANGE)) { - PMD_DRV_LOG_LINE(ERR, "Invalid parameter passed to mpc " - "devargs"); - return -EINVAL; - } - - if (BNXT_DEVARG_MPC_INVALID(mpc)) { - PMD_DRV_LOG_LINE(ERR, "Invalid mpc(%d) devargs", - (uint16_t)mpc); - return -EINVAL; - } - - PMD_DRV_LOG_LINE(INFO, "MPC%d feature enabled", (uint16_t)mpc); - return 0; -} - static int bnxt_parse_devarg_ieee_1588(__rte_unused const char *key, const char *value, void *opaque_arg) @@ -6214,6 +6183,14 @@ bnxt_parse_devarg_ieee_1588(__rte_unused const char *key, return 0; } +static int +bnxt_parse_devarg_mpc(__rte_unused const char *key, + __rte_unused const char *value, __rte_unused void *opaque_arg) +{ + PMD_DRV_LOG_LINE(INFO, "mpc=1 arg not required."); + return 0; +} + static int bnxt_parse_devarg_rep_is_pf(__rte_unused const char *key, const char *value, void *opaque_arg) @@ -6527,6 +6504,13 @@ bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs) goto err; err: + /* + * Handler for "mpc" devarg. + * Invoked as for ex: "-a 000:00:0d.0,mpc=1" + */ + rte_kvargs_process(kvlist, BNXT_DEVARG_MPC, + bnxt_parse_devarg_mpc, bp); + /* * Handler for "app-id" devarg. * Invoked as for ex: "-a 000:00:0d.0,app-id=1" @@ -6541,13 +6525,6 @@ bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs) rte_kvargs_process(kvlist, BNXT_DEVARG_IEEE_1588, bnxt_parse_devarg_ieee_1588, bp); - /* - * Handler for "mpc" devarg. - * Invoked as for ex: "-a 000:00:0d.0,mpc=1" - */ - rte_kvargs_process(kvlist, BNXT_DEVARG_MPC, - bnxt_parse_devarg_mpc, bp); - /* * Handler for "cqe-mode" devarg. * Invoked as for ex: "-a 000:00:0d.0,cqe-mode=1" diff --git a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_types.h b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_types.h index 4339fc1053..b00b21385d 100644 --- a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_types.h +++ b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_types.h @@ -92,6 +92,16 @@ enum cfa_app_type { CFA_APP_TYPE_INVALID = CFA_APP_TYPE_MAX, }; +/** + * CFA table scope types + */ +enum cfa_scope_type { + CFA_SCOPE_TYPE_NON_SHARED = 0, + CFA_SCOPE_TYPE_SHARED_APP = 1, + CFA_SCOPE_TYPE_GLOBAL = 2, + CFA_SCOPE_TYPE_INVALID = 3 +}; + /** * CFA FID types */ diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index 6e540359e3..866fc5379d 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright (c) 2014-2024 Broadcom Inc. + * Copyright (c) 2014-2025 Broadcom Inc. * All rights reserved. * * DO NOT MODIFY!!! This file is automatically generated. @@ -804,6 +804,20 @@ struct __rte_packed_begin cmd_nums { #define HWRM_MFG_PRVSN_EXPORT_CERT UINT32_C(0x219) /* Query the statistics for doorbell drops due to various error conditions. */ #define HWRM_STAT_DB_ERROR_QSTATS UINT32_C(0x21a) + /* This command is used to select and run manufacturing tests */ + #define HWRM_MFG_TESTS UINT32_C(0x21b) + /* This command is used to write a cert chain from production firmware */ + #define HWRM_MFG_WRITE_CERT_NVM UINT32_C(0x21c) + /* + * The command is used to enable/disable the power on ethernet for + * a particular I/O expander port. + */ + #define HWRM_PORT_POE_CFG UINT32_C(0x230) + /* + * The command is used to query whether the power on ethernet + * is enabled/disabled for a particular I/O expander port. + */ + #define HWRM_PORT_POE_QCFG UINT32_C(0x231) /* * This command returns the capabilities related to User Defined * Congestion Control on a function. @@ -1252,8 +1266,8 @@ struct __rte_packed_begin hwrm_err_output { #define HWRM_VERSION_MINOR 10 #define HWRM_VERSION_UPDATE 3 /* non-zero means beta version */ -#define HWRM_VERSION_RSVD 87 -#define HWRM_VERSION_STR "1.10.3.87" +#define HWRM_VERSION_RSVD 97 +#define HWRM_VERSION_STR "1.10.3.97" /**************** * hwrm_ver_get * @@ -12647,9 +12661,9 @@ struct __rte_packed_begin hwrm_async_event_cmpl_dbg_buf_producer { * value of 8192. This field rolls over to zero once the firmware * writes the last page of the host buffer */ - #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURRENT_BUFFER_OFFSET_MASK \ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURR_OFF_MASK \ UINT32_C(0xffffffff) - #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURRENT_BUFFER_OFFSET_SFT \ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURR_OFF_SFT \ 0 uint8_t opaque_v; /* @@ -15718,6 +15732,18 @@ struct __rte_packed_begin hwrm_func_qcaps_output { */ #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT3_RX_RATE_PROFILE_SEL_SUPPORTED \ UINT32_C(0x8) + /* + * When set to 1, indicates that the device is capable of supporting + * the RoCE bi-directional optimization feature. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT3_BIDI_OPT_SUPPORTED \ + UINT32_C(0x10) + /* + * When set to 1, indicates that the device is capable of supporting + * port mirroring on RoCE device. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT3_MIRROR_ON_ROCE_SUPPORTED \ + UINT32_C(0x20) /* * The number of VFs that can be used for RoCE on the function. If less * than max_vfs, roce vfs will be assigned to the first VF of the @@ -15725,7 +15751,13 @@ struct __rte_packed_begin hwrm_func_qcaps_output { * This is valid only on the PF with SR-IOV and RDMA enabled. */ uint16_t max_roce_vfs; - uint8_t unused_3[5]; + /* + * The maximum number of Rx flow filters for KTLS and QUIC. If both + * KTLS and QUIC are enabled, then this maximum number is shared + * between them. + */ + uint16_t max_crypto_rx_flow_filters; + uint8_t unused_3[3]; /* * This field is used in Output records to indicate that the output * is completely written to RAM. This field should be read as '1' @@ -16426,8 +16458,19 @@ struct __rte_packed_begin hwrm_func_qcfg_output { * value is used if ring MTU is not specified. */ uint16_t host_mtu; - uint8_t unused_3[2]; - uint8_t unused_4[2]; + uint16_t flags2; + /* + * If set to 1, then VF drivers are requested to insert a DSCP + * value into all outgoing L2 packets such that DSCP=VF ID modulo 64 + */ + #define HWRM_FUNC_QCFG_OUTPUT_FLAGS2_SRIOV_DSCP_INSERT_ENABLED \ + UINT32_C(0x1) + /* + * This value is the S-tag VLAN identifier setting for the function + * when in NPAR 1.2 mode. This field is read from firmware and is + * in LE order. + */ + uint16_t stag_vid; /* * KDNet mode for the port for this function. If a VF, KDNet * mode is always disabled. @@ -16450,7 +16493,23 @@ struct __rte_packed_begin hwrm_func_qcfg_output { * feature, 0xffff will be returned. */ uint16_t port_kdnet_fid; - uint8_t unused_5[2]; + uint8_t unused_5; + uint8_t roce_bidi_opt_mode; + /* RoCE bi-directional optimization feature is disabled. */ + #define HWRM_FUNC_QCFG_OUTPUT_ROCE_BIDI_OPT_MODE_DISABLED \ + UINT32_C(0x1) + /* + * Requester and Responder traffic use separate transmit scheduler + * queues and CoSQs. + */ + #define HWRM_FUNC_QCFG_OUTPUT_ROCE_BIDI_OPT_MODE_DEDICATED \ + UINT32_C(0x2) + /* + * Requester and Responder traffic use separate transmit scheduler + * queues, but share the same CoSQ. + */ + #define HWRM_FUNC_QCFG_OUTPUT_ROCE_BIDI_OPT_MODE_SHARED \ + UINT32_C(0x4) /* Number of KTLS Tx Key Contexts allocated. */ uint32_t num_ktls_tx_key_ctxs; /* Number of KTLS Rx Key Contexts allocated. */ @@ -16525,7 +16584,13 @@ struct __rte_packed_begin hwrm_func_qcfg_output { * partition on Rx crypto key contexts. */ #define HWRM_FUNC_QCFG_OUTPUT_XID_PARTITION_CFG_RX_CK UINT32_C(0x2) - uint8_t unused_7; + /* + * The VNIC ID used for mirroring. This VNIC is pre-reserved. + * This VNIC could be used for mirroring to a single L2 ring + * or a raw QP. + */ + uint16_t mirror_vnic_id; + uint8_t unused_7[7]; /* * This field is used in Output records to indicate that the output * is completely written to RAM. This field should be read as '1' @@ -24348,8 +24413,10 @@ struct __rte_packed_begin hwrm_func_backing_store_qcfg_v2_output { uint8_t valid; } __rte_packed_end; -/* Common structure to cast QPC split entries. This casting is required in the - * following HWRM command inputs/outputs if the backing store type is QPC. +/* + * Common structure to cast QPC split entries. This casting is required + * in the following HWRM command inputs/outputs if the backing store + * type is QPC. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24368,8 +24435,10 @@ struct __rte_packed_begin qpc_split_entries { uint32_t rsvd; } __rte_packed_end; -/* Common structure to cast SRQ split entries. This casting is required in the - * following HWRM command inputs/outputs if the backing store type is SRQ. +/* + * Common structure to cast SRQ split entries. This casting is required + * in the following HWRM command inputs/outputs if the backing store + * type is SRQ. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24382,8 +24451,10 @@ struct __rte_packed_begin srq_split_entries { uint32_t rsvd2[2]; } __rte_packed_end; -/* Common structure to cast CQ split entries. This casting is required in the - * following HWRM command inputs/outputs if the backing store type is CQ. +/* + * Common structure to cast CQ split entries. This casting is required + * in the following HWRM command inputs/outputs if the backing store + * type is CQ. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24396,8 +24467,10 @@ struct __rte_packed_begin cq_split_entries { uint32_t rsvd2[2]; } __rte_packed_end; -/* Common structure to cast VNIC split entries. This casting is required in the - * following HWRM command inputs/outputs if the backing store type is VNIC. +/* + * Common structure to cast VNIC split entries. This casting is required + * in the following HWRM command inputs/outputs if the backing store + * type is VNIC. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24410,8 +24483,10 @@ struct __rte_packed_begin vnic_split_entries { uint32_t rsvd2[2]; } __rte_packed_end; -/* Common structure to cast MRAV split entries. This casting is required in the - * following HWRM command inputs/outputs if the backing store type is MRAV. +/* + * Common structure to cast MRAV split entries. This casting is required + * in the following HWRM command inputs/outputs if the backing store + * type is MRAV. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24424,9 +24499,10 @@ struct __rte_packed_begin mrav_split_entries { uint32_t rsvd2[2]; } __rte_packed_end; -/* Common structure to cast TBL_SCOPE split entries. This casting is required - * in the following HWRM command inputs/outputs if the backing store type is - * TBL_SCOPE. +/* + * Common structure to cast TBL_SCOPE split entries. This casting is + * required in the following HWRM command inputs/outputs if the backing + * store type is TBL_SCOPE. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24442,13 +24518,15 @@ struct __rte_packed_begin ts_split_entries { * Array is indexed by enum cfa_dir */ uint8_t lkup_static_bkt_cnt_exp[2]; - uint8_t rsvd; + /* Indicates the region is locked in the cache */ + uint8_t locked; uint32_t rsvd2[2]; -} __rte_packed_end; +} __rte_packed; -/* Common structure to cast crypto key split entries. This casting is required - * in the following HWRM command inputs/outputs if the backing store type is - * TX_CK or RX_CK. +/* + * Common structure to cast crypto key split entries. This casting is + * required in the following HWRM command inputs/outputs if the backing + * store type is TX_CK or RX_CK. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -42583,13 +42661,20 @@ struct __rte_packed_begin hwrm_vnic_alloc_input { */ #define HWRM_VNIC_ALLOC_INPUT_FLAGS_VIRTIO_NET_FID_VALID \ UINT32_C(0x2) + /* + * When this bit is '1', firmware will allocate the VNIC + * specified in vnic_id field. + */ + #define HWRM_VNIC_ALLOC_INPUT_FLAGS_VNIC_ID_VALID \ + UINT32_C(0x4) /* * Virtio-net function's FID. * This virtio-net function is requesting allocation of default * VNIC through proxy VEE PF. */ uint16_t virtio_net_fid; - uint8_t unused_0[2]; + /* VNIC ID to allocate. */ + uint16_t vnic_id; } __rte_packed_end; /* hwrm_vnic_alloc_output (size:128b/16B) */ @@ -42958,6 +43043,9 @@ struct __rte_packed_begin hwrm_vnic_cfg_input { /* This bit must be '1' for the l2_cqe_mode field to be configured. */ #define HWRM_VNIC_CFG_INPUT_ENABLES_L2_CQE_MODE \ UINT32_C(0x200) + /* This bit must be '1' for the raw_qp_id field to be configured. */ + #define HWRM_VNIC_CFG_INPUT_ENABLES_RAW_QP_ID \ + UINT32_C(0x400) /* Logical vnic ID */ uint16_t vnic_id; /* @@ -43080,7 +43168,8 @@ struct __rte_packed_begin hwrm_vnic_cfg_input { #define HWRM_VNIC_CFG_INPUT_L2_CQE_MODE_MIXED UINT32_C(0x2) #define HWRM_VNIC_CFG_INPUT_L2_CQE_MODE_LAST \ HWRM_VNIC_CFG_INPUT_L2_CQE_MODE_MIXED - uint8_t unused0[4]; + /* Raw QP ID to be used for the VNIC. */ + uint32_t raw_qp_id; } __rte_packed_end; /* hwrm_vnic_cfg_output (size:128b/16B) */ @@ -44944,6 +45033,8 @@ struct __rte_packed_begin hwrm_vnic_plcmodes_cfg_input { * Packets with length larger than this value will be * placed according to the HDS placement algorithm. * This value shall be in multiple of 4 bytes. + * HW supports only 10-bit value for hds_threshold. If this value is + * more than 0x3FF, FW will fail this command. */ uint16_t hds_threshold; /* @@ -44985,6 +45076,24 @@ struct __rte_packed_begin hwrm_vnic_plcmodes_cfg_output { uint8_t valid; } __rte_packed_end; +/* hwrm_vnic_plcmodes_cfg_cmd_err (size:64b/8B) */ +struct hwrm_vnic_plcmodes_cfg_cmd_err { + /* + * command specific error codes that goes to + * the cmd_err field in common HWRM Error Response. + */ + uint8_t code; + /* Unknown error */ + #define HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_UNKNOWN \ + UINT32_C(0x0) + /* hds_threshold value is invalid */ + #define HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_INVALID_HDS_THRESHOLD \ + UINT32_C(0x1) + #define HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_LAST \ + HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_INVALID_HDS_THRESHOLD + uint8_t unused_0[7]; +} __rte_packed; + /*************************** * hwrm_vnic_plcmodes_qcfg * ***************************/ @@ -45408,7 +45517,10 @@ struct __rte_packed_begin hwrm_ring_alloc_input { #define HWRM_RING_ALLOC_INPUT_CMPL_COAL_CNT_COAL_320 UINT32_C(0xd) /* Generates a TX coalesced completion for up to 384 TX packets. */ #define HWRM_RING_ALLOC_INPUT_CMPL_COAL_CNT_COAL_384 UINT32_C(0xe) - /* Generates a TX coalesced completion up to the last packet. (Maximum coalescing). */ + /* + * Generates a TX coalesced completion up to the last packet. + * (Maximum coalescing). + */ #define HWRM_RING_ALLOC_INPUT_CMPL_COAL_CNT_COAL_MAX UINT32_C(0xf) #define HWRM_RING_ALLOC_INPUT_CMPL_COAL_CNT_LAST \ HWRM_RING_ALLOC_INPUT_CMPL_COAL_CNT_COAL_MAX @@ -59915,8 +60027,32 @@ struct __rte_packed_begin hwrm_tfc_tbl_scope_qcaps_output { * support. This field is only valid if tbl_scope_capable is not zero. */ uint8_t max_lkup_static_buckets_exp; + /* Control flags. */ + uint8_t flags; + /* Indicates whether a global scope is supported in the firmware. */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL \ + UINT32_C(0x1) + /* If this bit set to 0, a global scope is not supported */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL_UNSUPPORTED \ + UINT32_C(0x0) + /* If this bit is set to 1, a global scope is supported */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL_SUPPORTED \ + UINT32_C(0x1) + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL_LAST \ + HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL_SUPPORTED + /* Indicates whether a locked scope is supported in the firmware. */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED \ + UINT32_C(0x2) + /* If this bit set to 0, a locked scope is not supported */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED_UNSUPPORTED \ + (UINT32_C(0x0) << 1) + /* If this bit is set to 1, a locked scope is supported */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED_SUPPORTED \ + (UINT32_C(0x1) << 1) + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED_LAST \ + HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED_SUPPORTED /* unused. */ - uint8_t unused0[5]; + uint8_t unused0[4]; /* * This field is used in Output records to indicate that the output * is completely written to RAM. This field should be read as '1' @@ -60001,8 +60137,27 @@ struct __rte_packed_begin hwrm_tfc_tbl_scope_id_alloc_input { uint8_t act_pool_sz_exp[2]; /* Application type. 0 (AFM), 1 (TF) */ uint8_t app_type; + /* + * Specifies the type of table scope. Overrides the shared flag if set. + * If set, this field takes precedent over the shared flag. + */ + uint8_t scope_type; + /* A table scope not shared between functions */ + #define HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_NON_SHARED \ + UINT32_C(0x1) + /* + * A table scope shared between functions which share the same parent + * PF. + */ + #define HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_SHARED_APP \ + UINT32_C(0x2) + /* A global table scope accessible by any function (e.g. LAG) */ + #define HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_GLOBAL \ + UINT32_C(0x3) + #define HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_LAST \ + HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_GLOBAL /* unused. */ - uint8_t unused0[6]; + uint8_t unused0[5]; } __rte_packed_end; /* hwrm_tfc_tbl_scope_id_alloc_output (size:128b/16B) */ diff --git a/drivers/net/bnxt/tf_core/v3/tfc.h b/drivers/net/bnxt/tf_core/v3/tfc.h index 2195c0035d..18af4a71d9 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc.h +++ b/drivers/net/bnxt/tf_core/v3/tfc.h @@ -762,14 +762,12 @@ enum tfc_tbl_scope_bucket_factor { * tfc_tbl_scope_size_query API. */ struct tfc_tbl_scope_size_query_parms { - /** - * [in] If a shared table scope, dynamic buckets are disabled. This - * affects the calculation for static buckets in this function. - * Initially, if not shared, the size of the static bucket table should - * be double the number of flows supported. Numbers are validated - * against static_cnt and dynamic_cnt + /** Scope is one of non-shared, shared-app or global. + * If a shared-app or global table scope, dynamic buckets are disabled. + * this combined with the multiplier affects the calculation for static + * buckets in this function. */ - bool shared; + enum cfa_scope_type scope_type; /** * [in] Direction indexed array indicating the number of flows. Must be * at least as large as the number entries that the buckets can point @@ -852,6 +850,12 @@ struct tfc_tbl_scope_size_query_parms { * to be used by a table scope. */ struct tfc_tbl_scope_mem_alloc_parms { + /** Scope is one of non-shared, shared-app or global. + * If a shared-app or global table scope, dynamic buckets are disabled. + * this combined with the multiplier affects the calculation for static + * buckets in this function. + */ + enum cfa_scope_type scope_type; /** * [in] If a shared table scope, indicate whether this is the first * if, the first, the table scope memory will be allocated. Otherwise @@ -920,32 +924,51 @@ struct tfc_tbl_scope_mem_alloc_parms { uint32_t lkup_rec_start_offset[CFA_DIR_MAX]; }; + +/** + * tfc_tbl_scope_qcaps_parms contains the parameters for determining + * the table scope capabilities + */ +struct tfc_tbl_scope_qcaps_parms { + /** + * [out] if true, the device supports a table scope. + */ + bool tbl_scope_cap; + /** + * [out] if true, the device supports a global table scope. + */ + bool global_cap; + /** + * [out] if true, the device supports locked regions. + */ + bool locked_cap; + /** + * [out] the maximum number of static buckets supported. + */ + uint8_t max_lkup_static_bucket_exp; + /** + * [out] The maximum number of minimum sized lkup records supported. + */ + uint32_t max_lkup_rec_cnt; + /** + * [out] The maximum number of minimum sized action records supported. + */ + uint32_t max_act_rec_cnt; +}; + /** * Determine whether table scopes are supported in the hardware. * * @param[in] tfcp * Pointer to TFC handle * - * @param[out] tbl_scope_capable - * True if table scopes are supported in the firmware. - * - * @param[out] max_lkup_rec_cnt - * The maximum number of lookup records in a table scope (optional) - * - * @param[out] max_act_rec_cnt - * The maximum number of action records in a table scope (optional) - * - * @param[out] max_lkup_static_buckets_exp - * The log2 of the maximum number of lookup static buckets in a table scope - * (optional) + * @param[in,out] parms * * @returns * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfc_tbl_scope_qcaps(struct tfc *tfcp, bool *tbl_scope_capable, - uint32_t *max_lkup_rec_cnt, - uint32_t *max_act_rec_cnt, - uint8_t *max_lkup_static_buckets_exp); +int tfc_tbl_scope_qcaps(struct tfc *tfcp, + struct tfc_tbl_scope_qcaps_parms *parms); /** * Determine table scope sizing @@ -968,8 +991,8 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, * @param[in] tfcp * Pointer to TFC handle * - * @param[in] shared - * Create a shared table scope. + * @param[in] scope_type + * non-shared, shared-app or global * * @param[in] app_type * The application type, TF or AFM @@ -984,7 +1007,7 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, * @returns * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfc_tbl_scope_id_alloc(struct tfc *tfcp, bool shared, +int tfc_tbl_scope_id_alloc(struct tfc *tfcp, enum cfa_scope_type scope_type, enum cfa_app_type app_type, uint8_t *tsid, bool *first); @@ -1023,10 +1046,14 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, * @param[in] tsid * Table scope identifier * + * @param[in] fid_cnt + * Used for global scope cleanup. If a fid remains, do not delete scope + * * @returns * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid); +int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid, + uint16_t fid_cnt); /** * tfc_tbl_scope_cpm_alloc_parms contains the parameters for allocating a diff --git a/drivers/net/bnxt/tf_core/v3/tfc_act.c b/drivers/net/bnxt/tf_core/v3/tfc_act.c index 7b1f82b842..3c1c76359b 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_act.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_act.c @@ -45,12 +45,12 @@ int tfc_act_alloc(struct tfc *tfcp, struct tfc_cmm *cmm; uint32_t entry_offset; struct cfa_mm_alloc_parms aparms; - bool is_shared; + enum cfa_scope_type scope_type; struct tfc_ts_pool_info pi; bool valid; uint16_t max_pools; - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, &max_pools); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, &max_pools); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -67,7 +67,11 @@ int tfc_act_alloc(struct tfc *tfcp, return -EINVAL; } - tfo_ts_get_pool_info(tfcp->tfo, tsid, cmm_info->dir, &pi); + rc = tfo_ts_get_pool_info(tfcp->tfo, tsid, cmm_info->dir, &pi); + if (unlikely(rc)) { + PMD_DRV_LOG_LINE(ERR, "%s: failed to get pool info: %s", + __func__, strerror(-rc)); + } /* Get CPM instances */ rc = tfo_ts_get_cpm_inst(tfcp->tfo, tsid, cmm_info->dir, &cpm_lkup, &cpm_act); @@ -99,8 +103,9 @@ int tfc_act_alloc(struct tfc *tfcp, /* There is only 1 pool for a non-shared table scope * and it is full. */ - if (unlikely(!is_shared)) { - PMD_DRV_LOG_LINE(ERR, "no records remain"); + if (unlikely(scope_type == CFA_SCOPE_TYPE_NON_SHARED)) { + PMD_DRV_LOG_LINE(ERR, "%s: no records remain", + __func__); return -ENOMEM; } rc = tfc_get_fid(tfcp, &fid); @@ -157,7 +162,6 @@ int tfc_act_alloc(struct tfc *tfcp, return -EINVAL; } } - aparms.num_contig_records = 1 << next_pow2(num_contig_rec); rc = cfa_mm_alloc(cmm, &aparms); if (unlikely(rc)) { @@ -231,7 +235,7 @@ int tfc_act_set(struct tfc *tfcp, struct cfa_bld_mpcinfo *mpc_info; uint32_t record_size; uint8_t tsid; - bool is_shared; + enum cfa_scope_type scope_type; bool valid; tfo_mpcinfo_get(tfcp->tfo, &mpc_info); @@ -247,7 +251,7 @@ int tfc_act_set(struct tfc *tfcp, &record_size, &entry_offset); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -382,7 +386,7 @@ static int tfc_act_get_only(struct tfc *tfcp, struct bnxt_mpc_mbuf mpc_msg_out; uint32_t record_size; uint8_t tsid; - bool is_shared; + enum cfa_scope_type scope_type; struct cfa_bld_mpcinfo *mpc_info; bool valid; @@ -393,7 +397,7 @@ static int tfc_act_get_only(struct tfc *tfcp, &record_size, &entry_offset); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -561,7 +565,7 @@ static int tfc_act_get_clear(struct tfc *tfcp, struct bnxt_mpc_mbuf mpc_msg_out; uint32_t record_size; uint8_t tsid; - bool is_shared; + enum cfa_scope_type scope_type; struct cfa_bld_mpcinfo *mpc_info; bool valid; uint16_t mask = 0; @@ -573,7 +577,7 @@ static int tfc_act_get_clear(struct tfc *tfcp, &record_size, &entry_offset); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); @@ -739,7 +743,7 @@ int tfc_act_free(struct tfc *tfcp, uint32_t record_offset; struct cfa_mm_free_parms fparms; uint8_t tsid; - bool is_shared; + enum cfa_scope_type scope_type; bool valid; bool is_bs_owner; struct tfc_ts_mem_cfg mem_cfg; @@ -750,7 +754,7 @@ int tfc_act_free(struct tfc *tfcp, &record_size, &record_offset); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; diff --git a/drivers/net/bnxt/tf_core/v3/tfc_cpm.c b/drivers/net/bnxt/tf_core/v3/tfc_cpm.c index 36a9189805..f58ec48db7 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_cpm.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_cpm.c @@ -293,6 +293,10 @@ int tfc_cpm_set_cmm_inst(struct tfc_cpm *cpm, uint16_t pool_id, struct tfc_cmm * return -EINVAL; } + if (pool_id >= cpm->max_pools) { + PMD_DRV_LOG_LINE(ERR, "Pool ID:0x%x > max 0x%x", pool_id, cpm->max_pools); + return -EINVAL; + } pool = &cpm->pools[pool_id]; if (pool->valid && cmm != NULL) { @@ -324,6 +328,11 @@ int tfc_cpm_get_cmm_inst(struct tfc_cpm *cpm, uint16_t pool_id, struct tfc_cmm * return -EINVAL; } + if (pool_id >= cpm->max_pools) { + PMD_DRV_LOG_LINE(ERR, "Pool ID:0x%x > max 0x%x", pool_id, cpm->max_pools); + return -EINVAL; + } + pool = &cpm->pools[pool_id]; if (!pool->valid) { @@ -359,6 +368,10 @@ int tfc_cpm_set_usage(struct tfc_cpm *cpm, uint16_t pool_id, uint32_t used_count return -EINVAL; } + if (pool_id >= cpm->max_pools) { + PMD_DRV_LOG_LINE(ERR, "Pool ID:0x%x > max 0x%x", pool_id, cpm->max_pools); + return -EINVAL; + } pool = &cpm->pools[pool_id]; if (!pool->valid) { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c index 8264f9a05d..828b7838f5 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c @@ -133,19 +133,18 @@ int tfc_em_insert(struct tfc *tfcp, uint8_t tsid, uint32_t i; uint32_t hash = 0; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_EM_INSERT_CMD_MAX_FLD]; - bool is_shared; + enum cfa_scope_type scope_type; struct cfa_bld_mpcinfo *mpc_info; bool valid; uint16_t max_pools; #if TFC_EM_DYNAMIC_BUCKET_EN struct cfa_mm_alloc_parms bucket_aparms; - bool shared = false; uint32_t bucket_offset; #endif tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, &max_pools); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, &max_pools); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -202,8 +201,9 @@ int tfc_em_insert(struct tfc *tfcp, uint8_t tsid, /* There is only 1 pool for a non-shared table scope and * it is full. */ - if (!is_shared) { - PMD_DRV_LOG_LINE(ERR, "no records remain"); + if (scope_type == CFA_SCOPE_TYPE_NON_SHARED) { + PMD_DRV_LOG_LINE(ERR, "%s: no records remain", + __func__); return -ENOMEM; } @@ -278,7 +278,7 @@ int tfc_em_insert(struct tfc *tfcp, uint8_t tsid, } #if TFC_EM_DYNAMIC_BUCKET_EN - if (!shared) { + if (scope_type == CFA_SCOPE_TYPE_NON_SHARED) { /* Allocate dynamic bucket */ bucket_aparms.num_contig_records = TFC_EM_DYNAMIC_BUCKET_RECORD_SIZE; rc = cfa_mm_alloc(cmm, &bucket_aparms); @@ -598,7 +598,7 @@ int tfc_em_delete(struct tfc *tfcp, struct tfc_em_delete_parms *parms) uint32_t record_size; struct cfa_mm_free_parms fparms; uint8_t tsid; - bool is_shared; + enum cfa_scope_type scope_type; struct tfc_ts_pool_info pi; bool is_bs_owner; struct tfc_ts_mem_cfg mem_cfg; @@ -615,7 +615,7 @@ int tfc_em_delete(struct tfc *tfcp, struct tfc_em_delete_parms *parms) &record_offset, &static_bucket); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (rc != 0) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c b/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c index f0512c41cc..670c3a75fc 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c @@ -43,7 +43,7 @@ int tfc_mpc_table_read(struct tfc *tfcp, struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_READ_CMP_MAX_FLD]; struct bnxt_mpc_mbuf mpc_msg_in; struct bnxt_mpc_mbuf mpc_msg_out; - bool is_shared; + enum cfa_scope_type scope_type; struct cfa_bld_mpcinfo *mpc_info; uint64_t host_address; uint8_t discard_data[128]; @@ -53,7 +53,7 @@ int tfc_mpc_table_read(struct tfc *tfcp, tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (rc != 0) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -212,12 +212,12 @@ int tfc_mpc_table_write_zero(struct tfc *tfcp, struct bnxt_mpc_mbuf mpc_msg_in; struct bnxt_mpc_mbuf mpc_msg_out; struct cfa_bld_mpcinfo *mpc_info; - bool is_shared; + enum cfa_scope_type scope_type; bool valid; tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (rc != 0) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -340,12 +340,12 @@ int tfc_mpc_table_invalidate(struct tfc *tfcp, struct bnxt_mpc_mbuf mpc_msg_in; struct bnxt_mpc_mbuf mpc_msg_out; struct cfa_bld_mpcinfo *mpc_info; - bool is_shared; + enum cfa_scope_type scope_type; bool valid; tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (rc != 0) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -1288,7 +1288,7 @@ static void bucket_show(FILE *fd, struct bucket_info_t *bucket_info, uint32_t of int tfc_em_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir) { int rc = 0; - bool is_shared; + enum cfa_scope_type scope_type; bool is_bs_owner; struct tfc_ts_mem_cfg *lkup_mem_cfg; struct tfc_ts_mem_cfg *act_mem_cfg; @@ -1299,7 +1299,7 @@ int tfc_em_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir) uint32_t bucket_offset = 0; bool valid; - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (rc != 0) { fprintf(fd, "%s: failed to get tsid: %d\n", __func__, rc); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_msg.c index 7ec7e9a054..cf72d09184 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.c @@ -181,6 +181,8 @@ tfc_msg_free_dma_buf(struct tfc_msg_dma_buf *buf) int tfc_msg_tbl_scope_qcaps(struct tfc *tfcp, bool *tbl_scope_capable, + bool *global_scope_capable, + bool *locked_scope_capable, uint32_t *max_lkup_rec_cnt, uint32_t *max_act_rec_cnt, uint8_t *max_lkup_static_buckets_exp) @@ -200,8 +202,24 @@ tfc_msg_tbl_scope_qcaps(struct tfc *tfcp, return -EINVAL; } + if (global_scope_capable == NULL) { + PMD_DRV_LOG_LINE(ERR, + "%s: Invalid global_scope_capable pointer", + __func__); + return -EINVAL; + } + + if (tbl_scope_capable == NULL) { + PMD_DRV_LOG_LINE(ERR, + "%s: Invalid locked_scope_capable pointer", + __func__); + return -EINVAL; + } + bp = tfcp->bp; *tbl_scope_capable = false; + *global_scope_capable = false; + *locked_scope_capable = false; rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_TBL_SCOPE_QCAPS, &req, sizeof(req), &resp, @@ -211,6 +229,10 @@ tfc_msg_tbl_scope_qcaps(struct tfc *tfcp, if (resp.tbl_scope_capable) { *tbl_scope_capable = true; + if (resp.flags & HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL) + *global_scope_capable = true; + if (resp.flags & HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED) + *locked_scope_capable = true; if (max_lkup_rec_cnt) *max_lkup_rec_cnt = rte_le_to_cpu_32(resp.max_lkup_rec_cnt); @@ -226,7 +248,7 @@ tfc_msg_tbl_scope_qcaps(struct tfc *tfcp, } int tfc_msg_tbl_scope_id_alloc(struct tfc *tfcp, uint16_t fid, - bool shared, enum cfa_app_type app_type, + enum cfa_scope_type scope_type, enum cfa_app_type app_type, uint8_t *tsid, bool *first) { @@ -247,8 +269,21 @@ tfc_msg_tbl_scope_id_alloc(struct tfc *tfcp, uint16_t fid, bp = tfcp->bp; req.app_type = app_type; - req.shared = shared; - + switch (scope_type) { + case CFA_SCOPE_TYPE_NON_SHARED: + req.scope_type = HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_NON_SHARED; + break; + case CFA_SCOPE_TYPE_SHARED_APP: + req.scope_type = HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_SHARED_APP; + break; + case CFA_SCOPE_TYPE_GLOBAL: + req.scope_type = HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_GLOBAL; + break; + default: + PMD_DRV_LOG_LINE(ERR, "%s: Invalid scope_type", + __func__); + return -EINVAL; + } rc = tfc_msg_set_fid(bp, fid, &req.fid); if (rc) return rc; @@ -393,28 +428,6 @@ tfc_msg_backing_store_cfg_v2(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir, return rc; } -int -tfc_msg_tbl_scope_deconfig(struct tfc *tfcp, uint8_t tsid) -{ - struct hwrm_tfc_tbl_scope_deconfig_input req = { 0 }; - struct hwrm_tfc_tbl_scope_deconfig_output resp = { 0 }; - struct bnxt *bp; - int rc; - - if (tfcp == NULL) { - PMD_DRV_LOG_LINE(ERR, "Invalid tfcp pointer"); - return -EINVAL; - } - - bp = tfcp->bp; - req.tsid = tsid; - rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_TBL_SCOPE_DECONFIG, - &req, sizeof(req), &resp, - sizeof(resp)); - - return rc; -} - int tfc_msg_tbl_scope_fid_add(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint16_t *fid_cnt) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_msg.h index 3bf6b04a12..6f07890cd6 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.h @@ -16,11 +16,14 @@ int tfc_msg_tbl_scope_qcaps(struct tfc *tfcp, bool *tbl_scope_capable, + bool *global_scope_capable, + bool *locked_scope_capable, uint32_t *max_lkup_rec_cnt, uint32_t *max_act_rec_cnt, uint8_t *max_lkup_static_buckets_exp); -int tfc_msg_tbl_scope_id_alloc(struct tfc *tfcp, uint16_t fid, bool shared, +int tfc_msg_tbl_scope_id_alloc(struct tfc *tfcp, uint16_t fid, + enum cfa_scope_type scope_type, enum cfa_app_type app_type, uint8_t *tsid, bool *first); @@ -31,9 +34,6 @@ tfc_msg_backing_store_cfg_v2(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir, uint32_t rec_cnt, uint8_t static_bkt_cnt_exp, bool cfg_done); -int -tfc_msg_tbl_scope_deconfig(struct tfc *tfcp, uint8_t tsid); - int tfc_msg_tbl_scope_fid_add(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint16_t *fid_cnt); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index ac805916cc..b229f07596 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -56,9 +56,8 @@ * @param[in] key_sz_in_bytes * The lookup key size in bytes * - * @param[in] shared - * True if the table scope will be shared. Shared table scopes cannot have - * dynamic buckets. + * @param[in] scope_type + * Shared-app or global table scopes cannot have dynamic buckets. * * @param[in] factor * This indicates a multiplier factor for determining the static and dynamic @@ -76,7 +75,7 @@ * */ static int calc_lkup_rec_cnt(uint32_t flow_cnt, uint16_t key_sz_in_bytes, - __rte_unused bool shared, + __rte_unused enum cfa_scope_type scope_type, enum tfc_tbl_scope_bucket_factor factor, uint32_t *lkup_rec_cnt, uint8_t *static_bucket_cnt_exp, @@ -127,7 +126,7 @@ static int calc_lkup_rec_cnt(uint32_t flow_cnt, uint16_t key_sz_in_bytes, key_rec_cnt = flow_cnt * entry_size; #ifdef DYNAMIC_BUCKETS_SUPPORTED - if (shared) { + if (scope_type != CFA_SCOPE_TYPE_NON_SHARED) { #endif *static_bucket_cnt_exp = next_pow2(flow_adj / ENTRIES_PER_BUCKET); @@ -531,9 +530,9 @@ static int alloc_link_pbl(struct tfc_ts_mem_cfg *mem_cfg, uint32_t page_size, */ struct tbl_scope_pools_create_parms { /** - * [in] Indicates if the table scope will be shared. + * [in] Indicates non-shared, shared-app or global scope. */ - bool shared; + enum cfa_scope_type scope_type; /** * [in] The number of pools the table scope will be divided into. (set * to 1 if not shared). @@ -599,7 +598,7 @@ static int tbl_scope_pools_create(struct tfc *tfcp, uint8_t tsid, return -EINVAL; } - rc = tfo_tim_get(tfcp->tfo, &tim); + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); if (rc) return -EINVAL; @@ -703,7 +702,7 @@ static int tbl_scope_pools_destroy(struct tfc *tfcp, uint8_t tsid) return -EINVAL; } - rc = tfo_tim_get(tfcp->tfo, &tim); + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); if (rc) return -EINVAL; @@ -755,7 +754,7 @@ static int tbl_scope_tpm_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint16_t *pool_cnt) { int rc = 0; - bool shared; + enum cfa_scope_type scope_type; bool valid; enum cfa_dir dir; uint16_t pool_id; @@ -783,15 +782,16 @@ static int tbl_scope_tpm_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, PMD_DRV_LOG_LINE(ERR, "only valid for PF"); return -EINVAL; } - rc = tfo_ts_get(tfcp->tfo, tsid, &shared, NULL, &valid, NULL); - if (!valid || !shared) { - PMD_DRV_LOG_LINE(ERR, "tsid(%d) valid(%s) shared(%s)", - tsid, valid ? "TRUE" : "FALSE", - shared ? "TRUE" : "FALSE"); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); + if (!valid || scope_type == CFA_SCOPE_TYPE_NON_SHARED) { + PMD_DRV_LOG_LINE(ERR, + "%s: tsid(%d) valid(%s) scope_type(%s)", + __func__, tsid, valid ? "TRUE" : "FALSE", + tfc_scope_type_2_str(scope_type)); return -EINVAL; } - rc = tfo_tim_get(tfcp->tfo, &tim); + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); if (rc) { PMD_DRV_LOG_LINE(ERR, "Failed to get TIM"); return -EINVAL; @@ -879,10 +879,7 @@ static int tbl_scope_tpm_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, /* Public APIs */ -int tfc_tbl_scope_qcaps(struct tfc *tfcp, bool *tbl_scope_capable, - uint32_t *max_lkup_rec_cnt, - uint32_t *max_act_rec_cnt, - uint8_t *max_lkup_static_buckets_exp) +int tfc_tbl_scope_qcaps(struct tfc *tfcp, struct tfc_tbl_scope_qcaps_parms *parms) { int rc = 0; @@ -890,14 +887,17 @@ int tfc_tbl_scope_qcaps(struct tfc *tfcp, bool *tbl_scope_capable, PMD_DRV_LOG_LINE(ERR, "Invalid tfcp pointer"); return -EINVAL; } - if (tbl_scope_capable == NULL) { - PMD_DRV_LOG_LINE(ERR, "Invalid tbl_scope_capable pointer"); + if (parms == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid parms", __func__); return -EINVAL; } - rc = tfc_msg_tbl_scope_qcaps(tfcp, tbl_scope_capable, max_lkup_rec_cnt, - max_act_rec_cnt, - max_lkup_static_buckets_exp); + rc = tfc_msg_tbl_scope_qcaps(tfcp, &parms->tbl_scope_cap, + &parms->global_cap, + &parms->locked_cap, + &parms->max_lkup_rec_cnt, + &parms->max_act_rec_cnt, + &parms->max_lkup_static_bucket_exp); if (rc) PMD_DRV_LOG_LINE(ERR, "table scope qcaps message failed, rc:%s", @@ -927,15 +927,15 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, } if (is_pow2(parms->max_pools)) { - PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", - __func__, parms->max_pools); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid max_pools %u not pow2", + __func__, parms->max_pools); return -EINVAL; } for (dir = CFA_DIR_RX; dir < CFA_DIR_MAX; dir++) { rc = calc_lkup_rec_cnt(parms->flow_cnt[dir], parms->key_sz_in_bytes[dir], - parms->shared, parms->factor, + parms->scope_type, parms->factor, &parms->lkup_rec_cnt[dir], &parms->static_bucket_cnt_exp[dir], &parms->dynamic_bucket_cnt[dir]); @@ -970,7 +970,7 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, return rc; } -int tfc_tbl_scope_id_alloc(struct tfc *tfcp, bool shared, +int tfc_tbl_scope_id_alloc(struct tfc *tfcp, enum cfa_scope_type scope_type, enum cfa_app_type app_type, uint8_t *tsid, bool *first) { @@ -994,13 +994,13 @@ int tfc_tbl_scope_id_alloc(struct tfc *tfcp, bool shared, return -EINVAL; } rc = tfc_msg_tbl_scope_id_alloc(tfcp, ((struct bnxt *)tfcp->bp)->fw_fid, - shared, app_type, tsid, first); + scope_type, app_type, tsid, first); if (rc) { PMD_DRV_LOG_LINE(ERR, "table scope ID alloc message failed, rc:%s", strerror(-rc)); } else { - rc = tfo_ts_set(tfcp->tfo, *tsid, shared, app_type, valid, 0); + rc = tfo_ts_set(tfcp->tfo, *tsid, scope_type, app_type, valid, 0); } return rc; } @@ -1014,7 +1014,6 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint64_t act_base_addr[2]; int dir; int rc = 0; - bool shared = false; uint32_t page_sz; uint16_t pfid; uint8_t lkup_pbl_level[2]; @@ -1044,8 +1043,8 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, } if (is_pow2(parms->max_pools)) { - PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", - __func__, parms->max_pools); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid max_pools %u not pow2", + __func__, parms->max_pools); return -EINVAL; } @@ -1083,12 +1082,6 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, return rc; } - /* - * A shared table scope will have more than 1 pool - */ - if (parms->max_pools > 1) - shared = true; - /* If we are running on a PF, we will allocate memory locally */ if (is_pf) { @@ -1176,9 +1169,9 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, goto cleanup; } - /* Set shared and valid in local state */ + /* Set scope_type and valid in local state */ valid = true; - rc = tfo_ts_set(tfcp->tfo, tsid, shared, CFA_APP_TYPE_TF, + rc = tfo_ts_set(tfcp->tfo, tsid, parms->scope_type, CFA_APP_TYPE_TF, valid, parms->max_pools); if (rc) goto cleanup; @@ -1190,7 +1183,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, cfg_cnt++; } - cparms.shared = shared; + cparms.scope_type = parms->scope_type; cparms.max_pools = parms->max_pools; for (dir = 0; dir < CFA_DIR_MAX; dir++) { @@ -1205,7 +1198,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, /* If not shared, allocate the single pool_id in each region * so that we can save the associated fid for the table scope */ - if (!shared) { + if (parms->scope_type == CFA_SCOPE_TYPE_NON_SHARED) { uint16_t pool_id; enum cfa_region_type region; uint16_t max_vf; @@ -1239,7 +1232,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, } else /* this is a VF */ { /* If first or !shared, send message to PF to allocate the memory */ - if (parms->first || !shared) { + if (parms->first || parms->scope_type == CFA_SCOPE_TYPE_NON_SHARED) { struct tfc_vf2pf_tbl_scope_mem_alloc_cfg_cmd req = { { 0 } }; struct tfc_vf2pf_tbl_scope_mem_alloc_cfg_resp resp = { { 0 } }; uint16_t fid; @@ -1252,6 +1245,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, req.hdr.fid = fid; req.tsid = tsid; req.max_pools = parms->max_pools; + req.scope_type = parms->scope_type; for (dir = CFA_DIR_RX; dir < CFA_DIR_MAX; dir++) { req.static_bucket_cnt_exp[dir] = parms->static_bucket_cnt_exp[dir]; req.dynamic_bucket_cnt[dir] = parms->dynamic_bucket_cnt[dir]; @@ -1298,9 +1292,9 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, if (rc) goto cleanup; - /* Set shared and valid in local state */ + /* Set scope_type and valid in local state */ valid = true; - rc = tfo_ts_set(tfcp->tfo, tsid, shared, CFA_APP_TYPE_TF, + rc = tfo_ts_set(tfcp->tfo, tsid, parms->scope_type, CFA_APP_TYPE_TF, valid, parms->max_pools); } } @@ -1330,7 +1324,8 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, return rc; } -int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) +int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid, + uint16_t fid_cnt) { struct tfc_ts_mem_cfg mem_cfg; bool local; @@ -1338,7 +1333,9 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) int lrc = 0; int rc = 0; bool is_pf = false; - bool shared; + enum cfa_scope_type scope_type; + struct tfc_cpm *cpm_lkup; + struct tfc_cpm *cpm_act; if (tfcp == NULL) { PMD_DRV_LOG_LINE(ERR, "Invalid tfcp pointer"); @@ -1355,7 +1352,7 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) return -EINVAL; } - rc = tfo_ts_get(tfcp->tfo, tsid, &shared, NULL, NULL, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, NULL, NULL); if (rc) return rc; @@ -1370,7 +1367,6 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) return rc; if (!is_pf) { - PMD_DRV_LOG_LINE(DEBUG, "Send VF2PF message and await response"); struct tfc_vf2pf_tbl_scope_mem_free_cmd req = { { 0 } }; struct tfc_vf2pf_tbl_scope_mem_free_resp resp = { { 0 } }; uint16_t fid; @@ -1382,22 +1378,44 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) req.hdr.type = TFC_VF2PF_TYPE_TBL_SCOPE_MEM_FREE_CMD; req.hdr.fid = fid; req.tsid = tsid; - rc = tfc_vf2pf_mem_free(tfcp, &req, &resp); - if (rc != 0) { - PMD_DRV_LOG_LINE(ERR, "tfc_vf2pf_mem_free failed"); - /* continue cleanup regardless */ - } - PMD_DRV_LOG_LINE(DEBUG, "%s: tsid: %d, status %d", - __func__, resp.tsid, resp.status); - if (shared) { + if (rc != 0) + PMD_DRV_LOG_LINE(ERR, "%s: tfc_vf2pf_mem_free failed", + __func__); + /* continue cleanup regardless */ + + if (scope_type == CFA_SCOPE_TYPE_SHARED_APP) { + /* + * Check if any direction has a CPM instance and, if so, free + * it. + */ + rc = tfo_ts_get_cpm_inst(tfcp->tfo, tsid, CFA_DIR_RX, &cpm_lkup, + &cpm_act); + if (rc == 0 && (cpm_lkup != NULL || cpm_act != NULL)) + (void)tfc_tbl_scope_cpm_free(tfcp, tsid); + /* reset scope */ - tfo_ts_set(tfcp->tfo, tsid, false, CFA_APP_TYPE_INVALID, false, 0); + tfo_ts_set(tfcp->tfo, tsid, CFA_SCOPE_TYPE_INVALID, + CFA_APP_TYPE_INVALID, false, 0); + return rc; + } else if (scope_type == CFA_SCOPE_TYPE_GLOBAL) { + if (fid_cnt == 0) { + /* + * Check if any direction has a CPM instance and, if so, free + * it. + */ + rc = tfo_ts_get_cpm_inst(tfcp->tfo, tsid, CFA_DIR_RX, &cpm_lkup, + &cpm_act); + if (rc == 0 && (cpm_lkup != NULL || cpm_act != NULL)) + (void)tfc_tbl_scope_cpm_free(tfcp, tsid); + /* reset scope */ + tfo_ts_set(tfcp->tfo, tsid, CFA_SCOPE_TYPE_INVALID, + CFA_APP_TYPE_INVALID, false, 0); + } return rc; } } - - if (shared && is_pf) { + if (scope_type != CFA_SCOPE_TYPE_NON_SHARED && is_pf) { uint16_t pool_cnt; uint16_t max_vf; @@ -1423,13 +1441,6 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) } } - /* Send Deconfig HWRM before freeing memory */ - rc = tfc_msg_tbl_scope_deconfig(tfcp, tsid); - if (rc) { - PMD_DRV_LOG_LINE(ERR, "deconfig failure: %s", strerror(-rc)); - return rc; - } - for (region = 0; region < CFA_REGION_TYPE_MAX; region++) { for (dir = 0; dir < CFA_DIR_MAX; dir++) { lrc = tfo_ts_get_mem_cfg(tfcp->tfo, tsid, dir, region, &local, @@ -1462,8 +1473,7 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) } } /* cleanup state */ - rc = tfo_ts_set(tfcp->tfo, tsid, false, CFA_APP_TYPE_INVALID, false, 0); - + rc = tfo_ts_set(tfcp->tfo, tsid, CFA_SCOPE_TYPE_INVALID, CFA_APP_TYPE_INVALID, false, 0); return rc; } @@ -1499,8 +1509,6 @@ int tfc_tbl_scope_fid_add(struct tfc *tfcp, uint16_t fid, uint8_t tsid, int tfc_tbl_scope_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint16_t *fid_cnt) { - struct tfc_cpm *cpm_lkup; - struct tfc_cpm *cpm_act; int rc = 0; if (tfcp == NULL) { @@ -1529,16 +1537,6 @@ int tfc_tbl_scope_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, "table scope fid rem message failed, rc:%s", strerror(-rc)); - /* - * Check if any direction has a CPM instance and, if so, free - * it. - */ - rc = tfo_ts_get_cpm_inst(tfcp->tfo, tsid, CFA_DIR_RX, &cpm_lkup, - &cpm_act); - if (rc == 0 && (cpm_lkup != NULL || cpm_act != NULL)) - (void)tfc_tbl_scope_cpm_free(tfcp, tsid); - - /* tbl_scope_mem_free() will reset the remaining tsid state */ return rc; } @@ -1547,7 +1545,7 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, { int dir; struct tfc_ts_pool_info pi; - bool is_shared; + enum cfa_scope_type scope_type; int rc; struct tfc_cmm *cmm_lkup = NULL; struct tfc_cmm *cmm_act = NULL; @@ -1560,8 +1558,9 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, PMD_DRV_LOG_LINE(ERR, "tsid(%d) invalid", tsid); return -EINVAL; } - if (tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, NULL, NULL)) { - PMD_DRV_LOG_LINE(ERR, "tsid(%d) info get failed", tsid); + if (tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, NULL, NULL)) { + PMD_DRV_LOG_LINE(ERR, "%s: tsid(%d) info get failed", + __func__, tsid); return -EINVAL; } @@ -1569,6 +1568,14 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, */ for (dir = 0; dir < CFA_DIR_MAX; dir++) { tfo_ts_get_pool_info(tfcp->tfo, tsid, dir, &pi); + + /* If global scope, do not overwrite the CPM instance + * already configured + */ + if (scope_type == CFA_SCOPE_TYPE_GLOBAL && + pi.act_cpm) + return 0; + pi.lkup_max_contig_rec = parms->lkup_max_contig_rec[dir]; pi.act_max_contig_rec = parms->act_max_contig_rec[dir]; tfc_cpm_open(&pi.lkup_cpm, parms->max_pools); @@ -1578,12 +1585,13 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, tfo_ts_set_cpm_inst(tfcp->tfo, tsid, dir, pi.lkup_cpm, pi.act_cpm); tfo_ts_set_pool_info(tfcp->tfo, tsid, dir, &pi); + /* If not shared create CMM instance for and populate CPM with pool_id 0. * If shared, a pool_id will be allocated during tfc_act_alloc() or * tfc_em_insert() and the CMM instance will be created on the first * call. */ - if (!is_shared) { + if (scope_type == CFA_SCOPE_TYPE_NON_SHARED) { struct cfa_mm_query_parms qparms; struct cfa_mm_open_parms oparms; uint32_t pool_id = 0; @@ -1704,7 +1712,6 @@ int tfc_tbl_scope_cpm_free(struct tfc *tfcp, uint8_t tsid) return -EINVAL; } - for (dir = 0; dir < CFA_DIR_MAX; dir++) { uint16_t pool_id; struct tfc_cmm *cmm; @@ -1801,7 +1808,7 @@ int tfc_tbl_scope_pool_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, } if (is_pf) { - rc = tfo_tim_get(tfcp->tfo, &tim); + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); if (rc) { PMD_DRV_LOG_LINE(ERR, "Failed to get TIM"); return -EINVAL; @@ -1895,7 +1902,7 @@ int tfc_tbl_scope_pool_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid, } if (is_pf) { - rc = tfo_tim_get(tfcp->tfo, &tim); + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); if (rc) return -EINVAL; @@ -2000,7 +2007,7 @@ static void tfc_tbl_scope_delete_by_pool(uint16_t *found_cnt, int tfc_tbl_scope_func_reset(struct tfc *tfcp, uint16_t fid) { int rc = 0; - bool shared; + enum cfa_scope_type scope_type; enum cfa_app_type app; bool valid; uint8_t tsid; @@ -2026,20 +2033,20 @@ int tfc_tbl_scope_func_reset(struct tfc *tfcp, uint16_t fid) return -EINVAL; } - rc = tfo_tim_get(tfcp->tfo, &tim); - if (rc) { - PMD_DRV_LOG_LINE(ERR, "Failed to get TIM"); - return -EINVAL; - } - data = rte_zmalloc("data", 32 * TFC_MPC_BYTES_PER_WORD, 32); for (tsid = 1; tsid < TFC_TBL_SCOPE_MAX; tsid++) { - rc = tfo_ts_get(tfcp->tfo, tsid, &shared, &app, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, &app, &valid, NULL); if (rc) continue; /* TS is not used, move on to the next */ - if (!shared || !valid) + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); + if (rc) { + PMD_DRV_LOG_LINE(INFO, "%s: Failed to get TIM", __func__); + continue; + } + + if (scope_type == CFA_SCOPE_TYPE_NON_SHARED || !valid) continue; /* TS invalid or not shared, move on */ for (dir = 0; dir < CFA_DIR_MAX; dir++) { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c b/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c index cff93f931f..3b7ca7b8b1 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c @@ -1804,7 +1804,7 @@ int tfc_wc_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir) struct wc_frp_context wc_frp; bool is_bs_owner; struct bnxt *bp; - bool is_shared; + enum cfa_scope_type scope_type; bool valid; int rc = 0; diff --git a/drivers/net/bnxt/tf_core/v3/tfc_util.c b/drivers/net/bnxt/tf_core/v3/tfc_util.c index 91ad3ad657..ac6f9cc565 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_util.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_util.c @@ -145,6 +145,21 @@ tfc_ts_region_2_str(enum cfa_region_type region, enum cfa_dir dir) } } +const char * +tfc_scope_type_2_str(enum cfa_scope_type scope_type) +{ + switch (scope_type) { + case CFA_SCOPE_TYPE_NON_SHARED: + return "non_shared"; + case CFA_SCOPE_TYPE_SHARED_APP: + return "shared_app"; + case CFA_SCOPE_TYPE_GLOBAL: + return "global"; + default: + return "Invalid scope type"; + } +} + uint32_t tfc_getbits(uint32_t *data, int offset, int blen) { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_util.h b/drivers/net/bnxt/tf_core/v3/tfc_util.h index 5114517792..f71ade5c59 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_util.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_util.h @@ -87,6 +87,17 @@ const char *tfc_ts_region_2_str(enum cfa_region_type region, enum cfa_dir dir); */ const char *tfc_if_tbl_2_str(enum cfa_resource_subtype_if_tbl if_tbl_stype); +/** + * Helper function converting the scope type to text string + * + * [in] scope_type: table scope type + * + * Returns: + * Pointer to a char string holding the string for scope type + */ +const char *tfc_scope_type_2_str(enum cfa_scope_type scope_type); + + /** * Helper function retrieving field value from the buffer * diff --git a/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c index cbe243e79c..7550ed4e84 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c @@ -179,6 +179,7 @@ tfc_vf2pf_mem_alloc_process(struct tfc *tfcp, /* This is not for local use if we are getting a message from the VF */ ma_parms.local = false; ma_parms.max_pools = req->max_pools; + ma_parms.scope_type = req->scope_type; rc = tfc_tbl_scope_mem_alloc(tfcp, req->hdr.fid, req->tsid, &ma_parms); if (rc == 0) { PMD_DRV_LOG_LINE(ERR, "tsid(%d) PF allocation succeeds", @@ -222,7 +223,7 @@ tfc_vf2pf_mem_free_process(struct tfc *tfcp, PMD_DRV_LOG_LINE(ERR, "Table scope mem free cfg cmd:"); PMD_DRV_LOG_LINE(ERR, "\ttsid: 0x%x", req->tsid); - rc = tfc_tbl_scope_mem_free(tfcp, req->hdr.fid, req->tsid); + rc = tfc_tbl_scope_mem_free(tfcp, req->hdr.fid, req->tsid, 0); if (rc == 0) { PMD_DRV_LOG_LINE(ERR, "tsid(%d) PF free succeeds", req->tsid); } else { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h index efa35665f6..5bc592de9b 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h @@ -73,6 +73,8 @@ struct tfc_vf2pf_tbl_scope_mem_alloc_cfg_cmd { uint8_t act_pool_sz_exp[CFA_DIR_MAX]; /** start offset in 32B records of the lkup recs (after buckets) */ uint32_t lkup_rec_start_offset[CFA_DIR_MAX]; + /** scope type non-shared, shared-app or global */ + enum cfa_scope_type scope_type; }; /** * Truflow VF2PF Table Scope Memory allocate/config response @@ -103,7 +105,7 @@ struct tfc_vf2pf_tbl_scope_mem_free_resp { struct tfc_vf2pf_hdr hdr; /** status of request */ enum tfc_vf2pf_status status; - /** tsid memory freed */ + /** table scope identifier */ uint8_t tsid; }; diff --git a/drivers/net/bnxt/tf_core/v3/tfo.c b/drivers/net/bnxt/tf_core/v3/tfo.c index 12d80877a6..0d304f7d56 100644 --- a/drivers/net/bnxt/tf_core/v3/tfo.c +++ b/drivers/net/bnxt/tf_core/v3/tfo.c @@ -14,8 +14,8 @@ */ struct tfc_tsid_db { bool ts_valid; /**< Table scope is valid */ - bool ts_is_shared; /**< Table scope is shared */ - bool ts_is_bs_owner; /**< Backing store allocated by this instance (PF) */ + enum cfa_scope_type scope_type; /**< non-shared, shared-app, global */ + bool ts_is_bs_owner; /**< Backing store alloced by this instance (PF) */ uint16_t ts_max_pools; /**< maximum pools per CPM instance */ enum cfa_app_type ts_app; /**< application type TF/AFM */ /** backing store memory config */ @@ -24,6 +24,22 @@ struct tfc_tsid_db { struct tfc_ts_pool_info ts_pool[CFA_DIR_MAX]; }; +/* Only a single global scope is allowed + */ +#define TFC_GLOBAL_SCOPE_MAX 1 + +/* TFC Global Object + * The global object is not per port, it is global. It is only + * used when a global table scope is created. + */ +struct tfc_global_object { + uint8_t gtsid; + struct tfc_tsid_db gtsid_db; + void *gts_tim; +}; + +struct tfc_global_object tfc_global; + /** TFC Object Signature * This signature identifies the tfc object database and * is used for pointer validation @@ -48,12 +64,14 @@ struct tfc_object { * table scope. Only valid on a PF. */ void *ts_tim; + struct tfc_global_object *tfgo; /**< pointer to global */ }; void tfo_open(void **tfo, bool is_pf) { int rc; struct tfc_object *tfco = NULL; + struct tfc_global_object *tfgo; uint32_t tim_db_size; if (tfo == NULL) { @@ -79,7 +97,7 @@ void tfo_open(void **tfo, bool is_pf) return; } if (is_pf) { - /* Allocate TIM */ + /* Allocate per bp TIM database */ rc = cfa_tim_query(TFC_TBL_SCOPE_MAX, CFA_REGION_TYPE_MAX, &tim_db_size); if (rc) @@ -99,7 +117,31 @@ void tfo_open(void **tfo, bool is_pf) goto cleanup; } } + tfco->tfgo = &tfc_global; + tfgo = tfco->tfgo; + if (is_pf && !tfgo->gts_tim) { + /* Allocate global scope TIM database */ + rc = cfa_tim_query(TFC_GLOBAL_SCOPE_MAX + 1, CFA_REGION_TYPE_MAX, + &tim_db_size); + if (rc) + goto cleanup; + + tfgo->gts_tim = rte_zmalloc("GTIM", tim_db_size, 0); + if (!tfgo->gts_tim) + goto cleanup; + + rc = cfa_tim_open(tfgo->gts_tim, + tim_db_size, + TFC_GLOBAL_SCOPE_MAX + 1, + CFA_REGION_TYPE_MAX); + if (rc) { + rte_free(tfgo->gts_tim); + tfgo->gts_tim = NULL; + goto cleanup; + } + } + tfgo->gtsid = INVALID_TSID; *tfo = tfco; return; @@ -119,13 +161,11 @@ void tfo_close(void **tfo) if (*tfo && tfco->signature == TFC_OBJ_SIGNATURE) { /* If TIM is setup free it and any TPMs */ - if (tfo_tim_get(*tfo, &tim)) - goto done; - - if (!tim) - goto done; - for (tsid = 0; tsid < TFC_TBL_SCOPE_MAX; tsid++) { + if (tfo_tim_get(*tfo, &tim, tsid)) + continue; + if (!tim) + continue; for (region = 0; region < CFA_REGION_TYPE_MAX; region++) { for (dir = 0; dir < CFA_DIR_MAX; dir++) { tpm = NULL; @@ -145,10 +185,13 @@ void tfo_close(void **tfo) } } } - rte_free(tim); + if (tim) + rte_free(tim); tfco->ts_tim = NULL; -done: - rte_free(*tfo); + tfco->tfgo = NULL; + + if (*tfo) + rte_free(*tfo); *tfo = NULL; } } @@ -176,6 +219,7 @@ int tfo_mpcinfo_get(void *tfo, struct cfa_bld_mpcinfo **mpc_info) int tfo_ts_validate(void *tfo, uint8_t ts_tsid, bool *ts_valid) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; if (tfo == NULL) { @@ -192,7 +236,11 @@ int tfo_ts_validate(void *tfo, uint8_t ts_tsid, bool *ts_valid) PMD_DRV_LOG_LINE(ERR, "Invalid tsid %d", ts_tsid); return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; if (ts_valid) *ts_valid = tsid_db->ts_valid; @@ -200,10 +248,11 @@ int tfo_ts_validate(void *tfo, uint8_t ts_tsid, bool *ts_valid) return 0; } -int tfo_ts_set(void *tfo, uint8_t ts_tsid, bool ts_is_shared, +int tfo_ts_set(void *tfo, uint8_t ts_tsid, enum cfa_scope_type scope_type, enum cfa_app_type ts_app, bool ts_valid, uint16_t ts_max_pools) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; if (tfo == NULL) { @@ -220,21 +269,32 @@ int tfo_ts_set(void *tfo, uint8_t ts_tsid, bool ts_is_shared, return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (scope_type == CFA_SCOPE_TYPE_GLOBAL) { + tsid_db = &tfgo->gtsid_db; + tfgo->gtsid = ts_tsid; + } else if (scope_type == CFA_SCOPE_TYPE_INVALID && tfgo && + ts_tsid == tfgo->gtsid) { + tfgo->gtsid = INVALID_TSID; + tsid_db = &tfgo->gtsid_db; + } else { + tsid_db = &tfco->tsid_db[ts_tsid]; + } tsid_db->ts_valid = ts_valid; - tsid_db->ts_is_shared = ts_is_shared; + tsid_db->scope_type = scope_type; tsid_db->ts_app = ts_app; tsid_db->ts_max_pools = ts_max_pools; return 0; } -int tfo_ts_get(void *tfo, uint8_t ts_tsid, bool *ts_is_shared, +int tfo_ts_get(void *tfo, uint8_t ts_tsid, enum cfa_scope_type *scope_type, enum cfa_app_type *ts_app, bool *ts_valid, uint16_t *ts_max_pools) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; if (tfo == NULL) { @@ -250,13 +310,17 @@ int tfo_ts_get(void *tfo, uint8_t ts_tsid, bool *ts_is_shared, return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (ts_tsid == tfgo->gtsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; if (ts_valid) *ts_valid = tsid_db->ts_valid; - if (ts_is_shared) - *ts_is_shared = tsid_db->ts_is_shared; + if (scope_type) + *scope_type = tsid_db->scope_type; if (ts_app) *ts_app = tsid_db->ts_app; @@ -274,6 +338,7 @@ int tfo_ts_set_mem_cfg(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, struct tfc_ts_mem_cfg *mem_cfg) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; int rc = 0; struct tfc_tsid_db *tsid_db; @@ -294,7 +359,11 @@ int tfo_ts_set_mem_cfg(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; tsid_db->ts_mem[region][dir] = *mem_cfg; tsid_db->ts_is_bs_owner = is_bs_owner; @@ -309,6 +378,7 @@ int tfo_ts_get_mem_cfg(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, struct tfc_ts_mem_cfg *mem_cfg) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; int rc = 0; struct tfc_tsid_db *tsid_db; @@ -329,7 +399,11 @@ int tfo_ts_get_mem_cfg(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; *mem_cfg = tsid_db->ts_mem[region][dir]; if (is_bs_owner) @@ -345,6 +419,7 @@ int tfo_ts_get_cpm_inst(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, { int rc = 0; struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; if (tfo == NULL) { @@ -368,7 +443,11 @@ int tfo_ts_get_cpm_inst(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; *cpm_lkup = tsid_db->ts_pool[dir].lkup_cpm; *cpm_act = tsid_db->ts_pool[dir].act_cpm; @@ -382,6 +461,7 @@ int tfo_ts_set_cpm_inst(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, { int rc = 0; struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; if (tfo == NULL) { @@ -396,7 +476,11 @@ int tfo_ts_set_cpm_inst(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, PMD_DRV_LOG_LINE(ERR, "Invalid tsid %d", ts_tsid); return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; tsid_db->ts_pool[dir].lkup_cpm = cpm_lkup; tsid_db->ts_pool[dir].act_cpm = cpm_act; @@ -409,6 +493,7 @@ int tfo_ts_set_pool_info(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, struct tfc_ts_pool_info *ts_pool) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; int rc = 0; struct tfc_tsid_db *tsid_db; @@ -428,7 +513,12 @@ int tfo_ts_set_pool_info(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, PMD_DRV_LOG_LINE(ERR, "Invalid tsid %d", ts_tsid); return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; tsid_db->ts_pool[dir] = *ts_pool; @@ -441,6 +531,7 @@ int tfo_ts_get_pool_info(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, struct tfc_ts_pool_info *ts_pool) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; int rc = 0; struct tfc_tsid_db *tsid_db; @@ -460,7 +551,11 @@ int tfo_ts_get_pool_info(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, PMD_DRV_LOG_LINE(ERR, "Invalid tsid %d", ts_tsid); return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; *ts_pool = tsid_db->ts_pool[dir]; @@ -519,9 +614,10 @@ int tfo_sid_get(void *tfo, uint16_t *sid) return 0; } -int tfo_tim_set(void *tfo, void *tim) +int tfo_tim_get(void *tfo, void **tim, uint8_t ts_tsid) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; if (tfo == NULL) { PMD_DRV_LOG_LINE(ERR, "Invalid tfo pointer"); @@ -532,68 +628,60 @@ int tfo_tim_set(void *tfo, void *tim) return -EINVAL; } if (tim == NULL) { - PMD_DRV_LOG_LINE(ERR, "Invalid tim pointer"); - return -EINVAL; - } - - if (tfco->ts_tim != NULL && - tfco->ts_tim != tim) { - PMD_DRV_LOG_LINE(ERR, - "Cannot set TS TIM, TIM is already set"); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tim pointer to pointer", + __func__); return -EINVAL; } - tfco->ts_tim = tim; + *tim = NULL; + tfgo = tfco->tfgo; - return 0; -} - -int tfo_tim_get(void *tfo, void **tim) -{ - struct tfc_object *tfco = (struct tfc_object *)tfo; - - if (tfo == NULL) { - PMD_DRV_LOG_LINE(ERR, "Invalid tfo pointer"); - return -EINVAL; - } - if (tfco->signature != TFC_OBJ_SIGNATURE) { - PMD_DRV_LOG_LINE(ERR, "Invalid tfo object"); - return -EINVAL; - } - if (tim == NULL) { - PMD_DRV_LOG_LINE(ERR, "Invalid tim pointer to pointer"); - return -EINVAL; - } - if (tfco->ts_tim == NULL) { + if (ts_tsid == tfgo->gtsid) { + if (!tfgo->gts_tim) /* ts tim could be null, no need to log error message */ - return -ENODEV; + return -ENODATA; + *tim = tfgo->gts_tim; + } else { + if (!tfco->ts_tim) + /* ts tim could be null, no need to log error message */ + return -ENODATA; + *tim = tfco->ts_tim; } - *tim = tfco->ts_tim; - return 0; } - int tfo_tsid_get(void *tfo, uint8_t *tsid) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; uint8_t i; if (tfo == NULL) { - PMD_DRV_LOG(ERR, "%s: Invalid tfo pointer", __func__); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tfo pointer", + __func__); return -EINVAL; } if (tfco->signature != TFC_OBJ_SIGNATURE) { - PMD_DRV_LOG(ERR, "%s: Invalid tfo object", __func__); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tfo object", + __func__); return -EINVAL; } if (tsid == NULL) { - PMD_DRV_LOG(ERR, "%s: Invalid tsid pointer", __func__); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tsid pointer", + __func__); return -EINVAL; } + tfgo = tfco->tfgo; + if (tfgo) { + tsid_db = &tfgo->gtsid_db; + if (tsid_db->ts_valid && tfgo->gtsid != INVALID_TSID) { + *tsid = tfgo->gtsid; + return 0; + } + } for (i = 1; i < TFC_TBL_SCOPE_MAX; i++) { tsid_db = &tfco->tsid_db[i]; diff --git a/drivers/net/bnxt/tf_core/v3/tfo.h b/drivers/net/bnxt/tf_core/v3/tfo.h index e572db5991..93a6a5c064 100644 --- a/drivers/net/bnxt/tf_core/v3/tfo.h +++ b/drivers/net/bnxt/tf_core/v3/tfo.h @@ -50,6 +50,10 @@ * @ref tfo_sid_set * * @ref tfo_sid_get + * + * @ref tfo_tim_get + * + * @ref tfo_tsid_get */ /** Invalid Table Scope ID */ @@ -161,8 +165,8 @@ int tfo_ts_validate(void *tfo, uint8_t ts_tsid, bool *ts_valid); * @param[in] ts_tsid * The table scope ID * - * @param[in] ts_is_shared - * True if the table scope is shared + * @param[in] scope_type + * non-shared, shared-app or global * * @param[in] ts_app * Application type TF/AFM @@ -171,12 +175,12 @@ int tfo_ts_validate(void *tfo, uint8_t ts_tsid, bool *ts_valid); * True if the table scope is valid * * @param[in] ts_max_pools - * Maximum number of pools if shared. + * Maximum number of pools * * @return * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfo_ts_set(void *tfo, uint8_t ts_tsid, bool ts_is_shared, +int tfo_ts_set(void *tfo, uint8_t ts_tsid, enum cfa_scope_type scope_type, enum cfa_app_type ts_app, bool ts_valid, uint16_t ts_max_pools); @@ -189,8 +193,8 @@ int tfo_ts_set(void *tfo, uint8_t ts_tsid, bool ts_is_shared, * @param[in] ts_tsid * The table scope ID * - * @param[out] ts_is_shared - * True if the table scope is shared + * @param[out] scope_type + * True if the table scope is sharednon-shared, shared-app, global * * @param[out] ts_app * Application type TF/AFM @@ -199,12 +203,12 @@ int tfo_ts_set(void *tfo, uint8_t ts_tsid, bool ts_is_shared, * True if the table scope is valid * * @param[out] ts_max_pools - * Maximum number of pools returned if shared. + * Maximum number of pools. * * @return * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfo_ts_get(void *tfo, uint8_t ts_tsid, bool *ts_is_shared, +int tfo_ts_get(void *tfo, uint8_t ts_tsid, enum cfa_scope_type *scope_type, enum cfa_app_type *ts_app, bool *ts_valid, uint16_t *ts_max_pools); @@ -399,32 +403,35 @@ int tfo_sid_set(void *tfo, uint16_t sid); int tfo_sid_get(void *tfo, uint16_t *sid); /** - * Set the table scope instance manager. + * Get the table scope instance manager. * * @param[in] tfo * Pointer to TFC object * - * @param[in] tim - * Pointer to the table scope instance manager + * @param[out] tim + * Pointer to a pointer to the table scope instance manager + * + * @param[in] ts_tsid + * Table scope id * * @return * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfo_tim_set(void *tfo, void *tim); +int tfo_tim_get(void *tfo, void **tim, uint8_t ts_tsid); /** - * Get the table scope instance manager. + * Get the table scope * * @param[in] tfo * Pointer to TFC object * - * @param[out] tim - * Pointer to a pointer to the table scope instance manager + * @param[out] tsid + * Pointer to the returned table scope * * @return * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfo_tim_get(void *tfo, void **tim); +int tfo_tsid_get(void *tfo, uint8_t *tsid); /** * Get the table scope diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 084a3db92d..8443e3e7ba 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -20,6 +20,7 @@ #include "bnxt_tf_common.h" #include "hsi_struct_def_dpdk.h" #include "tf_core.h" +#include "tfc_util.h" #include "tf_ext_flow_handle.h" #include "ulp_template_db_enum.h" @@ -313,14 +314,6 @@ ulp_tfc_tbl_scope_deinit(struct bnxt *bp) if (rc) return; - rc = tfc_tbl_scope_cpm_free(tfcp, tsid); - if (rc) - BNXT_DRV_DBG(ERR, "Failed Freeing CPM TSID:%d FID:%d\n", - tsid, fid); - else - BNXT_DRV_DBG(DEBUG, "Freed CPM TSID:%d FID: %d\n", tsid, fid); - - rc = tfc_tbl_scope_fid_rem(tfcp, fid, tsid, &fid_cnt); if (rc) BNXT_DRV_DBG(ERR, "Failed removing FID from TSID:%d FID:%d", @@ -329,7 +322,14 @@ ulp_tfc_tbl_scope_deinit(struct bnxt *bp) BNXT_DRV_DBG(DEBUG, "Removed FID from TSID:%d FID:%d", tsid, fid); - rc = tfc_tbl_scope_mem_free(tfcp, fid, tsid); + rc = tfc_tbl_scope_cpm_free(tfcp, tsid); + if (rc) + BNXT_DRV_DBG(ERR, "Failed Freeing CPM TSID:%d FID:%d", + tsid, fid); + else + BNXT_DRV_DBG(DEBUG, "Freed CPM TSID:%d FID: %d", tsid, fid); + + rc = tfc_tbl_scope_mem_free(tfcp, fid, tsid, fid_cnt); if (rc) BNXT_DRV_DBG(ERR, "Failed freeing tscope mem TSID:%d FID:%d", tsid, fid); @@ -345,8 +345,10 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) struct tfc_tbl_scope_size_query_parms qparms = { 0 }; uint16_t max_lkup_sz[CFA_DIR_MAX], max_act_sz[CFA_DIR_MAX]; struct tfc_tbl_scope_cpm_alloc_parms cparms; + struct tfc_tbl_scope_qcaps_parms qcparms; uint16_t fid, max_pools; - bool first = true, shared = false; + bool first = true; + enum cfa_scope_type scope_type = CFA_SCOPE_TYPE_NON_SHARED; uint64_t feat_bits; uint8_t tsid = 0; struct tfc *tfcp; @@ -368,18 +370,37 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) max_act_sz[CFA_DIR_TX] = bnxt_ulp_cntxt_act_rec_tx_max_sz_get(bp->ulp_ctx); - shared = bnxt_ulp_cntxt_shared_tbl_scope_enabled(bp->ulp_ctx); + if (bnxt_ulp_cntxt_shared_tbl_scope_enabled(bp->ulp_ctx)) + scope_type = CFA_SCOPE_TYPE_SHARED_APP; feat_bits = bnxt_ulp_feature_bits_get(bp->ulp_ctx); if ((feat_bits & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE)) { if (!BNXT_PF(bp)) { - shared = true; + scope_type = CFA_SCOPE_TYPE_SHARED_APP; max_pools = 32; } } + rc = tfc_tbl_scope_qcaps(tfcp, &qcparms); + if (rc) { + PMD_DRV_LOG_LINE(ERR, + "Failed obtaining table scope capabilities"); + return rc; + } + + if (feat_bits & BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT) { + if (qcparms.global_cap) { + scope_type = CFA_SCOPE_TYPE_GLOBAL; + max_pools = 4; + } else { + PMD_DRV_LOG_LINE(ERR, + "Socket direct requires global scope"); + return -EINVAL; + } + } + /* Calculate the sizes for setting up memory */ - qparms.shared = shared; + qparms.scope_type = scope_type; qparms.max_pools = max_pools; qparms.factor = bnxt_ulp_cntxt_em_mulitplier_get(bp->ulp_ctx); qparms.flow_cnt[CFA_DIR_RX] = @@ -394,15 +415,12 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) if (rc) return rc; - - - rc = tfc_tbl_scope_id_alloc(tfcp, shared, CFA_APP_TYPE_TF, &tsid, + rc = tfc_tbl_scope_id_alloc(tfcp, scope_type, CFA_APP_TYPE_TF, &tsid, &first); if (rc) { BNXT_DRV_DBG(ERR, "Failed to allocate tscope\n"); return rc; } - BNXT_DRV_DBG(DEBUG, "Allocated tscope TSID:%d\n", tsid); rc = bnxt_ulp_cntxt_tsid_set(bp->ulp_ctx, tsid); if (rc) @@ -410,7 +428,7 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) /* If we are shared and not the first table scope creator */ - if (shared && !first) { + if (scope_type != CFA_SCOPE_TYPE_NON_SHARED && !first) { bool configured; #define ULP_SHARED_TSID_WAIT_TIMEOUT 5000 #define ULP_SHARED_TSID_WAIT_TIME 50 @@ -426,12 +444,12 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) } timeout -= ULP_SHARED_TSID_WAIT_TIME; BNXT_DRV_DBG(INFO, - "Waiting %d ms for shared tsid(%d)\n", - timeout, tsid); + "Waiting %d ms for %s tsid(%d)", + timeout, tfc_scope_type_2_str(scope_type), tsid); } while (!configured && timeout > 0); if (timeout <= 0) { - BNXT_DRV_DBG(ERR, "Timed out on shared tsid(%d)\n", - tsid); + BNXT_DRV_DBG(ERR, "Timed out on %s tsid(%d)", + tfc_scope_type_2_str(scope_type), tsid); return -ETIMEDOUT; } } @@ -457,8 +475,9 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) qparms.act_pool_sz_exp[CFA_DIR_RX]; mem_parms.act_pool_sz_exp[CFA_DIR_TX] = qparms.act_pool_sz_exp[CFA_DIR_TX]; + mem_parms.scope_type = scope_type; - if (shared) + if (scope_type != CFA_SCOPE_TYPE_NON_SHARED) mem_parms.local = false; else mem_parms.local = true; @@ -540,7 +559,10 @@ ulp_tfc_cntxt_app_caps_init(struct bnxt *bp, uint8_t app_id, uint32_t dev_id) ulp_ctx->cfg_data->ulp_flags |= BNXT_ULP_APP_SOCKET_DIRECT; BNXT_DRV_DBG(DEBUG, - "Socket Direct feature is enabled\n"); + "Socket Direct feature is enabled"); + } else { + BNXT_DRV_DBG(DEBUG, + "No Socket Direct feature - must enable multiroot"); } } /* Update the capability feature bits*/ 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 02534d8fe8..c30a43568b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -911,7 +911,8 @@ enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT = 0x00000008, BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE = 0x00000010, BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN = 0x00000020, - BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040 + BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040, + BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080 }; enum bnxt_ulp_flow_dir_bitmask { -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (29 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 30/54] net/bnxt/tf_core: truflow global table scope Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 32/54] net/bnxt/tf_core: handle out of order MPC completions Manish Kurup ` (23 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shahaji Bhosle, Kishore Padmanabha From: Shahaji Bhosle <shahaji.bhosle@broadcom.com> 1. Added a new handler to GRE key input from the parser 2. Add a new pattern to match on GRE with KEY id. Signed-off-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c | 4 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 45 ++++++++++++++++++- drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 5 +++ .../net/bnxt/tf_ulp/ulp_template_db_enum.h | 3 +- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 2 + 5 files changed, 55 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c index 6e1115b985..4a7c7e437c 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c @@ -373,8 +373,8 @@ struct bnxt_ulp_rte_hdr_info ulp_hdr_info[] = { .proto_hdr_func = NULL }, [RTE_FLOW_ITEM_TYPE_GRE_KEY] = { - .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED, - .proto_hdr_func = NULL + .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED, + .proto_hdr_func = ulp_rte_gre_key_hdr_handler }, [RTE_FLOW_ITEM_TYPE_GTP_PSC] = { .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED, diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index af7f8b7ab4..ceda1ff5ef 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -31,6 +31,9 @@ #define ULP_UDP_PORT_GENEVE 6081 #define ULP_UDP_PORT_GENEVE_MASK 0xFFFF +/* GRE cks_rsvd0_ver bits */ +#define ULP_GRE_CKS_RSVD0_VER_HDR_KEY_BIT 0x2000 + /** * Geneve header first 16Bit * Version (2b), length of the options fields (6b), OAM packet (1b), @@ -1887,14 +1890,51 @@ ulp_rte_geneve_hdr_handler(const struct rte_flow_item *item, return BNXT_TF_RC_SUCCESS; } +/* Function to handle the parsing of RTE Flow item GRE Key Header. */ +int32_t +ulp_rte_gre_key_hdr_handler(const struct rte_flow_item *item, + struct ulp_rte_parser_params *params) +{ + const rte_be32_t *gre_key_spec = item->spec; + const rte_be32_t *gre_key_mask = item->mask; + rte_be32_t gre_key_full_mask = RTE_BE32(UINT32_MAX); + struct ulp_rte_hdr_bitmap *hdr_bitmap = ¶ms->hdr_bitmap; + uint32_t idx = 0; + uint32_t size; + + if (unlikely(ulp_rte_prsr_fld_size_validate(params, &idx, + BNXT_ULP_PROTO_HDR_GRE_KEY_NUM))) { + BNXT_DRV_DBG(ERR, "Error parsing protocol header"); + return BNXT_TF_RC_ERROR; + } + + if (unlikely(!(params->gre_cks_rsvd0_ver & RTE_BE16(ULP_GRE_CKS_RSVD0_VER_HDR_KEY_BIT)))) { + BNXT_DRV_DBG(ERR, "Error GRE K bit is not set"); + return BNXT_TF_RC_ERROR; + } + + if (gre_key_spec && !gre_key_mask) + gre_key_mask = &gre_key_full_mask; + + size = sizeof(uint32_t); + ulp_rte_prsr_fld_mask(params, &idx, size, + gre_key_spec, + gre_key_mask, + ULP_PRSR_ACT_DEFAULT); + + /* Update the hdr_bitmap with GRE */ + ULP_BITMAP_SET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_T_GRE_OPT); + return BNXT_TF_RC_SUCCESS; +} + /* Function to handle the parsing of RTE Flow item GRE Header. */ int32_t ulp_rte_gre_hdr_handler(const struct rte_flow_item *item, struct ulp_rte_parser_params *params) { + struct ulp_rte_hdr_bitmap *hdr_bitmap = ¶ms->hdr_bitmap; const struct rte_flow_item_gre *gre_spec = item->spec; const struct rte_flow_item_gre *gre_mask = item->mask; - struct ulp_rte_hdr_bitmap *hdr_bitmap = ¶ms->hdr_bitmap; uint32_t idx = 0; uint32_t size; @@ -1907,6 +1947,9 @@ ulp_rte_gre_hdr_handler(const struct rte_flow_item *item, if (gre_spec && !gre_mask) gre_mask = &rte_flow_item_gre_mask; + params->gre_cks_rsvd0_ver = (gre_spec && gre_mask) ? + (gre_spec->c_rsvd0_ver & gre_mask->c_rsvd0_ver) : 0; + size = sizeof(((struct rte_flow_item_gre *)NULL)->c_rsvd0_ver); ulp_rte_prsr_fld_mask(params, &idx, size, ulp_deference_struct(gre_spec, c_rsvd0_ver), diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h index 5f451ba404..92c34394ae 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h @@ -140,6 +140,11 @@ int32_t ulp_rte_geneve_hdr_handler(const struct rte_flow_item *item, struct ulp_rte_parser_params *params); +/* Function to handle the parsing of RTE Flow item GRE KEY Header. */ +int32_t +ulp_rte_gre_key_hdr_handler(const struct rte_flow_item *item, + struct ulp_rte_parser_params *params); + /* Function to handle the parsing of RTE Flow item GRE Header. */ int32_t ulp_rte_gre_hdr_handler(const struct rte_flow_item *item, 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 c30a43568b..3ce43f4c92 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -119,7 +119,8 @@ enum bnxt_ulp_hdr_bit { BNXT_ULP_HDR_BIT_NON_GENERIC = 0x0000000400000000, BNXT_ULP_HDR_BIT_GENERIC = 0x0000000800000000, BNXT_ULP_HDR_BIT_T_MPLS = 0x0000001000000000, - BNXT_ULP_HDR_BIT_LAST = 0x0000002000000000 + BNXT_ULP_HDR_BIT_T_GRE_OPT = 0x0000002000000000, + BNXT_ULP_HDR_BIT_LAST = 0x0000004000000000 }; enum bnxt_ulp_accept_opc { diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h index 5b3e82f336..f38ebcea9a 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h @@ -32,6 +32,7 @@ #define BNXT_ULP_PROTO_HDR_VXLAN_GPE_NUM 5 #define BNXT_ULP_PROTO_HDR_GENEVE_NUM 4 #define BNXT_ULP_PROTO_HDR_GRE_NUM 2 +#define BNXT_ULP_PROTO_HDR_GRE_KEY_NUM 1 #define BNXT_ULP_PROTO_HDR_ICMP_NUM 5 #define BNXT_ULP_PROTO_HDR_ECPRI_NUM 2 #define BNXT_ULP_PROTO_HDR_IPV6_EXT_NUM 1 @@ -100,6 +101,7 @@ struct ulp_rte_parser_params { uint32_t act_pattern_id; uint8_t app_id; uint8_t tun_idx; + uint16_t gre_cks_rsvd0_ver; /* GRE C, K, S bits and version */ uint16_t class_info_idx; uint64_t wc_field_bitmap; uint64_t cf_bitmap; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 32/54] net/bnxt/tf_core: handle out of order MPC completions 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (30 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 33/54] net/bnxt/tf_ulp: socket direct enable Manish Kurup ` (22 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Peter Spreadborough, Jay Ding, Farah Smith From: Peter Spreadborough <peter.spreadborough@broadcom.com> It is possible for MPC completions to be returned in an order different to the coresponding MPC requests. This change adds using the MPC opaque field to uniquely associate a completion with a request and handling of out of order completions to the batch-end processing. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/bnxt_mpc.c | 43 ++++++++- drivers/net/bnxt/bnxt_mpc.h | 7 +- drivers/net/bnxt/tf_core/v3/tfc_act.c | 12 +-- drivers/net/bnxt/tf_core/v3/tfc_em.c | 126 +++++++++++++++++++++----- drivers/net/bnxt/tf_core/v3/tfc_em.h | 4 +- 5 files changed, 155 insertions(+), 37 deletions(-) diff --git a/drivers/net/bnxt/bnxt_mpc.c b/drivers/net/bnxt/bnxt_mpc.c index 2582b50782..31a5c664e2 100644 --- a/drivers/net/bnxt/bnxt_mpc.c +++ b/drivers/net/bnxt/bnxt_mpc.c @@ -575,7 +575,26 @@ int bnxt_mpc_open(struct bnxt *bp) return rc; } -int bnxt_mpc_cmd_cmpl(struct bnxt_mpc_txq *mpc_queue, struct bnxt_mpc_mbuf *out_msg) +static inline uint32_t bnxt_mpc_bds_in_hw(struct bnxt_mpc_txq *mpc_queue) +{ + struct bnxt_mpc_ring_info *mpc_ring = mpc_queue->mpc_ring; +#ifdef MPC_DEBUG + PMD_DRV_LOG_LINE("Raw prod:%d Raw cons:%d Mask:0x%08x Result:%d", + mpc_ring->raw_prod, + mpc_ring->raw_cons, + mpc_ring->mpc_ring_struct->ring_mask, + ((mpc_ring->raw_prod - mpc_ring->raw_cons) & + mpc_ring->mpc_ring_struct->ring_mask)); + PMD_DRV_LOG_LINE("Ring size:%d", + mpc_queue->mpc_ring->mpc_ring_struct->ring_size); +#endif + return ((mpc_ring->raw_prod - mpc_ring->raw_cons) & + mpc_ring->mpc_ring_struct->ring_mask); +} + +int bnxt_mpc_cmd_cmpl(struct bnxt_mpc_txq *mpc_queue, + struct bnxt_mpc_mbuf *out_msg, + uint16_t *opaque) { struct bnxt_cp_ring_info *cpr = mpc_queue->cp_ring; uint32_t raw_cons = cpr->cp_raw_cons; @@ -665,12 +684,13 @@ int bnxt_mpc_cmd_cmpl(struct bnxt_mpc_txq *mpc_queue, struct bnxt_mpc_mbuf *out_ bnxt_db_mpc_cq(cpr); } + *opaque = (uint16_t)mpc_cmpl->info2; return nb_mpc_cmds; } static uint16_t bnxt_mpc_xmit(struct bnxt_mpc_mbuf *mpc_cmd, struct bnxt_mpc_txq *mpc_queue, - uint32_t *opaque) + uint16_t *opaque) { struct bnxt_mpc_ring_info *mpr = mpc_queue->mpc_ring; struct bnxt_ring *ring = mpr->mpc_ring_struct; @@ -715,13 +735,14 @@ static uint16_t bnxt_mpc_xmit(struct bnxt_mpc_mbuf *mpc_cmd, int bnxt_mpc_send(struct bnxt *bp, struct bnxt_mpc_mbuf *in_msg, struct bnxt_mpc_mbuf *out_msg, - uint32_t *opaque, + uint16_t *opaque, bool batch) { int rc; struct bnxt_mpc_txq *mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; int retry = BNXT_MPC_RX_RETRY; uint32_t pi = 0; + uint16_t rx_opaque; if (out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_SHORT && out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_LONG) @@ -737,6 +758,8 @@ int bnxt_mpc_send(struct bnxt *bp, * it can be detected. */ pi = mpc_queue->mpc_ring->raw_prod; + *opaque = mpc_queue->seq_num; + mpc_queue->seq_num++; rc = bnxt_mpc_xmit(in_msg, mpc_queue, opaque); if (unlikely(rc)) @@ -761,10 +784,20 @@ int bnxt_mpc_send(struct bnxt *bp, do { rte_delay_us_block(BNXT_MPC_RX_US_DELAY); - rc = bnxt_mpc_cmd_cmpl(mpc_queue, out_msg); + rc = bnxt_mpc_cmd_cmpl(mpc_queue, out_msg, &rx_opaque); - if (rc == 1) + if (rc == 1) { + if (rx_opaque != *opaque) + PMD_DRV_LOG_LINE(ERR, + "%s: Out of order completion. Opaque Expected:%d Got:%d", + __func__, + *opaque, + rx_opaque); return 0; + } +#ifdef MPC_DEBUG + PMD_DRV_LOG_LINE("Received zero or more than one completion:%d", rc); +#endif retry--; } while (retry); diff --git a/drivers/net/bnxt/bnxt_mpc.h b/drivers/net/bnxt/bnxt_mpc.h index b089ddd4bb..da3672e493 100644 --- a/drivers/net/bnxt/bnxt_mpc.h +++ b/drivers/net/bnxt/bnxt_mpc.h @@ -93,6 +93,7 @@ struct bnxt_mpc_txq { struct bnxt_cp_ring_info *cp_ring; const struct rte_memzone *mz; struct bnxt_mpc_mbuf **free; + uint16_t seq_num; void (*cmpl_handler_cb)(struct bnxt_mpc_txq *mpc_queue, uint32_t nb_mpc_cmds); @@ -109,9 +110,11 @@ int bnxt_mpc_close(struct bnxt *bp); int bnxt_mpc_send(struct bnxt *bp, struct bnxt_mpc_mbuf *in_msg, struct bnxt_mpc_mbuf *out_msg, - uint32_t *opaque, + uint16_t *opaque, bool batch); -int bnxt_mpc_cmd_cmpl(struct bnxt_mpc_txq *mpc_queue, struct bnxt_mpc_mbuf *out_msg); +int bnxt_mpc_cmd_cmpl(struct bnxt_mpc_txq *mpc_queue, + struct bnxt_mpc_mbuf *out_msg, + uint16_t *opaque); int bnxt_mpc_poll_cmd_cmpls(struct bnxt_mpc_txq *mpc_queue); #endif diff --git a/drivers/net/bnxt/tf_core/v3/tfc_act.c b/drivers/net/bnxt/tf_core/v3/tfc_act.c index 3c1c76359b..d93064dbc6 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_act.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_act.c @@ -225,7 +225,7 @@ int tfc_act_set(struct tfc *tfcp, int rc = 0; uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + uint16_t opaque; uint32_t i; uint32_t buff_len; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_WRITE_CMD_MAX_FLD]; @@ -311,7 +311,7 @@ int tfc_act_set(struct tfc *tfcp, rc = tfc_mpc_send(tfcp->bp, &mpc_msg_in, &mpc_msg_out, - &msg_count, + &opaque, TFC_MPC_TABLE_WRITE, batch_info); @@ -377,7 +377,7 @@ static int tfc_act_get_only(struct tfc *tfcp, int rc = 0; uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES] = { 0 }; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES] = { 0 }; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + uint16_t opaque; int i; uint32_t buff_len; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_READ_CMD_MAX_FLD] = { {0} }; @@ -477,7 +477,7 @@ static int tfc_act_get_only(struct tfc *tfcp, rc = tfc_mpc_send(tfcp->bp, &mpc_msg_in, &mpc_msg_out, - &msg_count, + &opaque, TFC_MPC_TABLE_READ, batch_info); @@ -556,7 +556,7 @@ static int tfc_act_get_clear(struct tfc *tfcp, int rc = 0; uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES] = { 0 }; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES] = { 0 }; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + uint16_t opaque; int i; uint32_t buff_len; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_READ_CLR_CMD_MAX_FLD] = { {0} }; @@ -665,7 +665,7 @@ static int tfc_act_get_clear(struct tfc *tfcp, rc = tfc_mpc_send(tfcp->bp, &mpc_msg_in, &mpc_msg_out, - &msg_count, + &opaque, TFC_MPC_TABLE_READ_CLEAR, batch_info); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c index 828b7838f5..47870747e1 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c @@ -129,7 +129,7 @@ int tfc_em_insert(struct tfc *tfcp, uint8_t tsid, uint32_t buff_len; uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + uint16_t opaque; uint32_t i; uint32_t hash = 0; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_EM_INSERT_CMD_MAX_FLD]; @@ -354,7 +354,7 @@ int tfc_em_insert(struct tfc *tfcp, uint8_t tsid, rc = tfc_mpc_send(tfcp->bp, &mpc_msg_in, &mpc_msg_out, - &msg_count, + &opaque, TFC_MPC_EM_INSERT, parms->batch_info); @@ -500,7 +500,7 @@ int tfc_em_delete_raw(struct tfc *tfcp, struct bnxt_mpc_mbuf mpc_msg_out; uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + uint16_t opaque = 0; int i; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_EM_DELETE_CMD_MAX_FLD]; struct cfa_bld_mpcinfo *mpc_info; @@ -565,7 +565,7 @@ int tfc_em_delete_raw(struct tfc *tfcp, rc = tfc_mpc_send(tfcp->bp, &mpc_msg_in, &mpc_msg_out, - &msg_count, + &opaque, TFC_MPC_EM_DELETE, batch_info); if (rc) { @@ -834,7 +834,7 @@ int tfc_em_delete_entries_by_pool_id(struct tfc *tfcp, int tfc_mpc_send(struct bnxt *bp, struct bnxt_mpc_mbuf *in_msg, struct bnxt_mpc_mbuf *out_msg, - uint32_t *opaque, + uint16_t *opaque, int type, struct tfc_mpc_batch_info_t *batch_info) { @@ -856,6 +856,8 @@ int tfc_mpc_send(struct bnxt *bp, batch_info->comp_info[batch_info->count].mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; batch_info->comp_info[batch_info->count].type = type; + batch_info->comp_info[batch_info->count].opaque = *opaque; + batch_info->comp_info[batch_info->count].valid = true; batch_info->count++; } @@ -863,7 +865,8 @@ int tfc_mpc_send(struct bnxt *bp, } static int tfc_mpc_process_completions(uint8_t *rx_msg, - struct tfc_mpc_comp_info_t *comp_info) + struct tfc_mpc_comp_info_t *comp_info, + uint16_t *opaque) { int rc; int retry = BNXT_MPC_RX_RETRY; @@ -872,7 +875,8 @@ static int tfc_mpc_process_completions(uint8_t *rx_msg, do { rc = bnxt_mpc_cmd_cmpl(comp_info->mpc_queue, - &comp_info->out_msg); + &comp_info->out_msg, + opaque); if (likely(rc == 1)) { #ifdef MPC_DEBUG @@ -913,14 +917,41 @@ bool tfc_mpc_batch_started(struct tfc_mpc_batch_info_t *batch_info) return (batch_info->enabled && batch_info->count > 0); } +/* Test out of order handling */ +/*#define MPC_OOO_DEBUG */ + +#ifdef MPC_OOO_DEBUG +static void swap_entries(struct tfc_mpc_batch_info_t *batch_info, int count) +{ + struct tfc_mpc_comp_info_t tmp; + int i1; + int i2; + + i1 = rand() % (count - 1); + i2 = rand() % (count - 1); + + PMD_DRV_LOG(ERR, "%s: Swapping index %d and %d", + __func__, + i1, + i2); + + memcpy(&tmp, &batch_info->comp_info[i1], sizeof(tmp)); + memcpy(&batch_info->comp_info[i1], &batch_info->comp_info[i2], sizeof(tmp)); + memcpy(&batch_info->comp_info[i2], &tmp, sizeof(tmp)); +} +#endif + int tfc_mpc_batch_end(struct tfc *tfcp, struct tfc_mpc_batch_info_t *batch_info) { - uint32_t i; + uint32_t j; + uint32_t start_index = 0; int rc; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; struct cfa_bld_mpcinfo *mpc_info; uint32_t hash = 0; + uint16_t opaque = 0; + uint32_t count; #if TFC_EM_DYNAMIC_BUCKET_EN bool *db_unused; uint32_t *db_offset; @@ -945,17 +976,65 @@ int tfc_mpc_batch_end(struct tfc *tfcp, if (batch_info->count < (BNXT_MPC_COMP_MAX_COUNT / 4)) rte_delay_us_block(BNXT_MPC_RX_US_DELAY * 4); - for (i = 0; i < batch_info->count; i++) { +#ifdef MPC_OOO_DEBUG + /* force out of order in large batches */ + if (batch_info->count > 10) + swap_entries(batch_info, batch_info->count); +#endif + + count = batch_info->count; + + while (count) { rc = tfc_mpc_process_completions(&rx_msg[TFC_MPC_HEADER_SIZE_BYTES], - &batch_info->comp_info[i]); + &batch_info->comp_info[start_index], + &opaque); if (unlikely(rc)) return -1; +#ifdef MPC_DEBUG + PMD_DRV_LOG(ERR, "%s: count:%d start_index:%d bo:%d op:%d ci:%p type:%d", + __func__, + count, + start_index, + batch_info->comp_info[start_index].opaque, + opaque, + batch_info->comp_info[start_index].mpc_queue, + batch_info->comp_info[start_index].type); +#endif + + /* Find batch entry that has a matching opaque value */ + for (j = start_index; j < batch_info->count; j++) { + if (!batch_info->comp_info[j].valid || + opaque != batch_info->comp_info[j].opaque || + batch_info->comp_info[start_index].mpc_queue != + batch_info->comp_info[j].mpc_queue) + continue; + + count--; + + if (j != start_index) { + PMD_DRV_LOG_LINE(INFO, + "%s: OOO comp. Opq Exp:%d Got:%d j:%d", + __func__, + batch_info->comp_info[j].opaque, + opaque, j); + } else { + start_index++; + + while (count && + start_index < batch_info->count && + !batch_info->comp_info[start_index].valid) + start_index++; + } + + batch_info->comp_info[j].out_msg.msg_data = rx_msg; + break; + } - switch (batch_info->comp_info[i].type) { + switch (batch_info->comp_info[j].type) { case TFC_MPC_EM_INSERT: rc = tfc_em_insert_response(mpc_info, - &batch_info->comp_info[i].out_msg, + &batch_info->comp_info[j].out_msg, rx_msg, &hash); /* @@ -963,14 +1042,14 @@ int tfc_mpc_batch_end(struct tfc *tfcp, * flow DB entry that requires the flow_handle * contained within to be updated. */ - batch_info->em_hdl[i] = - tfc_create_flow_handle2(batch_info->em_hdl[i], + batch_info->em_hdl[j] = + tfc_create_flow_handle2(batch_info->em_hdl[j], hash); batch_info->em_error = rc; break; case TFC_MPC_EM_DELETE: rc = tfc_em_delete_response(mpc_info, - &batch_info->comp_info[i].out_msg, + &batch_info->comp_info[j].out_msg, rx_msg #if TFC_EM_DYNAMIC_BUCKET_EN , bool *db_unused, @@ -980,30 +1059,31 @@ int tfc_mpc_batch_end(struct tfc *tfcp, break; case TFC_MPC_TABLE_WRITE: rc = tfc_act_set_response(mpc_info, - &batch_info->comp_info[i].out_msg, + &batch_info->comp_info[j].out_msg, rx_msg); break; case TFC_MPC_TABLE_READ: rc = tfc_act_get_only_response(mpc_info, - &batch_info->comp_info[i].out_msg, + &batch_info->comp_info[j].out_msg, rx_msg, - &batch_info->comp_info[i].read_words); + &batch_info->comp_info[j].read_words); break; case TFC_MPC_TABLE_READ_CLEAR: rc = tfc_act_get_clear_response(mpc_info, - &batch_info->comp_info[i].out_msg, + &batch_info->comp_info[j].out_msg, rx_msg, - &batch_info->comp_info[i].read_words); + &batch_info->comp_info[j].read_words); break; default: - PMD_DRV_LOG_LINE(ERR, "MPC Batch not supported for type: %d", - batch_info->comp_info[i].type); + PMD_DRV_LOG_LINE(ERR, "%s: MPC Batch not supported for type: %d", + __func__, batch_info->comp_info[j].type); return -1; } - batch_info->result[i] = rc; + batch_info->comp_info[j].valid = false; + batch_info->result[j] = rc; if (rc) batch_info->error = true; } diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.h b/drivers/net/bnxt/tf_core/v3/tfc_em.h index 52589ea9c3..659cebe907 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.h @@ -21,6 +21,8 @@ struct tfc_mpc_comp_info_t { struct bnxt_mpc_mbuf out_msg; int type; uint16_t read_words; + uint16_t opaque; + bool valid; }; struct tfc_mpc_batch_info_t { @@ -249,7 +251,7 @@ int tfc_act_get_clear_response(struct cfa_bld_mpcinfo *mpc_info, int tfc_mpc_send(struct bnxt *bp, struct bnxt_mpc_mbuf *in_msg, struct bnxt_mpc_mbuf *out_msg, - uint32_t *opaque, + uint16_t *opaque, int type, struct tfc_mpc_batch_info_t *batch_info); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 33/54] net/bnxt/tf_ulp: socket direct enable 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (31 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 32/54] net/bnxt/tf_core: handle out of order MPC completions Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 34/54] net/bnxt: fix adding udp_tunnel_port Manish Kurup ` (21 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Kishore Padmanabha From: Farah Smith <farah.smith@broadcom.com> 1. Remove code which requires multi-root to be configured in order for the socket direct feature be enabled. This is not required and was a customer specific implementation. 2. Always enable the global table scope for Thor2 when the socket direct feature is enabled. 3. Remove global table scope feature bit. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 12 +++--------- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 16 ++++------------ drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 5 +++-- 3 files changed, 10 insertions(+), 23 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c index 4a1ccfa2a3..78fd96ce48 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c @@ -420,15 +420,9 @@ ulp_tf_cntxt_app_caps_init(struct bnxt *bp, if (info[i].flags & BNXT_ULP_APP_CAP_BC_MC_SUPPORT) ulp_ctx->cfg_data->ulp_flags |= BNXT_ULP_APP_BC_MC_SUPPORT; - if (info[i].flags & BNXT_ULP_APP_CAP_SOCKET_DIRECT) { - /* Enable socket direction only if MR is enabled in fw*/ - if (BNXT_MULTIROOT_EN(bp)) { - ulp_ctx->cfg_data->ulp_flags |= - BNXT_ULP_APP_SOCKET_DIRECT; - BNXT_DRV_DBG(INFO, - "Socket Direct feature is enabled\n"); - } - } + if (info[i].flags & BNXT_ULP_APP_CAP_SOCKET_DIRECT) + ulp_ctx->cfg_data->ulp_flags |= + BNXT_ULP_APP_SOCKET_DIRECT; if (info[i].flags & BNXT_ULP_APP_CAP_HA_DYNAMIC) { /* Read the environment variable to determine hot up */ if (!bnxt_pmd_get_hot_up_config()) { diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 8443e3e7ba..7271cbb863 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -553,18 +553,10 @@ ulp_tfc_cntxt_app_caps_init(struct bnxt *bp, uint8_t app_id, uint32_t dev_id) if (info[i].flags & BNXT_ULP_APP_CAP_BC_MC_SUPPORT) ulp_ctx->cfg_data->ulp_flags |= BNXT_ULP_APP_BC_MC_SUPPORT; - if (info[i].flags & BNXT_ULP_APP_CAP_SOCKET_DIRECT) { - /* Enable socket direction only if MR is enabled in fw*/ - if (BNXT_MULTIROOT_EN(bp)) { - ulp_ctx->cfg_data->ulp_flags |= - BNXT_ULP_APP_SOCKET_DIRECT; - BNXT_DRV_DBG(DEBUG, - "Socket Direct feature is enabled"); - } else { - BNXT_DRV_DBG(DEBUG, - "No Socket Direct feature - must enable multiroot"); - } - } + if (info[i].flags & BNXT_ULP_APP_CAP_SOCKET_DIRECT) + ulp_ctx->cfg_data->ulp_flags |= + BNXT_ULP_APP_SOCKET_DIRECT; + /* Update the capability feature bits*/ if (bnxt_ulp_cap_feat_process(info[i].feature_bits, &ulp_ctx->cfg_data->feature_bits)) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index cb826b2c19..4134e2f628 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1092,8 +1092,9 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) if (bit & BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN) BNXT_DRV_DBG(ERR, "Special VXLAN Feature is enabled\n"); if (bit & BNXT_ULP_FEATURE_BIT_HOT_UPGRADE) - BNXT_DRV_DBG(ERR, "Hot Upgrade Feature is enabled\n"); - + BNXT_DRV_DBG(ERR, "Hot Upgrade Feature is enabled"); + if (bit & BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT) + BNXT_DRV_DBG(ERR, "Socket Direct Feature is enabled"); *out_bits = bit; return 0; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 34/54] net/bnxt: fix adding udp_tunnel_port 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (32 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 33/54] net/bnxt/tf_ulp: socket direct enable Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 35/54] net/bnxt/tf_ulp: add non vfr mode capability Manish Kurup ` (20 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Kalesh AP, Peter Spreadborough From: Farah Smith <farah.smith@broadcom.com> Do not increment the port count if adding the same value multiple times. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index fad357f3ae..a395c2ab47 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -2622,7 +2622,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev, PMD_DRV_LOG_LINE(ERR, "Only one port allowed"); return -ENOSPC; } - bp->vxlan_port_cnt++; return 0; } tunnel_type = @@ -2636,7 +2635,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev, PMD_DRV_LOG_LINE(ERR, "Only one port allowed"); return -ENOSPC; } - bp->geneve_port_cnt++; return 0; } tunnel_type = @@ -2650,7 +2648,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev, PMD_DRV_LOG_LINE(ERR, "Only one port allowed"); return -ENOSPC; } - bp->ecpri_port_cnt++; return 0; } tunnel_type = -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 35/54] net/bnxt/tf_ulp: add non vfr mode capability 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (33 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 34/54] net/bnxt: fix adding udp_tunnel_port Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 36/54] net/bnxt: avoid iova range check when external memory is used Manish Kurup ` (19 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> For Wh+ platform, the generic template support representor and non representor mode, this flag shall be controlled by the newly added capability flag that is added during the compile time. The flag enables the testpmd forward mode, so testpmd application can forward packets from one port to another port. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 5 ++++- drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 3 +++ drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c index 78fd96ce48..3228bf4f99 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c @@ -1049,6 +1049,7 @@ ulp_tf_ctx_init(struct bnxt *bp, int32_t rc = 0; enum bnxt_ulp_device_id devid; enum bnxt_ulp_session_type stype; + uint64_t feat_bits; struct tf *tfp; /* Initialize the context entries list */ @@ -1101,7 +1102,9 @@ ulp_tf_ctx_init(struct bnxt *bp, goto error_deinit; } - if (BNXT_TESTPMD_EN(bp)) { + feat_bits = bnxt_ulp_feature_bits_get(bp->ulp_ctx); + if ((feat_bits & BNXT_ULP_FEATURE_BIT_NON_VFR_MODE) && + !BNXT_REP_MODE_EN(bp)) { ulp_data->ulp_flags &= ~BNXT_ULP_VF_REP_ENABLED; BNXT_DRV_DBG(ERR, "Enabled Testpmd forward mode\n"); } diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index 4134e2f628..baff9ef049 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1095,6 +1095,9 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Hot Upgrade Feature is enabled"); if (bit & BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT) BNXT_DRV_DBG(ERR, "Socket Direct Feature is enabled"); + if (bit & BNXT_ULP_FEATURE_BIT_NON_VFR_MODE) + BNXT_DRV_DBG(ERR, "Non VFR Feature is enabled"); + *out_bits = bit; return 0; } 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 3ce43f4c92..d63862ffba 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -913,7 +913,8 @@ enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE = 0x00000010, BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN = 0x00000020, BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040, - BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080 + BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080, + BNXT_ULP_FEATURE_BIT_NON_VFR_MODE = 0x00000100 }; enum bnxt_ulp_flow_dir_bitmask { -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 36/54] net/bnxt: avoid iova range check when external memory is used 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (34 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 35/54] net/bnxt/tf_ulp: add non vfr mode capability Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 37/54] net/bnxt: avoid potential segfault in VFR handling Manish Kurup ` (18 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Sriharsha Basavapatna, Andy Gospodarek, Ning Wang, Kalesh AP, Somnath Kotur From: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> The function checks if the iova is in the valid range. But this check is not relevant to external memory; avoid it when external memory is in use. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Ning Wang <ning-nw.wang@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> --- drivers/net/bnxt/bnxt_txr.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index f88e214790..27758898b0 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -221,8 +221,9 @@ static int bnxt_invalid_mbuf(struct rte_mbuf *mbuf) if (unlikely(rte_mbuf_check(mbuf, 1, &reason))) return -EINVAL; - if (unlikely(mbuf->buf_iova < mbuf_size || - (mbuf->buf_iova != rte_mempool_virt2iova(mbuf) + mbuf_size))) + if (unlikely(!(mbuf->ol_flags & RTE_MBUF_F_EXTERNAL) && + (mbuf->buf_iova < mbuf_size || + (mbuf->buf_iova != rte_mempool_virt2iova(mbuf) + mbuf_size)))) return -EINVAL; return 0; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 37/54] net/bnxt: avoid potential segfault in VFR handling 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (35 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 36/54] net/bnxt: avoid iova range check when external memory is used Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys Manish Kurup ` (17 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Peter Spreadborough, Stephen Shi, Shuanglin Wang, Damodharam Ammepalli From: Peter Spreadborough <peter.spreadborough@broadcom.com> 1. Addresses crashes that were seen when using invalid representor arguments. The crash would occur when unwinding after a bnxt_pci_probe() failure. 2. If a representor port exists and an attempt is made to attach the same port a crash would occur. This change adds a check for an already existing port. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Tested-by: Stephen Shi <stephen.shi@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index a395c2ab47..efecbba2c3 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -6905,16 +6905,9 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev, return -ENOTSUP; } num_rep = eth_da->nb_representor_ports; - if (num_rep > max_vf_reps) { - PMD_DRV_LOG_LINE(ERR, "nb_representor_ports = %d > %d MAX VF REPS", - num_rep, max_vf_reps); - return -EINVAL; - } - - if (num_rep >= RTE_MAX_ETHPORTS) { - PMD_DRV_LOG_LINE(ERR, - "nb_representor_ports = %d > %d MAX ETHPORTS", - num_rep, RTE_MAX_ETHPORTS); + if (num_rep > max_vf_reps || num_rep > RTE_MAX_ETHPORTS) { + PMD_DRV_LOG_LINE(ERR, "nb_representor_ports = %d > %d OR %d MAX VF REPS", + num_rep, max_vf_reps, RTE_MAX_ETHPORTS); return -EINVAL; } @@ -6947,6 +6940,13 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev, snprintf(name, sizeof(name), "net_%s_representor_%d", pci_dev->device.name, eth_da->representor_ports[i]); + if (rte_eth_dev_allocated(name) != NULL) { + PMD_DRV_LOG_LINE(ERR, + "Ethernet device with name %s already allocated", + name); + return -EEXIST; + } + kvlist = rte_kvargs_parse(dev_args, bnxt_dev_args); if (kvlist) { /* @@ -7083,7 +7083,13 @@ static int bnxt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, num_rep = eth_da.nb_representor_ports; PMD_DRV_LOG_LINE(DEBUG, "nb_representor_ports = %d", - num_rep); + num_rep); + if (num_rep >= RTE_MAX_ETHPORTS) { + PMD_DRV_LOG_LINE(ERR, + "nb_representor_ports = %d > %d MAX ETHPORTS", + num_rep, RTE_MAX_ETHPORTS); + return -EINVAL; + } /* We could come here after first level of probe is already invoked * as part of an application bringup(OVS-DPDK vswitchd), so first check -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (36 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 37/54] net/bnxt: avoid potential segfault in VFR handling Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 39/54] net/bnxt: thor2 truflow memory manager bug Manish Kurup ` (16 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shahaji Bhosle From: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Need to support --no-huge mode which allows application to run as unprivileged user and does not have access to hugepage mount point and files within it. rte_mem_virt2phy() does not have access to physical addresses(PA) without hugepages, so use rte_mem_virt2iova() with vfio-pci kernel driver. Signed-off-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c index 4be2703740..c765e123fe 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c @@ -62,9 +62,9 @@ ulp_fc_mgr_shadow_mem_alloc(struct hw_fc_mem_info *parms, int size) rte_mem_lock_page(parms->mem_va); - parms->mem_pa = (void *)(uintptr_t)rte_mem_virt2phy(parms->mem_va); + parms->mem_pa = (void *)(uintptr_t)rte_mem_virt2iova(parms->mem_va); if (parms->mem_pa == (void *)RTE_BAD_IOVA) { - BNXT_DRV_DBG(ERR, "Allocate failed mem_pa\n"); + BNXT_DRV_DBG(ERR, "virt2iova failed for mem_va 0x%p", parms->mem_va); return -ENOMEM; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 39/54] net/bnxt: thor2 truflow memory manager bug 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (37 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 40/54] net/bnxt: fix stats collection when rx queue is not set Manish Kurup ` (15 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith From: Farah Smith <farah.smith@broadcom.com> A performance optimization was made based upon the belief that blocks in the memory manager always had non-full blocks prior to full blocks. But this is not the case. The performance optimization stopped looking for space in the block list as soon as the first full block was found in the list. This fix adds code so that whenever a block is full, it is moved to the end of the list so that the search can stop upon reaching the first full block. Remove current_blk_idx. Adjust max_records based upon max contiguous. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c | 83 ++++++++++++------- .../net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h | 2 +- 2 files changed, 56 insertions(+), 29 deletions(-) diff --git a/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c b/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c index 05528dd3e4..6e21d513ac 100644 --- a/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c +++ b/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c @@ -48,6 +48,10 @@ int cfa_mm_query(struct cfa_mm_query_parms *parms) max_records = parms->max_records; max_contig_records = (uint16_t)parms->max_contig_records; + /* Align to max_contig_records */ + max_records = (max_records + (max_contig_records - 1)) & + ~(max_contig_records - 1); + if (unlikely(!(CFA_CHECK_BOUNDS(max_records, 1, CFA_MM_MAX_RECORDS) && IS_POWER_2(max_contig_records) && CFA_CHECK_BOUNDS(max_contig_records, 1, @@ -79,6 +83,10 @@ int cfa_mm_open(void *cmm, struct cfa_mm_open_parms *parms) max_records = parms->max_records; max_contig_records = (uint16_t)parms->max_contig_records; + /* Align to max_contig_records */ + max_records = (max_records + (max_contig_records - 1)) & + ~(max_contig_records - 1); + if (unlikely(!(CFA_CHECK_BOUNDS(max_records, 1, CFA_MM_MAX_RECORDS) && IS_POWER_2(max_contig_records) && CFA_CHECK_BOUNDS(max_contig_records, 1, @@ -115,11 +123,11 @@ int cfa_mm_open(void *cmm, struct cfa_mm_open_parms *parms) context->blk_bmap_tbl = (uint8_t *)(context->blk_tbl + num_blocks); context->blk_list_tbl[0].first_blk_idx = 0; - context->blk_list_tbl[0].current_blk_idx = 0; + context->blk_list_tbl[0].last_blk_idx = 0; for (i = 1; i < num_lists; i++) { context->blk_list_tbl[i].first_blk_idx = CFA_MM_INVALID32; - context->blk_list_tbl[i].current_blk_idx = CFA_MM_INVALID32; + context->blk_list_tbl[i].last_blk_idx = CFA_MM_INVALID32; } for (i = 0; i < num_blocks; i++) { @@ -162,6 +170,7 @@ int cfa_mm_close(void *cmm) return 0; } +/* Allocate a block idx from the free list */ static uint32_t cfa_mm_blk_alloc(struct cfa_mm *context) { uint32_t blk_idx; @@ -179,8 +188,6 @@ static uint32_t cfa_mm_blk_alloc(struct cfa_mm *context) free_list->first_blk_idx = context->blk_tbl[free_list->first_blk_idx].next_blk_idx; - free_list->current_blk_idx = free_list->first_blk_idx; - if (free_list->first_blk_idx != CFA_MM_INVALID32) { context->blk_tbl[free_list->first_blk_idx].prev_blk_idx = CFA_MM_INVALID32; @@ -192,6 +199,7 @@ static uint32_t cfa_mm_blk_alloc(struct cfa_mm *context) return blk_idx; } +/* Return a block index to the free list */ static void cfa_mm_blk_free(struct cfa_mm *context, uint32_t blk_idx) { struct cfa_mm_blk_list *free_list = context->blk_list_tbl; @@ -208,16 +216,17 @@ static void cfa_mm_blk_free(struct cfa_mm *context, uint32_t blk_idx) } free_list->first_blk_idx = blk_idx; - free_list->current_blk_idx = blk_idx; } +/* insert at the top of a non-free list */ static void cfa_mm_blk_insert(struct cfa_mm *context, struct cfa_mm_blk_list *blk_list, uint32_t blk_idx) { + /* there are no entries in the list so init all to this one */ if (blk_list->first_blk_idx == CFA_MM_INVALID32) { blk_list->first_blk_idx = blk_idx; - blk_list->current_blk_idx = blk_idx; + blk_list->last_blk_idx = blk_idx; } else { struct cfa_mm_blk *blk_info = &context->blk_tbl[blk_idx]; @@ -226,10 +235,29 @@ static void cfa_mm_blk_insert(struct cfa_mm *context, context->blk_tbl[blk_list->first_blk_idx].prev_blk_idx = blk_idx; blk_list->first_blk_idx = blk_idx; - blk_list->current_blk_idx = blk_idx; } } +/* insert at the bottom of a non-free list */ +static void cfa_mm_blk_insert_last(struct cfa_mm *context, + struct cfa_mm_blk_list *blk_list, + uint32_t blk_idx) +{ + if (blk_list->last_blk_idx == CFA_MM_INVALID32) { + blk_list->first_blk_idx = blk_idx; + blk_list->last_blk_idx = blk_idx; + } else { + struct cfa_mm_blk *blk_info = &context->blk_tbl[blk_idx]; + + blk_info->prev_blk_idx = blk_list->last_blk_idx; + blk_info->next_blk_idx = CFA_MM_INVALID32; + context->blk_tbl[blk_list->last_blk_idx].next_blk_idx = + blk_idx; + blk_list->last_blk_idx = blk_idx; + } +} + +/* delete from anywhere in the list */ static void cfa_mm_blk_delete(struct cfa_mm *context, struct cfa_mm_blk_list *blk_list, uint32_t blk_idx) @@ -239,15 +267,20 @@ static void cfa_mm_blk_delete(struct cfa_mm *context, if (blk_list->first_blk_idx == CFA_MM_INVALID32) return; + if (blk_list->last_blk_idx == blk_idx) { + blk_list->last_blk_idx = blk_info->prev_blk_idx; + if (blk_list->last_blk_idx != CFA_MM_INVALID32) { + context->blk_tbl[blk_list->last_blk_idx].next_blk_idx = + CFA_MM_INVALID32; + } + } + if (blk_list->first_blk_idx == blk_idx) { blk_list->first_blk_idx = blk_info->next_blk_idx; if (blk_list->first_blk_idx != CFA_MM_INVALID32) { context->blk_tbl[blk_list->first_blk_idx].prev_blk_idx = CFA_MM_INVALID32; } - if (blk_list->current_blk_idx == blk_idx) - blk_list->current_blk_idx = blk_list->first_blk_idx; - return; } @@ -260,20 +293,6 @@ static void cfa_mm_blk_delete(struct cfa_mm *context, context->blk_tbl[blk_info->next_blk_idx].prev_blk_idx = blk_info->prev_blk_idx; } - - if (blk_list->current_blk_idx == blk_idx) { - if (blk_info->next_blk_idx != CFA_MM_INVALID32) { - blk_list->current_blk_idx = blk_info->next_blk_idx; - } else { - if (blk_info->prev_blk_idx != CFA_MM_INVALID32) { - blk_list->current_blk_idx = - blk_info->prev_blk_idx; - } else { - blk_list->current_blk_idx = - blk_list->first_blk_idx; - } - } - } } /* Returns true if the bit in the bitmap is set to 'val' else returns false */ @@ -413,12 +432,19 @@ int cfa_mm_alloc(void *cmm, struct cfa_mm_alloc_parms *parms) blk_info->num_contig_records = num_records; } else { - blk_idx = blk_list->current_blk_idx; + blk_idx = blk_list->first_blk_idx; blk_info = &context->blk_tbl[blk_idx]; } while (blk_info->num_free_records < num_records) { - if (blk_info->next_blk_idx == CFA_MM_INVALID32 || !blk_info->num_free_records) { + /* + * All non-full entries precede full entries so + * upon seeing the first full entry, allocate + * new block as this means all following records + * are full. + */ + if (blk_info->next_blk_idx == CFA_MM_INVALID32 || + !blk_info->num_free_records) { blk_idx = cfa_mm_blk_alloc(context); if (unlikely(blk_idx == CFA_MM_INVALID32)) { ret = -ENOMEM; @@ -433,8 +459,6 @@ int cfa_mm_alloc(void *cmm, struct cfa_mm_alloc_parms *parms) } else { blk_idx = blk_info->next_blk_idx; blk_info = &context->blk_tbl[blk_idx]; - - blk_list->current_blk_idx = blk_idx; } } @@ -459,6 +483,9 @@ int cfa_mm_alloc(void *cmm, struct cfa_mm_alloc_parms *parms) blk_info->num_free_records -= num_records; if (!blk_info->num_free_records) { + /* move block to the end of the list if it is full */ + cfa_mm_blk_delete(context, blk_list, blk_idx); + cfa_mm_blk_insert_last(context, blk_list, blk_idx); blk_info->first_free_record = context->records_per_block; } else { cnt = NUM_ALIGN_UNITS(context->records_per_block, diff --git a/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h b/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h index 2a646217ec..dbac1c3cf2 100644 --- a/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h +++ b/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h @@ -47,7 +47,7 @@ struct cfa_mm_blk_list { /* Index of the first block in the list */ uint32_t first_blk_idx; /* Index of the current block having free records */ - uint32_t current_blk_idx; + uint32_t last_blk_idx; }; /** -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 40/54] net/bnxt: fix stats collection when rx queue is not set 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (38 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 39/54] net/bnxt: thor2 truflow memory manager bug Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 41/54] net/bnxt: fix rss configuration when set to none Manish Kurup ` (14 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Kalesh AP From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> When rx queue is not started and the stats context id is not allocated then skip the stats collection. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> --- drivers/net/bnxt/bnxt_stats.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c index 9d7cdf925d..697f9ad9fe 100644 --- a/drivers/net/bnxt/bnxt_stats.c +++ b/drivers/net/bnxt/bnxt_stats.c @@ -656,6 +656,9 @@ static int bnxt_stats_get_ext(struct rte_eth_dev *eth_dev, if (!rxq->rx_started) continue; + if (cpr->hw_stats_ctx_id == HWRM_NA_SIGNATURE) + continue; + rc = bnxt_hwrm_ring_stats_ext(bp, cpr->hw_stats_ctx_id, i, &ring_stats, true); if (unlikely(rc)) @@ -717,6 +720,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev, if (!rxq->rx_started) continue; + if (cpr->hw_stats_ctx_id == HWRM_NA_SIGNATURE) + continue; rc = bnxt_hwrm_ring_stats(bp, cpr->hw_stats_ctx_id, i, &ring_stats, true); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 41/54] net/bnxt: fix rss configuration when set to none 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (39 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 40/54] net/bnxt: fix stats collection when rx queue is not set Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 42/54] net/bnxt: packet drop after port stop and start Manish Kurup ` (13 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> If the rss hash type is set to none and the ports are stopped and started again, the check for rss hash type was not allowing the bnxt driver to populate the correct rx rings in the vnic rss list. This causes the subsequent calls to rss configuration fail since the rss list is not configured and have stale data causing the firmware to reject the rss configuration. The rss hash type of none should not be ignored during configuration, it is a valid configuration and should be applied. When rss hash type is none, the rss context is disabled and there should be no rss algorithm applied to the incoming traffic. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_hwrm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 00b02821c9..939f35e3da 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -6331,7 +6331,7 @@ int bnxt_vnic_rss_configure(struct bnxt *bp, struct bnxt_vnic_info *vnic) if (vnic->fw_vnic_id == INVALID_HW_RING_ID) return 0; - if (!(vnic->rss_table && vnic->hash_type)) + if (vnic->rss_table == NULL) return 0; if (BNXT_CHIP_P5_P7(bp)) -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 42/54] net/bnxt: packet drop after port stop and start 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (40 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 41/54] net/bnxt: fix rss configuration when set to none Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure Manish Kurup ` (12 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Kishore Padmanabha, Somnath Kotur, Peter Spreadborough, Kalesh AP From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The packets are getting dropped if some of the queues are configured to stop and if the bnxt driver is reset due to port stop all and port start all then when the bnxt driver comes up, the driver is overwriting the queue configuration to operationally started instead of stopping the queues that was previously stopped. The stopped queues were getting added to the rss context resulting in the packet drops. Added a fix to address this issue, the rxq structure is not cleared during the stop and start process and retains the context, that flag is used to set the queue state. Thus stopped queues shall not be added to the rss context on recovery from a stop and start. The queues that were configured to be stopped have to explicitly started to see traffic on those queues. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index efecbba2c3..c92e335a51 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -925,11 +925,13 @@ static int bnxt_start_nic(struct bnxt *bp) for (j = 0; j < bp->rx_nr_rings; j++) { struct bnxt_rx_queue *rxq = bp->rx_queues[j]; + __rte_assume(j < RTE_MAX_QUEUES_PER_PORT); + /* If not deferred start then change only the state of the */ + /* queue based on the queue rx_started flag */ if (!rxq->rx_deferred_start) { - __rte_assume(j < RTE_MAX_QUEUES_PER_PORT); - bp->eth_dev->data->rx_queue_state[j] = + if (rxq->rx_started) + bp->eth_dev->data->rx_queue_state[j] = RTE_ETH_QUEUE_STATE_STARTED; - rxq->rx_started = true; } } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (41 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 42/54] net/bnxt: packet drop after port stop and start Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 Manish Kurup ` (11 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Peter Spreadborough From: Peter Spreadborough <peter.spreadborough@broadcom.com> A backing store table allocation failed due to lack of memory and resulted in a crash because the result of the allocation was not checked for validity. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index b229f07596..878f62c115 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -505,6 +505,8 @@ static int alloc_link_pbl(struct tfc_ts_mem_cfg *mem_cfg, uint32_t page_size, RTE_MEMZONE_SIZE_HINT_ONLY | RTE_MEMZONE_IOVA_CONTIG, page_size); + if (!mem_cfg->ts_mz.mz) + return -ENOMEM; } memset(mem_cfg->ts_mz.mz->addr, 0, mem_cfg->ts_mz.mz->len); mem_cfg->ts_mz.page_count = total_pages; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (42 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 45/54] net/bnxt: add meson build options for TruFlow Manish Kurup ` (10 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Sangtani Parag Satishbhai From: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> Now as the mpc is initialized for P7 platform regardless of mpc=1 devarg, RTE and bnxt argument processing APIs for mpc devarg are redundant. This patch removes such RTE and bnxt APIs. The "mpc=1" devarg is now invalid and should not be used while launching an application. Before: ./dpdk-testpmd -c 0xff -a 0000:0a:00.0,mpc=1,app-id=0 After: ./dpdk-testpmd -c 0xff -a 0000:0a:00.0,app-id=0 Signed-off-by: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt.h | 3 --- drivers/net/bnxt/bnxt_ethdev.c | 19 ++++--------------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 90352d537c..83ae151066 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -854,9 +854,6 @@ struct bnxt { ((bp)->flags2 & BNXT_FLAGS2_MULTIROOT_EN) #define BNXT_FLAGS2_COMPRESSED_RX_CQE BIT(5) -#define BNXT_FLAGS2_USE_MPC BIT(6) -#define BNXT_USE_MPC(bp) \ - ((bp)->flags2 & BNXT_FLAGS2_USE_MPC) #define BNXT_FLAGS2_REP_MODE BIT(7) #define BNXT_REP_MODE_EN(bp) \ ((bp)->flags2 & BNXT_FLAGS2_REP_MODE) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index c92e335a51..854c8b7371 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -152,11 +152,6 @@ static const struct rte_eth_speed_lanes_capa speed_lanes_capa_tbl[] = { */ #define BNXT_DEVARG_CQE_MODE_INVALID(val) ((val) > 1) -/* - * mpc = an non-negative 8-bit number - */ -#define BNXT_DEVARG_MPC_INVALID(val) ((val) > 1) - /* * app-id = an non-negative 8-bit number */ @@ -207,7 +202,6 @@ static const struct rte_eth_speed_lanes_capa speed_lanes_capa_tbl[] = { #define BNXT_DEVARG_REP_FC_F2R_INVALID(rep_fc_f2r) ((rep_fc_f2r) > 1) int bnxt_cfa_code_dynfield_offset = -1; -unsigned long mpc; /* * max_num_kflows must be >= 32 @@ -1759,8 +1753,7 @@ static int bnxt_dev_stop(struct rte_eth_dev *eth_dev) /* Process any remaining notifications in default completion queue */ bnxt_int_handler(eth_dev); - if (mpc != 0) - bnxt_mpc_close(bp); + bnxt_mpc_close(bp); bnxt_shutdown_nic(bp); bnxt_hwrm_if_change(bp, false); @@ -1856,11 +1849,9 @@ int bnxt_dev_start_op(struct rte_eth_dev *eth_dev) if (rc) goto error; - if (mpc != 0) { - rc = bnxt_mpc_open(bp); - if (rc != 0) - PMD_DRV_LOG_LINE(DEBUG, "MPC open failed"); - } + rc = bnxt_mpc_open(bp); + if (rc != 0) + PMD_DRV_LOG_LINE(DEBUG, "MPC open failed"); rc = bnxt_alloc_prev_ring_stats(bp); if (rc) @@ -7213,8 +7204,6 @@ static bool bnxt_enable_ulp(struct bnxt *bp) /* not enabling ulp for cli and no truflow apps */ if (BNXT_TRUFLOW_EN(bp) && bp->app_id != 254 && bp->app_id != 255) { - if (BNXT_CHIP_P7(bp) && !mpc) - return false; return true; } return false; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 45/54] net/bnxt: add meson build options for TruFlow 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (43 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 46/54] net/bnxt: truflow HSI struct fixes Manish Kurup ` (9 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde Add meson options for 1. TF template 2. TF feature bits Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- meson_options.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meson_options.txt b/meson_options.txt index e28d24054c..3354ef2b4f 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -58,3 +58,7 @@ option('tests', type: 'boolean', value: true, description: 'build unit tests') option('use_hpet', type: 'boolean', value: false, description: 'use HPET timer in EAL') +option('bnxt_tf_template', type: 'string', value: 'default', description: + 'Truflow template selection') +option('bnxt_tf_feat_bits', type: 'integer', value: 0, description: + 'Truflow feature bits') -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 46/54] net/bnxt: truflow HSI struct fixes 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (44 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 45/54] net/bnxt: add meson build options for TruFlow Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 47/54] net/bnxt/tf_ulp: truflow add pf action handler Manish Kurup ` (8 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde Fix struct definitions in HSI to add __rte_packed_end Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/hsi_struct_def_dpdk.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index 866fc5379d..06c61cba8f 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -24521,7 +24521,7 @@ struct __rte_packed_begin ts_split_entries { /* Indicates the region is locked in the cache */ uint8_t locked; uint32_t rsvd2[2]; -} __rte_packed; +} __rte_packed_end; /* * Common structure to cast crypto key split entries. This casting is @@ -45077,7 +45077,7 @@ struct __rte_packed_begin hwrm_vnic_plcmodes_cfg_output { } __rte_packed_end; /* hwrm_vnic_plcmodes_cfg_cmd_err (size:64b/8B) */ -struct hwrm_vnic_plcmodes_cfg_cmd_err { +struct __rte_packed_begin hwrm_vnic_plcmodes_cfg_cmd_err { /* * command specific error codes that goes to * the cmd_err field in common HWRM Error Response. @@ -45092,7 +45092,7 @@ struct hwrm_vnic_plcmodes_cfg_cmd_err { #define HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_LAST \ HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_INVALID_HDS_THRESHOLD uint8_t unused_0[7]; -} __rte_packed; +} __rte_packed_end; /*************************** * hwrm_vnic_plcmodes_qcfg * @@ -62717,7 +62717,7 @@ struct __rte_packed_begin hwrm_tfc_resc_usage_query_output { /* hwrm_tfc_tcam_pri_update_input (size:256b/32B) */ -struct hwrm_tfc_tcam_pri_update_input { +struct __rte_packed_begin hwrm_tfc_tcam_pri_update_input { /* The HWRM command request type. */ uint16_t req_type; /* @@ -62794,10 +62794,10 @@ struct hwrm_tfc_tcam_pri_update_input { HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_FID /* unused. */ uint8_t unused0[5]; -} __rte_packed; +} __rte_packed_end; /* hwrm_tfc_tcam_pri_update_output (size:128b/16B) */ -struct hwrm_tfc_tcam_pri_update_output { +struct __rte_packed_begin hwrm_tfc_tcam_pri_update_output { /* The specific error status for the command. */ uint16_t error_code; /* The HWRM command request type. */ @@ -62817,7 +62817,7 @@ struct hwrm_tfc_tcam_pri_update_output { * to be such that this field is written last. */ uint8_t valid; -} __rte_packed; +} __rte_packed_end; /******************************** * hwrm_tfc_hot_upgrade_process * @@ -62825,7 +62825,7 @@ struct hwrm_tfc_tcam_pri_update_output { /* hwrm_tfc_hot_upgrade_process_input (size:192b/24B) */ -struct hwrm_tfc_hot_upgrade_process_input { +struct __rte_packed_begin hwrm_tfc_hot_upgrade_process_input { /* The HWRM command request type. */ uint16_t req_type; /* @@ -62887,10 +62887,10 @@ struct hwrm_tfc_hot_upgrade_process_input { uint8_t cur_session_cnt; /* unused. */ uint8_t unused0; -} __rte_packed; +} __rte_packed_end; /* hwrm_tfc_hot_upgrade_process_output (size:128b/16B) */ -struct hwrm_tfc_hot_upgrade_process_output { +struct __rte_packed_begin hwrm_tfc_hot_upgrade_process_output { /* The specific error status for the command. */ uint16_t error_code; /* The HWRM command request type. */ @@ -62912,7 +62912,7 @@ struct hwrm_tfc_hot_upgrade_process_output { * to be such that this field is written last. */ uint8_t valid; -} __rte_packed; +} __rte_packed_end; /****************************** * hwrm_tunnel_dst_port_query * @@ -64280,7 +64280,7 @@ struct __rte_packed_begin pcie_ctx_hw_stats { * identical up to and including the pcie_recovery_histogram field. */ /* pcie_ctx_hw_stats_v2 (size:4096b/512B) */ -struct pcie_ctx_hw_stats_v2 { +struct __rte_packed_begin pcie_ctx_hw_stats_v2 { /* Number of physical layer receiver errors */ uint64_t pcie_pl_signal_integrity; /* Number of DLLP CRC errors detected by Data Link Layer */ @@ -64385,7 +64385,7 @@ struct pcie_ctx_hw_stats_v2 { uint64_t pcie_blocked_packet_count; /* The count of completion packets sent to the PCI-e. */ uint64_t pcie_cmpl_packet_count; -} __rte_packed; +} __rte_packed_end; /**************************** * hwrm_stat_generic_qstats * -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 47/54] net/bnxt/tf_ulp: truflow add pf action handler 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (45 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 46/54] net/bnxt: truflow HSI struct fixes Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 48/54] net/bnxt/tf_ulp: add support for unicast only feature Manish Kurup ` (7 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shahaji Bhosle, Kishore Padmanabha From: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Update pf action handler callback to use parent PF vnic Signed-off-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 42 ++++++++++++++++-------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index ceda1ff5ef..82baf722cd 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -2946,30 +2946,44 @@ int32_t ulp_rte_pf_act_handler(const struct rte_flow_action *action_item __rte_unused, struct ulp_rte_parser_params *params) { + struct bnxt *bp; uint32_t port_id; - uint32_t ifindex; - enum bnxt_ulp_intf_type intf_type; + enum bnxt_ulp_direction_type dir; + struct ulp_rte_act_prop *act = ¶ms->act_prop; /* Get the port id of the current device */ port_id = ULP_COMP_FLD_IDX_RD(params, BNXT_ULP_CF_IDX_INCOMING_IF); - /* Get the port db ifindex */ - if (ulp_port_db_dev_port_to_ulp_index(params->ulp_ctx, port_id, - &ifindex)) { - BNXT_DRV_DBG(ERR, "Invalid port id\n"); + params->port_id = port_id; + bp = bnxt_pmd_get_bp(params->port_id); + if (bp == NULL) { + BNXT_DRV_DBG(ERR, "Invalid bp"); return BNXT_TF_RC_ERROR; } - /* Check the port is PF port */ - intf_type = ulp_port_db_port_type_get(params->ulp_ctx, ifindex); - if (intf_type != BNXT_ULP_INTF_TYPE_PF) { - BNXT_DRV_DBG(ERR, "Port is not a PF port\n"); + ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_ACT_PORT_TYPE, BNXT_ULP_INTF_TYPE_PF); + + /* Get the direction */ + dir = ULP_COMP_FLD_IDX_RD(params, BNXT_ULP_CF_IDX_DIRECTION); + if (dir == BNXT_ULP_DIR_EGRESS) { + BNXT_DRV_DBG(ERR, "Invalid direction"); return BNXT_TF_RC_ERROR; + } else { + uint16_t pid_s = bp->parent->vnic; + uint32_t pid = pid_s; + pid = rte_cpu_to_be_32(pid); + memcpy(&act->act_details[BNXT_ULP_ACT_PROP_IDX_VNIC], + &pid, BNXT_ULP_ACT_PROP_SZ_VNIC); + /* + * Update appropriate port (A/B) VNIC based on multi-port + * indication. + */ + ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_MP_VNIC_A, pid_s); } - /* Update the action properties */ - ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_ACT_PORT_TYPE, intf_type); - return ulp_rte_parser_act_port_set(params, ifindex, false, - BNXT_ULP_DIR_INVALID); + + /* Update the action port set bit */ + ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_ACT_PORT_IS_SET, 1); + return BNXT_TF_RC_SUCCESS; } /* Function to handle the parsing of RTE Flow action VF. */ -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 48/54] net/bnxt/tf_ulp: add support for unicast only feature 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (46 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 47/54] net/bnxt/tf_ulp: truflow add pf action handler Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:35 ` [PATCH 49/54] net/bnxt/tf_core: remove excessive debug logging Manish Kurup ` (6 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shahaji Bhosle From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Added support for unicast only feature bit in the truflow application. This enables the application to not receive broadcast, multicast or unknown mac addresses to the ports that are participating in the application. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 5 +++++ drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 5 +++++ drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 2 ++ drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 3 --- drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h | 3 ++- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c index 3228bf4f99..9d32217a21 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c @@ -475,6 +475,11 @@ ulp_tf_cntxt_app_caps_init(struct bnxt *bp, &ulp_ctx->cfg_data->feature_bits)) return -EINVAL; + if ((ulp_ctx->cfg_data->feature_bits & + BNXT_ULP_FEATURE_BIT_UNICAST_ONLY)) + ulp_ctx->cfg_data->ulp_flags |= + BNXT_ULP_APP_UNICAST_ONLY; + bnxt_ulp_cntxt_ptr2_default_class_bits_set(ulp_ctx, info[i].default_class_bits); bnxt_ulp_cntxt_ptr2_default_act_bits_set(ulp_ctx, diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 7271cbb863..fc713e95da 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -562,6 +562,11 @@ ulp_tfc_cntxt_app_caps_init(struct bnxt *bp, uint8_t app_id, uint32_t dev_id) &ulp_ctx->cfg_data->feature_bits)) return -EINVAL; + if ((ulp_ctx->cfg_data->feature_bits & + BNXT_ULP_FEATURE_BIT_UNICAST_ONLY)) + ulp_ctx->cfg_data->ulp_flags |= + BNXT_ULP_APP_UNICAST_ONLY; + bnxt_ulp_default_app_priority_set(ulp_ctx, info[i].default_priority); bnxt_ulp_max_def_priority_set(ulp_ctx, diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index baff9ef049..73ed3803de 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1097,6 +1097,8 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Socket Direct Feature is enabled"); if (bit & BNXT_ULP_FEATURE_BIT_NON_VFR_MODE) BNXT_DRV_DBG(ERR, "Non VFR Feature is enabled"); + if (bit & BNXT_ULP_FEATURE_BIT_UNICAST_ONLY) + BNXT_DRV_DBG(ERR, "Unicast only Feature is enabled"); *out_bits = bit; return 0; diff --git a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c index 30cd944362..4d96882087 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c +++ b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c @@ -829,9 +829,6 @@ bnxt_ulp_promisc_mode_set(struct bnxt *bp, uint8_t enable) !bp->ulp_ctx) return rc; - if (!BNXT_CHIP_P5(bp)) - return rc; - port_id = bp->eth_dev->data->port_id; info = &bp->ulp_ctx->cfg_data->df_rule_info[port_id]; 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 d63862ffba..4e9b11e437 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -914,7 +914,8 @@ enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN = 0x00000020, BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040, BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080, - BNXT_ULP_FEATURE_BIT_NON_VFR_MODE = 0x00000100 + BNXT_ULP_FEATURE_BIT_NON_VFR_MODE = 0x00000100, + BNXT_ULP_FEATURE_BIT_UNICAST_ONLY = 0x00000200 }; enum bnxt_ulp_flow_dir_bitmask { -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 49/54] net/bnxt/tf_core: remove excessive debug logging 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (47 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 48/54] net/bnxt/tf_ulp: add support for unicast only feature Manish Kurup @ 2025-09-30 0:35 ` Manish Kurup 2025-09-30 0:36 ` [PATCH 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Manish Kurup ` (5 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:35 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Peter Spreadborough, Farah Smith, Kishore Padmanabha From: Peter Spreadborough <peter.spreadborough@broadcom.com> This change removes a debug message of questionable usefulness that can spam the terminal if more than 5K flows are created. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_em.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c index 47870747e1..3fe4dbe3fe 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c @@ -1012,13 +1012,7 @@ int tfc_mpc_batch_end(struct tfc *tfcp, count--; - if (j != start_index) { - PMD_DRV_LOG_LINE(INFO, - "%s: OOO comp. Opq Exp:%d Got:%d j:%d", - __func__, - batch_info->comp_info[j].opaque, - opaque, j); - } else { + if (j == start_index) { start_index++; while (count && -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (48 preceding siblings ...) 2025-09-30 0:35 ` [PATCH 49/54] net/bnxt/tf_core: remove excessive debug logging Manish Kurup @ 2025-09-30 0:36 ` Manish Kurup 2025-09-30 0:36 ` [PATCH 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality Manish Kurup ` (4 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:36 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Peter Spreadborough From: Farah Smith <farah.smith@broadcom.com> When sriov is disabled and running DPDK on PFs fix invalid max VF check during table scope creation. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index 878f62c115..c06099af12 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -1210,7 +1210,8 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, return rc; if (fid > max_vf) { - PMD_DRV_LOG_LINE(ERR, "fid out of range %d", fid); + PMD_DRV_LOG_LINE(ERR, "%s fid out of range %d", + __func__, fid); return -EINVAL; } @@ -1419,16 +1420,7 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid, } if (scope_type != CFA_SCOPE_TYPE_NON_SHARED && is_pf) { uint16_t pool_cnt; - uint16_t max_vf; - rc = tfc_bp_vf_max(tfcp, &max_vf); - if (rc) - return rc; - - if (fid > max_vf) { - PMD_DRV_LOG_LINE(ERR, "invalid fid 0x%x", fid); - return -EINVAL; - } rc = tbl_scope_tpm_fid_rem(tfcp, fid, tsid, &pool_cnt); if (rc) { PMD_DRV_LOG_LINE(ERR, "error getting tsid(%d) pools status %s", -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (49 preceding siblings ...) 2025-09-30 0:36 ` [PATCH 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Manish Kurup @ 2025-09-30 0:36 ` Manish Kurup 2025-09-30 0:36 ` [PATCH 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling Manish Kurup ` (3 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:36 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde 1. Fix RTE_ACTION last item Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index 82baf722cd..26823858b5 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -211,7 +211,7 @@ bnxt_ulp_rte_parser_act_parse(const struct rte_flow_action actions[], hdr_info = &ulp_vendor_act_info[action_item->type - BNXT_RTE_FLOW_ACTION_TYPE_END]; } else { - if (action_item->type > RTE_FLOW_ACTION_TYPE_INDIRECT) + if (action_item->type > RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT) goto act_parser_error; /* get the header information from the act info table */ hdr_info = &ulp_act_info[action_item->type]; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (50 preceding siblings ...) 2025-09-30 0:36 ` [PATCH 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality Manish Kurup @ 2025-09-30 0:36 ` Manish Kurup 2025-09-30 0:36 ` [PATCH 53/54] net/bnxt: add support for truflow promiscuous mode Manish Kurup ` (2 subsequent siblings) 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:36 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shahaji Bhosle, Farah Smith From: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Added a new feature bit to all applications to send the miss packets to parent PF. Signed-off-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 9 ++++++++- drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h | 4 +++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index 73ed3803de..4741fd9cb5 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1070,11 +1070,16 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) uint64_t bit = 0; #endif *out_bits = 0; + if ((feat_bits | bit) != feat_bits) { BNXT_DRV_DBG(ERR, "Invalid TF feature bit is set %" PRIu64 "\n", bit); return -EINVAL; } + + if (!bit) + return 0; + if ((bit & BNXT_ULP_FEATURE_BIT_PARENT_DMAC) && (bit & BNXT_ULP_FEATURE_BIT_PORT_DMAC)) { BNXT_DRV_DBG(ERR, "Invalid both Port and Parent Mac set\n"); @@ -1099,8 +1104,10 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Non VFR Feature is enabled"); if (bit & BNXT_ULP_FEATURE_BIT_UNICAST_ONLY) BNXT_DRV_DBG(ERR, "Unicast only Feature is enabled"); - + if (bit & BNXT_ULP_FEATURE_BIT_RX_MISS_SEND_TO_PF) + BNXT_DRV_DBG(ERR, "Rx miss send to parent PF Feature is enabled"); *out_bits = bit; + return 0; } 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 4e9b11e437..6a2d31cf8d 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -915,7 +915,9 @@ enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040, BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080, BNXT_ULP_FEATURE_BIT_NON_VFR_MODE = 0x00000100, - BNXT_ULP_FEATURE_BIT_UNICAST_ONLY = 0x00000200 + BNXT_ULP_FEATURE_BIT_UNICAST_ONLY = 0x00000200, + BNXT_ULP_FEATURE_BIT_REDIRECT_ONLY = 0x00000400, + BNXT_ULP_FEATURE_BIT_RX_MISS_SEND_TO_PF = 0x00000800 }; enum bnxt_ulp_flow_dir_bitmask { -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 53/54] net/bnxt: add support for truflow promiscuous mode 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (51 preceding siblings ...) 2025-09-30 0:36 ` [PATCH 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling Manish Kurup @ 2025-09-30 0:36 ` Manish Kurup 2025-09-30 0:36 ` [PATCH 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code Manish Kurup 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:36 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The truflow application support promiscuous mode to enable or disable receiving the packets with unknown destination mac addresses. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 854c8b7371..f37136c8f4 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -2161,9 +2161,15 @@ static int bnxt_promiscuous_enable_op(struct rte_eth_dev *eth_dev) old_flags = vnic->flags; vnic->flags |= BNXT_VNIC_INFO_PROMISC; rc = bnxt_hwrm_cfa_l2_set_rx_mask(bp, vnic, 0, NULL); - if (rc != 0) + if (rc != 0) { vnic->flags = old_flags; - + return rc; + } + rc = bnxt_ulp_promisc_mode_set(bp, 1); + if (rc != 0) { + vnic->flags = old_flags; + rc = bnxt_hwrm_cfa_l2_set_rx_mask(bp, vnic, 0, NULL); + } return rc; } @@ -2185,6 +2191,11 @@ static int bnxt_promiscuous_disable_op(struct rte_eth_dev *eth_dev) if (bp->vnic_info == NULL) return 0; + if (bnxt_ulp_promisc_mode_set(bp, 0)) { + PMD_DRV_LOG_LINE(ERR, "Unable to disable promiscuous mode"); + return -EINVAL; + } + vnic = bnxt_get_default_vnic(bp); old_flags = vnic->flags; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (52 preceding siblings ...) 2025-09-30 0:36 ` [PATCH 53/54] net/bnxt: add support for truflow promiscuous mode Manish Kurup @ 2025-09-30 0:36 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup 54 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-09-30 0:36 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde This commit cleans up TruFlow debug/non-production prints Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_hwrm.c | 23 ------- drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 5 -- drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c | 6 -- drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 5 -- drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c | 4 -- drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 6 -- drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 6 -- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 38 ------------ drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 71 ---------------------- drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 71 ---------------------- drivers/net/bnxt/tf_ulp/ulp_matcher.c | 9 --- 11 files changed, 244 deletions(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 939f35e3da..4d693da1d5 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -2868,29 +2868,6 @@ static uint32_t bnxt_sanitize_rss_type(struct bnxt *bp, uint32_t types) return hwrm_type; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -static int -bnxt_hwrm_vnic_rss_qcfg_p5(struct bnxt *bp) -{ - struct hwrm_vnic_rss_qcfg_output *resp = bp->hwrm_cmd_resp_addr; - struct hwrm_vnic_rss_qcfg_input req = {0}; - int rc; - - HWRM_PREP(&req, HWRM_VNIC_RSS_QCFG, BNXT_USE_CHIMP_MB); - /* vnic_id and rss_ctx_idx must be set to INVALID to read the - * global hash mode. - */ - req.vnic_id = rte_cpu_to_le_16(BNXT_DFLT_VNIC_ID_INVALID); - req.rss_ctx_idx = rte_cpu_to_le_16(BNXT_RSS_CTX_IDX_INVALID); - rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), - BNXT_USE_CHIMP_MB); - HWRM_CHECK_RESULT(); - HWRM_UNLOCK(); - PMD_DRV_LOG_LINE(DEBUG, "RSS QCFG: Hash level %d", resp->hash_mode_flags); - - return rc; -} -#endif static int bnxt_hwrm_vnic_rss_cfg_p5(struct bnxt *bp, struct bnxt_vnic_info *vnic) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_tf_common.h b/drivers/net/bnxt/tf_ulp/bnxt_tf_common.h index 7fc70a3603..8e487d9a0e 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_tf_common.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_tf_common.h @@ -14,11 +14,6 @@ #define BNXT_DRV_DBG(lvl, fmt, ...) \ RTE_LOG(lvl, BNXT, "%s(): " fmt, __func__, ## __VA_ARGS__) -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#define BNXT_DRV_INF(fmt, ...) RTE_LOG(INFO, fmt, ## __VA_ARGS__) -#else -#define BNXT_DRV_INF(fmt, ...) -#endif #define BNXT_ULP_EM_FLOWS 8192 #define BNXT_ULP_1M_FLOWS 1000000 diff --git a/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c b/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c index 5854f13447..bfd5f4b230 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c @@ -16,9 +16,6 @@ #include "bnxt_hwrm.h" #include "bnxt_tf_common.h" #include "bnxt_tf_pmd_shim.h" -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#include "ulp_template_debug_proto.h" -#endif int @@ -617,9 +614,6 @@ bnxt_pmd_global_tunnel_set(struct bnxt_ulp_context *ulp_ctx, port_id, rc); return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - ulp_mapper_global_register_tbl_dump(type, udp_port); -#endif if (udp_port) bnxt_pmd_global_reg_data_to_hndl(port_id, lupar_id, type, udp_port, handle); diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c index 9d32217a21..a69bdc7b7e 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c @@ -948,11 +948,6 @@ ulp_tf_eem_tbl_scope_init(struct bnxt *bp) return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - BNXT_DRV_DBG(DEBUG, "TableScope=0x%0x %d\n", - params.tbl_scope_id, - params.tbl_scope_id); -#endif rc = bnxt_ulp_cntxt_tbl_scope_id_set(bp->ulp_ctx, params.tbl_scope_id); if (rc) { diff --git a/drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c index f09d072ef3..ac83e42514 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c +++ b/drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c @@ -10,10 +10,6 @@ #include "ulp_alloc_tbl.h" #include "bnxt_ulp_utils.h" -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#include "ulp_template_debug_proto.h" -#include "ulp_tf_debug.h" -#endif /* Retrieve the allocator table initialization parameters for the tbl_idx */ static const struct bnxt_ulp_allocator_tbl_params* diff --git a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c index 4d96882087..8ff3c24993 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c +++ b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c @@ -960,12 +960,6 @@ bnxt_ulp_grp_miss_act_set(struct rte_eth_dev *dev, /* Perform the rte flow post process */ bnxt_ulp_rte_parser_post_process(¶ms); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_PARSER - /* Dump the rte flow action */ - ulp_parser_act_info_dump(¶ms); -#endif -#endif ret = ulp_matcher_action_match(¶ms, ¶ms.act_tmpl); if (unlikely(ret != BNXT_TF_RC_SUCCESS)) diff --git a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c index 46f5a96baf..57f11d02ae 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c +++ b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c @@ -532,9 +532,6 @@ ulp_flow_db_fid_alloc(struct bnxt_ulp_context *ulp_ctxt, if (flow_type == BNXT_ULP_FDB_TYPE_REGULAR) ulp_flow_db_func_id_set(flow_db, *fid, func_id); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - BNXT_DRV_DBG(DEBUG, "flow_id = %u:%u allocated\n", flow_type, *fid); -#endif /* return success */ return 0; } @@ -805,9 +802,6 @@ ulp_flow_db_fid_free(struct bnxt_ulp_context *ulp_ctxt, if (flow_type == BNXT_ULP_FDB_TYPE_REGULAR) ulp_flow_db_func_id_set(flow_db, fid, 0); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - BNXT_DRV_DBG(DEBUG, "flow_id = %u:%u freed\n", flow_type, fid); -#endif /* all good, return success */ return 0; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index 9cda3b355b..0ff952950b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -653,12 +653,6 @@ ulp_mapper_priority_opc_process(struct bnxt_ulp_mapper_parms *parms, rc = -EINVAL; break; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - if (!rc) - BNXT_DRV_DBG(DEBUG, "Tcam priority = 0x%x\n", *priority); -#endif -#endif return rc; } @@ -1504,13 +1498,6 @@ ulp_mapper_key_recipe_alloc(struct bnxt_ulp_context *ulp_ctx, BNXT_DRV_DBG(ERR, "Unable to alloc key recipe\n"); return NULL; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Alloc key recipe [%s]:[%s] = 0x%X\n", - (dir == BNXT_ULP_DIRECTION_INGRESS) ? "rx" : "tx", - ulp_mapper_key_recipe_type_to_str(stype), recipe_id); -#endif -#endif } else if (alloc_only) { BNXT_DRV_DBG(ERR, "Recipe ID (%d) already allocated\n", recipe_id); @@ -1554,13 +1541,6 @@ ulp_mapper_key_recipe_free(struct bnxt_ulp_context *ulp_ctx, } rte_free(recipes[index]); recipes[index] = NULL; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Free key recipe [%s]:[%s] = 0x%X\n", - (dir == BNXT_ULP_DIRECTION_INGRESS) ? "rx" : "tx", - ulp_mapper_key_recipe_type_to_str(stype), index); -#endif -#endif return 0; } @@ -1768,13 +1748,6 @@ ulp_mapper_key_recipe_field_opc_process(struct bnxt_ulp_mapper_parms *parms, } } } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - if (*written && is_key) - BNXT_DRV_DBG(DEBUG, "%-20s bits = %-3d\n", fld->description, - fld->field_bit_size); -#endif -#endif return rc; } @@ -3064,11 +3037,6 @@ ulp_mapper_stats_cache_tbl_process(struct bnxt_ulp_mapper_parms *parms, rc); return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "flow id =0x%x\n", parms->flow_id); -#endif -#endif return rc; } @@ -4039,12 +4007,6 @@ ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms, func_info->func_dst_opr); return -EINVAL; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "write the %" PRIX64 " into func_opc %u\n", res, - func_info->func_dst_opr); -#endif -#endif return rc; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c index 3960be4e48..f17fb6e3b2 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c @@ -11,10 +11,6 @@ #include "bnxt_ulp_utils.h" #include "bnxt_ulp_tf.h" -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#include "ulp_template_debug_proto.h" -#include "ulp_tf_debug.h" -#endif /* Internal function to write the tcam entry */ static int32_t @@ -50,9 +46,6 @@ ulp_mapper_tf_tcam_tbl_entry_write(struct bnxt_ulp_mapper_parms *parms, tf_dir_2_str(sparms.dir), sparms.idx); return -EIO; } - BNXT_DRV_INF("tcam[%s][%s][%x] write success.\n", - tf_tcam_tbl_2_str(sparms.tcam_tbl_type), - tf_dir_2_str(sparms.dir), sparms.idx); /* Mark action */ rc = ulp_mapper_mark_act_ptr_process(parms, tbl); @@ -61,11 +54,6 @@ ulp_mapper_tf_tcam_tbl_entry_write(struct bnxt_ulp_mapper_parms *parms, return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_tcam_entry_dump("TCAM", idx, tbl, key, mask, data); -#endif -#endif return rc; } @@ -353,11 +341,6 @@ ulp_mapper_tf_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, BNXT_DRV_DBG(ERR, "Failed to build the result blob\n"); return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Result", tbl, &data); -#endif -#endif if (dparms->em_dynamic_pad_en) { uint32_t abits = dparms->em_blk_align_bits; @@ -372,11 +355,6 @@ ulp_mapper_tf_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, ulp_blob_pad_align(&data, abits); ulp_blob_perform_byte_reverse(&data, ULP_BITS_2_BYTE(abits)); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Merged Result", tbl, &data); -#endif -#endif } /* do the transpose for the internal EM keys */ @@ -389,11 +367,6 @@ ulp_mapper_tf_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, } tmplen = ulp_blob_data_len_get(&key); ulp_blob_perform_byte_reverse(&key, ULP_BITS_2_BYTE(tmplen)); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Key Transpose", tbl, &key); -#endif -#endif } rc = bnxt_ulp_cntxt_tbl_scope_id_get(parms->ulp_ctx, @@ -444,12 +417,6 @@ ulp_mapper_tf_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_em_dump("EM", &key, &data, &iparms); - /* tf_dump_tables(tfp, iparms.tbl_scope_id); */ -#endif -#endif /* Mark action process */ if (mtype == BNXT_ULP_FLOW_MEM_TYPE_EXT && tbl->resource_type == TF_MEM_EXTERNAL) @@ -852,9 +819,6 @@ ulp_mapper_tf_index_tbl_process(struct bnxt_ulp_mapper_parms *parms, sparms.idx, rc); goto error; } - BNXT_DRV_INF("Index table[%s][%s][%x] write successful.\n", - tf_tbl_type_2_str(sparms.type), - tf_dir_2_str(sparms.dir), sparms.idx); /* Calculate action record size */ if (tbl->resource_type == TF_TBL_TYPE_EXT) { @@ -1032,10 +996,6 @@ ulp_mapper_tf_if_tbl_process(struct bnxt_ulp_mapper_parms *parms, iftbl_params.idx, rc); return rc; } - BNXT_DRV_INF("Set table[%s][%s][%x] success.\n", - tf_if_tbl_2_str(iftbl_params.type), - tf_dir_2_str(iftbl_params.dir), - iftbl_params.idx); /* * TBD: Need to look at the need to store idx in flow db for restore @@ -1073,13 +1033,6 @@ ulp_mapper_tf_ident_alloc(struct bnxt_ulp_context *ulp_ctx, return rc; } *identifier_id = iparms.id; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Allocated Identifier [%s]:[%s] = 0x%X\n", - tf_dir_2_str(iparms.dir), - tf_ident_2_str(iparms.ident_type), iparms.id); -#endif -#endif return rc; } @@ -1104,14 +1057,6 @@ ulp_mapper_tf_ident_free(struct bnxt_ulp_context *ulp_ctx, free_parms.id = res->resource_hndl; (void)tf_free_identifier(tfp, &free_parms); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Freed Identifier [%s]:[%s] = 0x%X\n", - tf_dir_2_str(free_parms.dir), - tf_ident_2_str(free_parms.ident_type), - (uint32_t)free_parms.id); -#endif -#endif return rc; } @@ -1219,14 +1164,6 @@ ulp_mapper_tf_index_entry_free(struct bnxt_ulp_context *ulp, if (fparms.type == TF_TBL_TYPE_FULL_ACT_RECORD) (void)ulp_mapper_clear_full_action_record(tfp, ulp, &fparms); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Free index table [%s]:[%s] = 0x%X\n", - tf_dir_2_str(fparms.dir), - tf_tbl_type_2_str(fparms.type), - (uint32_t)fparms.idx); -#endif -#endif return tf_free_tbl_entry(tfp, &fparms); } @@ -1267,14 +1204,6 @@ ulp_mapper_tf_index_tbl_alloc_process(struct bnxt_ulp_context *ulp, *index = aparms.idx; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "Allocated Table Index [%s][%s] = 0x%04x\n", - tf_tbl_type_2_str(aparms.type), - tf_dir_2_str(aparms.dir), - aparms.idx); -#endif -#endif return rc; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index 0f967b838d..f99698a1d8 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -12,11 +12,6 @@ #include "bnxt_ulp_utils.h" #include "tfc_action_handle.h" -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#include "ulp_template_debug_proto.h" -#include "ulp_tf_debug.h" -#include "tfc_debug.h" -#endif #define BNXT_METER_MAX_NUM 1024 static struct bnxt_mtr_stats_id_map mtr_stats[BNXT_METER_MAX_NUM]; @@ -80,11 +75,6 @@ ulp_mapper_tfc_tcam_tbl_entry_write(struct bnxt_ulp_mapper_parms *parms, return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_tcam_entry_dump("TCAM", idx, tbl, key, mask, remap); -#endif -#endif return rc; } @@ -293,11 +283,6 @@ ulp_mapper_tfc_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms, key = &tkey; mask = &tmask; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_tcam_entry_dump("TCAM", 0, tbl, key, mask, &data); -#endif -#endif if (alloc_tcam) { tfcp = bnxt_ulp_cntxt_tfcp_get(parms->ulp_ctx); @@ -531,11 +516,6 @@ ulp_mapper_tfc_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, ulp_blob_pad_push(&key, align_len_bits); key_len = ULP_BITS_2_BYTE(ulp_blob_data_len_get(&key)); ulp_blob_perform_byte_reverse(&key, key_len); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Key", tbl, &key); -#endif -#endif /* Create the result data blob */ rc = ulp_mapper_tbl_result_build(parms, tbl, &data, "EM Result"); if (unlikely(rc)) { @@ -546,11 +526,6 @@ ulp_mapper_tfc_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, key_len = ULP_BITS_2_BYTE(ulp_blob_data_len_get(&data)); ulp_blob_perform_byte_reverse(&data, key_len); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Result", tbl, &data); -#endif -#endif rc = ulp_blob_append(&key, &data, 0, dparms->em_blk_align_bits); if (unlikely(rc)) { BNXT_DRV_DBG(ERR, "EM Failed to append the result to key(%d)", @@ -566,11 +541,6 @@ ulp_mapper_tfc_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, if (unlikely(rc)) return rc; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Merged Result", tbl, &key); -#endif -#endif iparms.dir = tbl->direction; iparms.lkup_key_data = ulp_blob_data_get(&key, &tmplen); iparms.lkup_key_sz_words = ULP_BITS_TO_32_BYTE_WORD(tmplen); @@ -644,11 +614,6 @@ ulp_mapper_tfc_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_tfc_em_dump("EM", &key, &iparms); -#endif -#endif /* Mark action process */ rc = ulp_mapper_mark_gfid_process(parms, tbl, *iparms.flow_handle); if (unlikely(rc)) { @@ -1082,14 +1047,6 @@ ulp_mapper_tfc_index_entry_free(struct bnxt_ulp_context *ulp_ctx, /* TBD: check to see if the memory needs to be cleaned as well*/ rc = tfc_idx_tbl_free(tfcp, fw_fid, &tbl_info); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - if (!rc) - BNXT_DRV_DBG(DEBUG, "Freed Index [%s]:[%s] = 0x%X\n", - tfc_dir_2_str(tbl_info.dir), - tfc_idx_tbl_2_str(tbl_info.rsubtype), tbl_info.id); -#endif -#endif return rc; } @@ -1585,13 +1542,6 @@ ulp_mapper_tfc_ident_alloc(struct bnxt_ulp_context *ulp_ctx, return rc; } *identifier_id = ident_info.id; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Allocated Identifier [%s]:[%s] = 0x%X\n", - tfc_dir_2_str(direction), - tfc_ident_2_str(ident_info.rsubtype), ident_info.id); -#endif -#endif return rc; } @@ -1625,13 +1575,6 @@ ulp_mapper_tfc_ident_free(struct bnxt_ulp_context *ulp_ctx, BNXT_DRV_DBG(ERR, "free failed %d\n", rc); return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "Freed Identifier [%s]:[%s] = 0x%X\n", - tfc_dir_2_str(ident_info.dir), - tfc_ident_2_str(ident_info.rsubtype), ident_info.id); -#endif -#endif return rc; } @@ -1739,13 +1682,6 @@ ulp_mapper_tfc_tcam_entry_free(struct bnxt_ulp_context *ulp, tcam_info.id); return -EINVAL; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "Freed TCAM [%s]:[%s] = 0x%X\n", - tfc_dir_2_str(tcam_info.dir), - tfc_tcam_2_str(tcam_info.rsubtype), tcam_info.id); -#endif -#endif return 0; } @@ -1804,13 +1740,6 @@ ulp_mapper_tfc_index_tbl_alloc_process(struct bnxt_ulp_context *ulp, } *index = tbl_info.id; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "Allocated Table Index [%s][%s] = 0x%04x\n", - tfc_idx_tbl_2_str(table_type), tfc_dir_2_str(direction), - tbl_info.id); -#endif -#endif return rc; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_matcher.c b/drivers/net/bnxt/tf_ulp/ulp_matcher.c index 4b2e185278..f739cdf2a3 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_matcher.c +++ b/drivers/net/bnxt/tf_ulp/ulp_matcher.c @@ -225,12 +225,6 @@ ulp_matcher_pattern_match(struct ulp_rte_parser_params *params, error: BNXT_DRV_DBG(DEBUG, "Did not find any matching template\n"); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - BNXT_DRV_DBG(DEBUG, - "hid:%x,Hdr:%" PRIX64 " Fld:%" PRIX64 " SFl:%" PRIX64 "\n", - class_match_idx, params->hdr_bitmap.bits, - params->fld_bitmap.bits, params->fld_s_bitmap.bits); -#endif *class_id = 0; return BNXT_TF_RC_ERROR; } @@ -326,9 +320,6 @@ ulp_matcher_action_match(struct ulp_rte_parser_params *params, return BNXT_TF_RC_SUCCESS; error: BNXT_DRV_DBG(DEBUG, "Did not find any matching action template\n"); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - BNXT_DRV_DBG(DEBUG, "Hdr:%" PRIX64 "\n", params->act_bitmap.bits); -#endif *act_id = 0; return BNXT_TF_RC_ERROR; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 00/54] bnxt patchset 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup ` (53 preceding siblings ...) 2025-09-30 0:36 ` [PATCH 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup ` (53 more replies) 54 siblings, 54 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde Apart from bug fixes, this patchset adds the following functionality: 1. Add the data, defines and enums for applications targeting Wh+, P5, P7 product families. 2. Update HSI files (HWRM API defintions, enums, version number) 3. Dynamic UPAR support for THOR2. 4. Add support to allow multiple instances of applications to exist at the same time. 5. Add hot upgrade support for applications. 6. Add MPLS packet offload support. 7. Improve backing store debug capabilities. 8. Add truflow global table scope support. 9. ULP parser support to handle GRE key. v1->v2: 1. Fixed typos in commit messages 2. Removed incorrect tabs in meson.build 3. Fixed ENODATA return value for BSD 4. Removed unused function bnxt_mpc_bds_in_hw() 5. Fixed questionable pointer cast warning 6. Ignoring function argument mispelling warnings Please apply. Farah Smith (8): net/bnxt/tf_core: thor2 TF table scope sizing adjustments net/bnxt/tf_core: tcam manager logical id free net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash net/bnxt/tf_core: truflow global table scope net/bnxt/tf_ulp: socket direct enable net/bnxt: fix adding udp_tunnel_port net/bnxt: thor2 truflow memory manager bug net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Jay Ding (4): net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs net/bnxt/tf_ulp: add meter stats support for Thor2 net/bnxt/tf_core: fix the miscalculation of the lkup table pool next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Kishore Padmanabha (18): net/bnxt: enable vector mode processing net/bnxt/tf_ulp: add support for global identifiers net/bnxt/tf_core: add support for multi instance net/bnxt/tf_core: fix table scope free net/bnxt/tf_core: fix vfr clean up and stats lockup net/bnxt/tf_ulp: increase shared pool size to 32 net/bnxt/tf_ulp: add support for tcam priority update net/bnxt/tf_ulp: hot upgrade support net/bnxt/tf_ulp: fix stats counter memory initialization net/bnxt: fix max VFs count for thor2 net/bnxt/tf_ulp: enable support for global index table net/bnxt/tf_ulp: optimize template enums net/bnxt/tf_ulp: add non vfr mode capability net/bnxt: fix stats collection when rx queue is not set net/bnxt: fix rss configuration when set to none net/bnxt: packet drop after port stop and start net/bnxt/tf_ulp: add support for unicast only feature net/bnxt: add support for truflow promiscuous mode Manish Kurup (6): net/bnxt/tf_ulp: add bnxt app data for 25.11 net/bnxt/tf_core: dynamic UPAR support for THOR2 net/bnxt: add meson build options for TruFlow net/bnxt: truflow HSI struct fixes net/bnxt/tf_ulp: fixes to enable TF functionality net/bnxt/tf_ulp: remove Truflow DEBUG code Peter Spreadborough (6): net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 net/bnxt/tf_core: add backing store debug to dpdk net/bnxt/tf_core: handle out of order MPC completions net/bnxt: avoid potential segfault in VFR handling net/bnxt/tf_core: fix truflow crash on memory allocation failure net/bnxt/tf_core: remove excessive debug logging Sangtani Parag Satishbhai (3): net/bnxt/tf_ulp: fix seg fault when devargs argument missing net/bnxt: truflow remove redundant code for mpc init net/bnxt: truflow remove RTE devarg processing for mpc=1 Shahaji Bhosle (4): net/bnxt/tf_ulp: ulp parser support to handle gre key net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys net/bnxt/tf_ulp: truflow add pf action handler net/bnxt/tf_ulp: add feature bit rx miss handling Shuanglin Wang (2): net/bnxt/tf_core: fix build failure with flow scale option net/bnxt/tf_ulp: support MPLS packets Smitha Pisupati (1): net/bnxt/tf_ulp: add support for special vxlan Sriharsha Basavapatna (2): net/bnxt: fix default rss config net/bnxt: avoid iova range check when external memory is used drivers/net/bnxt/bnxt.h | 7 + drivers/net/bnxt/bnxt_ethdev.c | 256 +- drivers/net/bnxt/bnxt_hwrm.c | 25 +- drivers/net/bnxt/bnxt_mpc.c | 26 +- drivers/net/bnxt/bnxt_mpc.h | 7 +- drivers/net/bnxt/bnxt_reps.c | 37 +- drivers/net/bnxt/bnxt_stats.c | 5 + drivers/net/bnxt/bnxt_txr.c | 5 +- drivers/net/bnxt/bnxt_vnic.c | 21 +- .../bnxt/hcapi/cfa_v3/include/cfa_resources.h | 33 +- .../net/bnxt/hcapi/cfa_v3/include/cfa_types.h | 10 + drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c | 83 +- .../net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h | 2 +- drivers/net/bnxt/hsi_struct_def_dpdk.h | 1123 +- drivers/net/bnxt/tf_core/cfa_tcam_mgr.c | 35 +- .../net/bnxt/tf_core/cfa_tcam_mgr_device.h | 6 +- drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c | 2 +- drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c | 2 +- drivers/net/bnxt/tf_core/tf_resources.c | 2 +- drivers/net/bnxt/tf_core/tf_util.c | 2 + drivers/net/bnxt/tf_core/v3/meson.build | 4 +- drivers/net/bnxt/tf_core/v3/tfc.h | 238 +- drivers/net/bnxt/tf_core/v3/tfc_act.c | 47 +- drivers/net/bnxt/tf_core/v3/tfc_cpm.c | 13 + drivers/net/bnxt/tf_core/v3/tfc_debug.h | 12 +- drivers/net/bnxt/tf_core/v3/tfc_em.c | 143 +- drivers/net/bnxt/tf_core/v3/tfc_em.h | 105 +- drivers/net/bnxt/tf_core/v3/tfc_global_id.c | 45 +- drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c | 142 + drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c | 51 +- drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c | 1411 + drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c | 565 - drivers/net/bnxt/tf_core/v3/tfc_msg.c | 363 +- drivers/net/bnxt/tf_core/v3/tfc_msg.h | 41 +- drivers/net/bnxt/tf_core/v3/tfc_resources.c | 12 +- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 246 +- drivers/net/bnxt/tf_core/v3/tfc_tcam.c | 55 + drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c | 1875 + drivers/net/bnxt/tf_core/v3/tfc_util.c | 23 + drivers/net/bnxt/tf_core/v3/tfc_util.h | 14 + drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c | 3 +- drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h | 4 +- drivers/net/bnxt/tf_core/v3/tfo.c | 211 +- drivers/net/bnxt/tf_core/v3/tfo.h | 53 +- drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 5 - drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c | 6 - drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 6 + drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 10 + drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 55 +- drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 27 +- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 147 +- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h | 5 + drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 82 +- .../generic_templates/ulp_template_db_act.c | 6 +- .../generic_templates/ulp_template_db_class.c | 8808 ++-- .../generic_templates/ulp_template_db_defs.h | 88 + .../generic_templates/ulp_template_db_field.h | 5 +- .../generic_templates/ulp_template_db_tbl.c | 267 +- .../ulp_template_db_thor2_act.c | 4637 +- .../ulp_template_db_thor2_class.c | 42439 +++++++++------- .../ulp_template_db_thor_act.c | 14 +- .../ulp_template_db_thor_class.c | 13247 ++--- .../ulp_template_db_wh_plus_act.c | 2 +- .../ulp_template_db_wh_plus_class.c | 26 +- drivers/net/bnxt/tf_ulp/meson.build | 56 +- drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c | 4 - drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 38 +- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 50 +- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h | 11 + drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c | 3 +- drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c | 64 +- drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 10 +- drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 6 + drivers/net/bnxt/tf_ulp/ulp_gen_hash.c | 2 +- drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c | 24 + drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h | 12 + drivers/net/bnxt/tf_ulp/ulp_mapper.c | 326 +- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 56 +- drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 81 +- drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 347 +- drivers/net/bnxt/tf_ulp/ulp_matcher.c | 9 - drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c | 8 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 141 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 10 + drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 137 +- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h | 4 +- drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c | 1 - .../ulp_template_db_enum.h | 333 +- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 5 + drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c | 264 + drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h | 40 + meson_options.txt | 4 + 92 files changed, 48710 insertions(+), 30583 deletions(-) create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c delete mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h rename drivers/net/bnxt/tf_ulp/{generic_templates => }/ulp_template_db_enum.h (88%) create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs Manish Kurup ` (52 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde This commit adds the data, defines and enums for applications targeting Wh+, P5, P7 products families. Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- .../generic_templates/ulp_template_db_act.c | 6 +- .../generic_templates/ulp_template_db_class.c | 8808 ++-- .../generic_templates/ulp_template_db_defs.h | 88 + .../generic_templates/ulp_template_db_enum.h | 6 +- .../generic_templates/ulp_template_db_field.h | 5 +- .../generic_templates/ulp_template_db_tbl.c | 267 +- .../ulp_template_db_thor2_act.c | 4637 +- .../ulp_template_db_thor2_class.c | 42439 +++++++++------- .../ulp_template_db_thor_act.c | 14 +- .../ulp_template_db_thor_class.c | 13247 ++--- .../ulp_template_db_wh_plus_act.c | 2 +- .../ulp_template_db_wh_plus_class.c | 26 +- 12 files changed, 40741 insertions(+), 28804 deletions(-) create mode 100644 drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c index 01fa5a40be..a537cbb84a 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -31,6 +31,8 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = { BNXT_ULP_ACT_BIT_GENEVE_DECAP | BNXT_ULP_ACT_BIT_METER | BNXT_ULP_ACT_BIT_SHARED_SAMPLE | + BNXT_ULP_ACT_BIT_IP_DECAP | + BNXT_ULP_ACT_BIT_L2_ENCAP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, .act_tid = 1 }, @@ -170,6 +172,8 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = { BNXT_ULP_ACT_BIT_SET_VLAN_VID | BNXT_ULP_ACT_BIT_VXLAN_ENCAP | BNXT_ULP_ACT_BIT_GENEVE_ENCAP | + BNXT_ULP_ACT_BIT_L2_DECAP | + BNXT_ULP_ACT_BIT_IP_ENCAP | BNXT_ULP_FLOW_DIR_BITMASK_EGR }, .act_tid = 7 }, diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c index cf5cfec692..619678f9cf 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -46,9 +46,9 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [108] = 5, - [112] = 6, - [116] = 7, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [3] = { @@ -67,9 +67,9 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [109] = 5, - [113] = 6, - [117] = 7, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [4] = { @@ -89,12 +89,12 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [5] = { @@ -113,14 +113,14 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, }, }, [6] = { @@ -139,16 +139,16 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, }, }, [7] = { @@ -168,17 +168,17 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [8] = { @@ -198,19 +198,19 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [9] = { @@ -230,17 +230,17 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [10] = { @@ -260,19 +260,19 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [11] = { @@ -293,20 +293,20 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [12] = { @@ -327,22 +327,22 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [13] = { @@ -361,15 +361,15 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 5, - [84] = 6, - [86] = 7, - [88] = 8, - [90] = 9, - [92] = 10, - [94] = 11, - [96] = 12, - [98] = 13, + [85] = 5, + [87] = 6, + [89] = 7, + [91] = 8, + [93] = 9, + [95] = 10, + [97] = 11, + [99] = 12, + [101] = 13, }, }, [14] = { @@ -388,10 +388,10 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 5, - [102] = 6, - [104] = 7, - [106] = 8, + [103] = 5, + [105] = 6, + [107] = 7, + [109] = 8, }, }, [15] = { @@ -411,18 +411,18 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 8, - [84] = 9, - [86] = 10, - [88] = 11, - [90] = 12, - [92] = 13, - [94] = 14, - [96] = 15, - [98] = 16, - [108] = 5, - [112] = 6, - [116] = 7, + [85] = 8, + [87] = 9, + [89] = 10, + [91] = 11, + [93] = 12, + [95] = 13, + [97] = 14, + [99] = 15, + [101] = 16, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [16] = { @@ -442,13 +442,13 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 8, - [102] = 9, - [104] = 10, - [106] = 11, - [108] = 5, - [112] = 6, - [116] = 7, + [103] = 8, + [105] = 9, + [107] = 10, + [109] = 11, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [17] = { @@ -468,18 +468,18 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 8, - [84] = 9, - [86] = 10, - [88] = 11, - [90] = 12, - [92] = 13, - [94] = 14, - [96] = 15, - [98] = 16, - [109] = 5, - [113] = 6, - [117] = 7, + [85] = 8, + [87] = 9, + [89] = 10, + [91] = 11, + [93] = 12, + [95] = 13, + [97] = 14, + [99] = 15, + [101] = 16, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [18] = { @@ -499,13 +499,13 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 8, - [102] = 9, - [104] = 10, - [106] = 11, - [109] = 5, - [113] = 6, - [117] = 7, + [103] = 8, + [105] = 9, + [107] = 10, + [109] = 11, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [19] = { @@ -526,21 +526,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 11, - [84] = 12, - [86] = 13, - [88] = 14, - [90] = 15, - [92] = 16, - [94] = 17, - [96] = 18, - [98] = 19, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [85] = 11, + [87] = 12, + [89] = 13, + [91] = 14, + [93] = 15, + [95] = 16, + [97] = 17, + [99] = 18, + [101] = 19, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [20] = { @@ -561,16 +561,16 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 11, - [102] = 12, - [104] = 13, - [106] = 14, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [103] = 11, + [105] = 12, + [107] = 13, + [109] = 14, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [21] = { @@ -590,23 +590,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [82] = 13, - [84] = 14, - [86] = 15, - [88] = 16, - [90] = 17, - [92] = 18, - [94] = 19, - [96] = 20, - [98] = 21, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [85] = 13, + [87] = 14, + [89] = 15, + [91] = 16, + [93] = 17, + [95] = 18, + [97] = 19, + [99] = 20, + [101] = 21, }, }, [22] = { @@ -626,25 +626,25 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [82] = 15, - [84] = 16, - [86] = 17, - [88] = 18, - [90] = 19, - [92] = 20, - [94] = 21, - [96] = 22, - [98] = 23, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [85] = 15, + [87] = 16, + [89] = 17, + [91] = 18, + [93] = 19, + [95] = 20, + [97] = 21, + [99] = 22, + [101] = 23, }, }, [23] = { @@ -664,18 +664,18 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, }, }, [24] = { @@ -695,20 +695,20 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, }, }, [25] = { @@ -729,26 +729,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [82] = 16, - [84] = 17, - [86] = 18, - [88] = 19, - [90] = 20, - [92] = 21, - [94] = 22, - [96] = 23, - [98] = 24, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [85] = 16, + [87] = 17, + [89] = 18, + [91] = 19, + [93] = 20, + [95] = 21, + [97] = 22, + [99] = 23, + [101] = 24, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [26] = { @@ -769,28 +769,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [82] = 18, - [84] = 19, - [86] = 20, - [88] = 21, - [90] = 22, - [92] = 23, - [94] = 24, - [96] = 25, - [98] = 26, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [85] = 18, + [87] = 19, + [89] = 20, + [91] = 21, + [93] = 22, + [95] = 23, + [97] = 24, + [99] = 25, + [101] = 26, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [27] = { @@ -811,21 +811,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [100] = 16, - [102] = 17, - [104] = 18, - [106] = 19, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [103] = 16, + [105] = 17, + [107] = 18, + [109] = 19, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [28] = { @@ -846,23 +846,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [100] = 18, - [102] = 19, - [104] = 20, - [106] = 21, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [103] = 18, + [105] = 19, + [107] = 20, + [109] = 21, + [111] = 5, + [115] = 6, + [119] = 7, }, }, [29] = { @@ -883,26 +883,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [82] = 16, - [84] = 17, - [86] = 18, - [88] = 19, - [90] = 20, - [92] = 21, - [94] = 22, - [96] = 23, - [98] = 24, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [85] = 16, + [87] = 17, + [89] = 18, + [91] = 19, + [93] = 20, + [95] = 21, + [97] = 22, + [99] = 23, + [101] = 24, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [30] = { @@ -923,28 +923,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [82] = 18, - [84] = 19, - [86] = 20, - [88] = 21, - [90] = 22, - [92] = 23, - [94] = 24, - [96] = 25, - [98] = 26, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [85] = 18, + [87] = 19, + [89] = 20, + [91] = 21, + [93] = 22, + [95] = 23, + [97] = 24, + [99] = 25, + [101] = 26, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [31] = { @@ -965,21 +965,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [100] = 16, - [102] = 17, - [104] = 18, - [106] = 19, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [103] = 16, + [105] = 17, + [107] = 18, + [109] = 19, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [32] = { @@ -1000,23 +1000,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [100] = 18, - [102] = 19, - [104] = 20, - [106] = 21, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [103] = 18, + [105] = 19, + [107] = 20, + [109] = 21, + [112] = 5, + [116] = 6, + [120] = 7, }, }, [33] = { @@ -1038,29 +1038,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [82] = 19, - [84] = 20, - [86] = 21, - [88] = 22, - [90] = 23, - [92] = 24, - [94] = 25, - [96] = 26, - [98] = 27, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [85] = 19, + [87] = 20, + [89] = 21, + [91] = 22, + [93] = 23, + [95] = 24, + [97] = 25, + [99] = 26, + [101] = 27, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [34] = { @@ -1082,31 +1082,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [82] = 21, - [84] = 22, - [86] = 23, - [88] = 24, - [90] = 25, - [92] = 26, - [94] = 27, - [96] = 28, - [98] = 29, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [85] = 21, + [87] = 22, + [89] = 23, + [91] = 24, + [93] = 25, + [95] = 26, + [97] = 27, + [99] = 28, + [101] = 29, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [35] = { @@ -1128,24 +1128,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [100] = 19, - [102] = 20, - [104] = 21, - [106] = 22, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [103] = 19, + [105] = 20, + [107] = 21, + [109] = 22, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [36] = { @@ -1167,26 +1167,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [100] = 21, - [102] = 22, - [104] = 23, - [106] = 24, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [103] = 21, + [105] = 22, + [107] = 23, + [109] = 24, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, [37] = { @@ -1207,22 +1207,22 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [38] = { @@ -1243,24 +1243,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [39] = { @@ -1285,22 +1285,22 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [40] = { @@ -1325,24 +1325,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [41] = { @@ -1364,30 +1364,30 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [42] = { @@ -1409,32 +1409,32 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [43] = { @@ -1456,32 +1456,32 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [44] = { @@ -1503,34 +1503,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [45] = { @@ -1556,30 +1556,30 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [46] = { @@ -1605,32 +1605,32 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [47] = { @@ -1656,32 +1656,32 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [48] = { @@ -1707,34 +1707,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [49] = { @@ -1756,31 +1756,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 21, - [85] = 22, - [87] = 23, - [89] = 24, - [91] = 25, - [93] = 26, - [95] = 27, - [97] = 28, - [99] = 29, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 21, + [88] = 22, + [90] = 23, + [92] = 24, + [94] = 25, + [96] = 26, + [98] = 27, + [100] = 28, + [102] = 29, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [50] = { @@ -1802,33 +1802,33 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [83] = 23, - [85] = 24, - [87] = 25, - [89] = 26, - [91] = 27, - [93] = 28, - [95] = 29, - [97] = 30, - [99] = 31, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [86] = 23, + [88] = 24, + [90] = 25, + [92] = 26, + [94] = 27, + [96] = 28, + [98] = 29, + [100] = 30, + [102] = 31, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [51] = { @@ -1850,26 +1850,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 21, - [102] = 14, - [103] = 22, - [104] = 15, - [105] = 23, - [106] = 16, - [107] = 24, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 21, + [105] = 14, + [106] = 22, + [107] = 15, + [108] = 23, + [109] = 16, + [110] = 24, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [52] = { @@ -1891,28 +1891,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [101] = 23, - [102] = 16, - [103] = 24, - [104] = 17, - [105] = 25, - [106] = 18, - [107] = 26, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [104] = 23, + [105] = 16, + [106] = 24, + [107] = 17, + [108] = 25, + [109] = 18, + [110] = 26, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [53] = { @@ -1938,31 +1938,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 24, - [85] = 25, - [87] = 26, - [89] = 27, - [91] = 28, - [93] = 29, - [95] = 30, - [97] = 31, - [99] = 32, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 24, + [88] = 25, + [90] = 26, + [92] = 27, + [94] = 28, + [96] = 29, + [98] = 30, + [100] = 31, + [102] = 32, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [54] = { @@ -1988,33 +1988,33 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [83] = 26, - [85] = 27, - [87] = 28, - [89] = 29, - [91] = 30, - [93] = 31, - [95] = 32, - [97] = 33, - [99] = 34, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [86] = 26, + [88] = 27, + [90] = 28, + [92] = 29, + [94] = 30, + [96] = 31, + [98] = 32, + [100] = 33, + [102] = 34, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [55] = { @@ -2040,26 +2040,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 24, - [102] = 14, - [103] = 25, - [104] = 15, - [105] = 26, - [106] = 16, - [107] = 27, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 24, + [105] = 14, + [106] = 25, + [107] = 15, + [108] = 26, + [109] = 16, + [110] = 27, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [56] = { @@ -2085,28 +2085,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [101] = 26, - [102] = 16, - [103] = 27, - [104] = 17, - [105] = 28, - [106] = 18, - [107] = 29, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [104] = 26, + [105] = 16, + [106] = 27, + [107] = 17, + [108] = 28, + [109] = 18, + [110] = 29, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [57] = { @@ -2129,39 +2129,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [83] = 29, - [85] = 30, - [87] = 31, - [89] = 32, - [91] = 33, - [93] = 34, - [95] = 35, - [97] = 36, - [99] = 37, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [86] = 29, + [88] = 30, + [90] = 31, + [92] = 32, + [94] = 33, + [96] = 34, + [98] = 35, + [100] = 36, + [102] = 37, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [58] = { @@ -2184,41 +2184,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [59] = { @@ -2241,41 +2241,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [60] = { @@ -2298,43 +2298,43 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [83] = 33, - [85] = 34, - [87] = 35, - [89] = 36, - [91] = 37, - [93] = 38, - [95] = 39, - [97] = 40, - [99] = 41, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [86] = 33, + [88] = 34, + [90] = 35, + [92] = 36, + [94] = 37, + [96] = 38, + [98] = 39, + [100] = 40, + [102] = 41, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [61] = { @@ -2357,34 +2357,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [100] = 13, - [101] = 29, - [102] = 14, - [103] = 30, - [104] = 15, - [105] = 31, - [106] = 16, - [107] = 32, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [103] = 13, + [104] = 29, + [105] = 14, + [106] = 30, + [107] = 15, + [108] = 31, + [109] = 16, + [110] = 32, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [62] = { @@ -2407,36 +2407,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 15, - [101] = 31, - [102] = 16, - [103] = 32, - [104] = 17, - [105] = 33, - [106] = 18, - [107] = 34, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 15, + [104] = 31, + [105] = 16, + [106] = 32, + [107] = 17, + [108] = 33, + [109] = 18, + [110] = 34, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [63] = { @@ -2459,36 +2459,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 31, - [102] = 14, - [103] = 32, - [104] = 15, - [105] = 33, - [106] = 16, - [107] = 34, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 31, + [105] = 14, + [106] = 32, + [107] = 15, + [108] = 33, + [109] = 16, + [110] = 34, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [64] = { @@ -2511,38 +2511,38 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [100] = 15, - [101] = 33, - [102] = 16, - [103] = 34, - [104] = 17, - [105] = 35, - [106] = 18, - [107] = 36, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [103] = 15, + [104] = 33, + [105] = 16, + [106] = 34, + [107] = 17, + [108] = 35, + [109] = 18, + [110] = 36, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [65] = { @@ -2569,39 +2569,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [83] = 32, - [85] = 33, - [87] = 34, - [89] = 35, - [91] = 36, - [93] = 37, - [95] = 38, - [97] = 39, - [99] = 40, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [86] = 32, + [88] = 33, + [90] = 34, + [92] = 35, + [94] = 36, + [96] = 37, + [98] = 38, + [100] = 39, + [102] = 40, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [66] = { @@ -2628,41 +2628,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [83] = 34, - [85] = 35, - [87] = 36, - [89] = 37, - [91] = 38, - [93] = 39, - [95] = 40, - [97] = 41, - [99] = 42, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [86] = 34, + [88] = 35, + [90] = 36, + [92] = 37, + [94] = 38, + [96] = 39, + [98] = 40, + [100] = 41, + [102] = 42, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [67] = { @@ -2689,41 +2689,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 34, - [85] = 35, - [87] = 36, - [89] = 37, - [91] = 38, - [93] = 39, - [95] = 40, - [97] = 41, - [99] = 42, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 34, + [88] = 35, + [90] = 36, + [92] = 37, + [94] = 38, + [96] = 39, + [98] = 40, + [100] = 41, + [102] = 42, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [68] = { @@ -2750,43 +2750,43 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [83] = 36, - [85] = 37, - [87] = 38, - [89] = 39, - [91] = 40, - [93] = 41, - [95] = 42, - [97] = 43, - [99] = 44, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [86] = 36, + [88] = 37, + [90] = 38, + [92] = 39, + [94] = 40, + [96] = 41, + [98] = 42, + [100] = 43, + [102] = 44, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [69] = { @@ -2813,34 +2813,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [100] = 13, - [101] = 32, - [102] = 14, - [103] = 33, - [104] = 15, - [105] = 34, - [106] = 16, - [107] = 35, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [103] = 13, + [104] = 32, + [105] = 14, + [106] = 33, + [107] = 15, + [108] = 34, + [109] = 16, + [110] = 35, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [70] = { @@ -2867,36 +2867,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [100] = 15, - [101] = 34, - [102] = 16, - [103] = 35, - [104] = 17, - [105] = 36, - [106] = 18, - [107] = 37, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [103] = 15, + [104] = 34, + [105] = 16, + [106] = 35, + [107] = 17, + [108] = 36, + [109] = 18, + [110] = 37, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [71] = { @@ -2923,36 +2923,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 34, - [102] = 14, - [103] = 35, - [104] = 15, - [105] = 36, - [106] = 16, - [107] = 37, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 34, + [105] = 14, + [106] = 35, + [107] = 15, + [108] = 36, + [109] = 16, + [110] = 37, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, [72] = { @@ -2979,52 +2979,50 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [100] = 15, - [101] = 36, - [102] = 16, - [103] = 37, - [104] = 17, - [105] = 38, - [106] = 18, - [107] = 39, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [103] = 15, + [104] = 36, + [105] = 16, + [106] = 37, + [107] = 17, + [108] = 38, + [109] = 18, + [110] = 39, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, [73] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F1 | BNXT_ULP_HDR_BIT_O_ETH | - BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_T_MPLS | + BNXT_ULP_HDR_BIT_I_IPV6 | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x200A000000000000, - .field_opt_bitmap = 0x9000000000000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC16000000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, .flow_pattern_id = 2, .field_list = { @@ -3032,36 +3030,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [54] = 7, + [56] = 8, + [58] = 9, + [60] = 10, + [62] = 11, + [64] = 12, + [66] = 13, + [68] = 14, + [69] = 5, + [70] = 6, }, }, [74] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F1 | BNXT_ULP_HDR_BIT_O_ETH | - BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_T_MPLS | + BNXT_ULP_HDR_BIT_I_IPV4 | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x2002800000000000, - .field_opt_bitmap = 0x9000000000000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC05800000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, .flow_pattern_id = 2, .field_list = { @@ -3069,122 +3059,342 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [34] = 7, + [36] = 8, + [38] = 9, + [40] = 10, + [42] = 11, + [44] = 12, + [46] = 13, + [48] = 14, + [50] = 15, + [52] = 16, + [69] = 5, + [70] = 6, }, }, [75] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | - BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_T_MPLS | BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0xC0800000000000, - .field_opt_bitmap = 0x8010301800000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC17800000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, + .flow_pattern_id = 2, .field_list = { [1] = 1, - [7] = 18, - [9] = 19, - [11] = 20, - [52] = 2, - [53] = 21, - [54] = 3, - [55] = 22, - [56] = 4, - [57] = 23, - [58] = 5, - [59] = 24, - [60] = 6, - [61] = 25, - [62] = 7, - [63] = 26, - [64] = 8, - [65] = 27, - [66] = 9, - [67] = 28, - [100] = 10, - [102] = 11, - [104] = 12, - [106] = 13, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + [6] = 2, + [8] = 3, + [10] = 4, + [54] = 7, + [56] = 8, + [58] = 9, + [60] = 10, + [62] = 11, + [64] = 12, + [66] = 13, + [68] = 14, + [69] = 5, + [70] = 6, + [86] = 15, + [88] = 16, + [90] = 17, + [92] = 18, + [94] = 19, + [96] = 20, + [98] = 21, + [100] = 22, + [102] = 23, }, }, [76] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | - BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | - BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_T_MPLS | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C0600000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC05E00000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, + .flow_pattern_id = 2, .field_list = { [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [32] = 2, - [34] = 3, - [36] = 4, - [38] = 5, - [40] = 6, - [42] = 7, - [44] = 8, - [46] = 9, - [48] = 10, - [50] = 11, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 12, - [102] = 13, - [104] = 14, - [106] = 15, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + [6] = 2, + [8] = 3, + [10] = 4, + [34] = 7, + [36] = 8, + [38] = 9, + [40] = 10, + [42] = 11, + [44] = 12, + [46] = 13, + [48] = 14, + [50] = 15, + [52] = 16, + [69] = 5, + [70] = 6, + [86] = 17, + [88] = 18, + [90] = 19, + [92] = 20, + [94] = 21, + [96] = 22, + [98] = 23, + [100] = 24, + [102] = 25, }, }, [77] = { .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_T_MPLS | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC17800000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 2, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [54] = 7, + [56] = 8, + [58] = 9, + [60] = 10, + [62] = 11, + [64] = 12, + [66] = 13, + [68] = 14, + [69] = 5, + [70] = 6, + [104] = 15, + [106] = 16, + [108] = 17, + [110] = 18, + }, + }, + [78] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_T_MPLS | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xBC05E00000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 2, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [34] = 7, + [36] = 8, + [38] = 9, + [40] = 10, + [42] = 11, + [44] = 12, + [46] = 13, + [48] = 14, + [50] = 15, + [52] = 16, + [69] = 5, + [70] = 6, + [104] = 17, + [106] = 18, + [108] = 19, + [110] = 20, + }, + }, + [79] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F1 | + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x200A000000000000, + .field_opt_bitmap = 0x9000000000000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 3, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, + }, + }, + [80] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F1 | + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x2002800000000000, + .field_opt_bitmap = 0x9000000000000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 3, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, + }, + }, + [81] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xC0800000000000, + .field_opt_bitmap = 0x8010301800000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 18, + [9] = 19, + [11] = 20, + [53] = 2, + [54] = 21, + [55] = 3, + [56] = 22, + [57] = 4, + [58] = 23, + [59] = 5, + [60] = 24, + [61] = 6, + [62] = 25, + [63] = 7, + [64] = 26, + [65] = 8, + [66] = 27, + [67] = 9, + [68] = 28, + [103] = 10, + [105] = 11, + [107] = 12, + [109] = 13, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, + }, + }, + [82] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C0600000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [33] = 2, + [35] = 3, + [37] = 4, + [39] = 5, + [41] = 6, + [43] = 7, + [45] = 8, + [47] = 9, + [49] = 10, + [51] = 11, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 12, + [105] = 13, + [107] = 14, + [109] = 15, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [83] = { + .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_F2 | BNXT_ULP_HDR_BIT_O_IPV6 | @@ -3197,41 +3407,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { .field_opt_bitmap = 0x8010300600000000, .field_exclude_bitmap = 0x0, .class_tid = 1, - .flow_pattern_id = 3, + .flow_pattern_id = 4, .field_list = { [1] = 1, [7] = 18, [9] = 19, [11] = 20, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 2, - [54] = 3, - [56] = 4, - [58] = 5, - [60] = 6, - [62] = 7, - [64] = 8, - [66] = 9, - [100] = 10, - [102] = 11, - [104] = 12, - [106] = 13, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 2, + [55] = 3, + [57] = 4, + [59] = 5, + [61] = 6, + [63] = 7, + [65] = 8, + [67] = 9, + [103] = 10, + [105] = 11, + [107] = 12, + [109] = 13, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, }, }, - [78] = { + [84] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_F2 | @@ -3245,43 +3455,43 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { .field_opt_bitmap = 0x80040C0180000000, .field_exclude_bitmap = 0x0, .class_tid = 1, - .flow_pattern_id = 3, + .flow_pattern_id = 4, .field_list = { [1] = 1, [7] = 20, [9] = 21, [11] = 22, - [32] = 2, - [33] = 23, - [34] = 3, - [35] = 24, - [36] = 4, - [37] = 25, - [38] = 5, - [39] = 26, - [40] = 6, - [41] = 27, - [42] = 7, - [43] = 28, - [44] = 8, - [45] = 29, - [46] = 9, - [47] = 30, - [48] = 10, - [49] = 31, - [50] = 11, - [51] = 32, - [100] = 12, - [102] = 13, - [104] = 14, - [106] = 15, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + [33] = 2, + [34] = 23, + [35] = 3, + [36] = 24, + [37] = 4, + [38] = 25, + [39] = 5, + [40] = 26, + [41] = 6, + [42] = 27, + [43] = 7, + [44] = 28, + [45] = 8, + [46] = 29, + [47] = 9, + [48] = 30, + [49] = 10, + [50] = 31, + [51] = 11, + [52] = 32, + [103] = 12, + [105] = 13, + [107] = 14, + [109] = 15, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, }, }, - [79] = { + [85] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_F2 | @@ -3296,48 +3506,48 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { .field_opt_bitmap = 0x8010301E00000000, .field_exclude_bitmap = 0x0, .class_tid = 1, - .flow_pattern_id = 3, + .flow_pattern_id = 4, .field_list = { [1] = 1, [7] = 18, [9] = 19, [11] = 20, - [52] = 2, - [53] = 21, - [54] = 3, - [55] = 22, - [56] = 4, - [57] = 23, - [58] = 5, - [59] = 24, - [60] = 6, - [61] = 25, - [62] = 7, - [63] = 26, - [64] = 8, - [65] = 27, - [66] = 9, - [67] = 28, - [83] = 29, - [85] = 30, - [87] = 31, - [89] = 32, - [91] = 33, - [93] = 34, - [95] = 35, - [97] = 36, - [99] = 37, - [100] = 10, - [102] = 11, - [104] = 12, - [106] = 13, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + [53] = 2, + [54] = 21, + [55] = 3, + [56] = 22, + [57] = 4, + [58] = 23, + [59] = 5, + [60] = 24, + [61] = 6, + [62] = 25, + [63] = 7, + [64] = 26, + [65] = 8, + [66] = 27, + [67] = 9, + [68] = 28, + [86] = 29, + [88] = 30, + [90] = 31, + [92] = 32, + [94] = 33, + [96] = 34, + [98] = 35, + [100] = 36, + [102] = 37, + [103] = 10, + [105] = 11, + [107] = 12, + [109] = 13, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, }, }, - [80] = { + [86] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_F2 | @@ -3348,528 +3558,1776 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { BNXT_ULP_HDR_BIT_I_IPV6 | BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C0780000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C0780000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [33] = 2, + [35] = 3, + [37] = 4, + [39] = 5, + [41] = 6, + [43] = 7, + [45] = 8, + [47] = 9, + [49] = 10, + [51] = 11, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 12, + [105] = 13, + [107] = 14, + [109] = 15, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [87] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xC0800000000000, + .field_opt_bitmap = 0x8010300780000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 18, + [9] = 19, + [11] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 2, + [55] = 3, + [57] = 4, + [59] = 5, + [61] = 6, + [63] = 7, + [65] = 8, + [67] = 9, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 10, + [105] = 11, + [107] = 12, + [109] = 13, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, + }, + }, + [88] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C01E0000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [33] = 2, + [34] = 23, + [35] = 3, + [36] = 24, + [37] = 4, + [38] = 25, + [39] = 5, + [40] = 26, + [41] = 6, + [42] = 27, + [43] = 7, + [44] = 28, + [45] = 8, + [46] = 29, + [47] = 9, + [48] = 30, + [49] = 10, + [50] = 31, + [51] = 11, + [52] = 32, + [86] = 33, + [88] = 34, + [90] = 35, + [92] = 36, + [94] = 37, + [96] = 38, + [98] = 39, + [100] = 40, + [102] = 41, + [103] = 12, + [105] = 13, + [107] = 14, + [109] = 15, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [89] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xC0800000000000, + .field_opt_bitmap = 0x8010301E00000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 18, + [9] = 19, + [11] = 20, + [53] = 2, + [54] = 21, + [55] = 3, + [56] = 22, + [57] = 4, + [58] = 23, + [59] = 5, + [60] = 24, + [61] = 6, + [62] = 25, + [63] = 7, + [64] = 26, + [65] = 8, + [66] = 27, + [67] = 9, + [68] = 28, + [103] = 10, + [104] = 29, + [105] = 11, + [106] = 30, + [107] = 12, + [108] = 31, + [109] = 13, + [110] = 32, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, + }, + }, + [90] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C0780000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [33] = 2, + [35] = 3, + [37] = 4, + [39] = 5, + [41] = 6, + [43] = 7, + [45] = 8, + [47] = 9, + [49] = 10, + [51] = 11, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 12, + [104] = 31, + [105] = 13, + [106] = 32, + [107] = 14, + [108] = 33, + [109] = 15, + [110] = 34, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [91] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xC0800000000000, + .field_opt_bitmap = 0x8010300780000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 18, + [9] = 19, + [11] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 2, + [55] = 3, + [57] = 4, + [59] = 5, + [61] = 6, + [63] = 7, + [65] = 8, + [67] = 9, + [103] = 10, + [104] = 31, + [105] = 11, + [106] = 32, + [107] = 12, + [108] = 33, + [109] = 13, + [110] = 34, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, + }, + }, + [92] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C01E0000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 4, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [33] = 2, + [34] = 23, + [35] = 3, + [36] = 24, + [37] = 4, + [38] = 25, + [39] = 5, + [40] = 26, + [41] = 6, + [42] = 27, + [43] = 7, + [44] = 28, + [45] = 8, + [46] = 29, + [47] = 9, + [48] = 30, + [49] = 10, + [50] = 31, + [51] = 11, + [52] = 32, + [103] = 12, + [104] = 33, + [105] = 13, + [106] = 34, + [107] = 14, + [108] = 35, + [109] = 15, + [110] = 36, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [93] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_ICMP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xC0800000000000, + .field_opt_bitmap = 0x8010300600000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 5, + .field_list = { + [1] = 1, + [7] = 18, + [9] = 19, + [11] = 20, + [24] = 31, + [26] = 32, + [28] = 33, + [30] = 34, + [32] = 35, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 2, + [55] = 3, + [57] = 4, + [59] = 5, + [61] = 6, + [63] = 7, + [65] = 8, + [67] = 9, + [103] = 10, + [105] = 11, + [107] = 12, + [109] = 13, + [123] = 14, + [124] = 15, + [125] = 16, + [126] = 17, + }, + }, + [94] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_VXLAN | + BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_ICMP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x30200000000000, + .field_opt_bitmap = 0x80040C0180000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 5, + .field_list = { + [1] = 1, + [7] = 20, + [9] = 21, + [11] = 22, + [24] = 33, + [26] = 34, + [28] = 35, + [30] = 36, + [32] = 37, + [33] = 2, + [34] = 23, + [35] = 3, + [36] = 24, + [37] = 4, + [38] = 25, + [39] = 5, + [40] = 26, + [41] = 6, + [42] = 27, + [43] = 7, + [44] = 28, + [45] = 8, + [46] = 29, + [47] = 9, + [48] = 30, + [49] = 10, + [50] = 31, + [51] = 11, + [52] = 32, + [103] = 12, + [105] = 13, + [107] = 14, + [109] = 15, + [123] = 16, + [124] = 17, + [125] = 18, + [126] = 19, + }, + }, + [95] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_O_UDP | + BNXT_ULP_HDR_BIT_T_GENEVE | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xA002800000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 6, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + }, + }, + [96] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_SRV6 | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xD800000000000, + .field_opt_bitmap = 0xB04000B000000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 7, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [53] = 5, + [54] = 20, + [55] = 6, + [56] = 21, + [57] = 7, + [58] = 22, + [59] = 8, + [60] = 23, + [61] = 9, + [62] = 24, + [63] = 10, + [64] = 25, + [65] = 11, + [66] = 26, + [67] = 12, + [68] = 27, + [71] = 13, + [73] = 14, + [75] = 15, + [77] = 16, + [79] = 17, + [81] = 18, + [83] = 19, + }, + }, + [97] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_SRV6 | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xD800000000000, + .field_opt_bitmap = 0xB04000BC00000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 7, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [53] = 5, + [54] = 20, + [55] = 6, + [56] = 21, + [57] = 7, + [58] = 22, + [59] = 8, + [60] = 23, + [61] = 9, + [62] = 24, + [63] = 10, + [64] = 25, + [65] = 11, + [66] = 26, + [67] = 12, + [68] = 27, + [71] = 13, + [73] = 14, + [75] = 15, + [77] = 16, + [79] = 17, + [81] = 18, + [83] = 19, + [86] = 28, + [88] = 29, + [90] = 30, + [92] = 31, + [94] = 32, + [96] = 33, + [98] = 34, + [100] = 35, + [102] = 36, + }, + }, + [98] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_O_SRV6 | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0xD800000000000, + .field_opt_bitmap = 0xB04000BC00000000, + .field_exclude_bitmap = 0x0, + .class_tid = 1, + .flow_pattern_id = 7, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [53] = 5, + [54] = 20, + [55] = 6, + [56] = 21, + [57] = 7, + [58] = 22, + [59] = 8, + [60] = 23, + [61] = 9, + [62] = 24, + [63] = 10, + [64] = 25, + [65] = 11, + [66] = 26, + [67] = 12, + [68] = 27, + [71] = 13, + [73] = 14, + [75] = 15, + [77] = 16, + [79] = 17, + [81] = 18, + [83] = 19, + [104] = 28, + [106] = 29, + [108] = 30, + [110] = 31, + }, + }, + [99] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C160000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [53] = 5, + [54] = 15, + [55] = 6, + [56] = 16, + [57] = 7, + [58] = 17, + [59] = 8, + [60] = 18, + [61] = 9, + [62] = 19, + [63] = 10, + [64] = 20, + [65] = 11, + [66] = 21, + [67] = 12, + [68] = 22, + }, + }, + [100] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB007058000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 17, + [56] = 18, + [58] = 19, + [60] = 20, + [62] = 21, + [64] = 22, + [66] = 23, + [68] = 24, + }, + }, + [101] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C058000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [34] = 15, + [36] = 16, + [38] = 17, + [40] = 18, + [42] = 19, + [44] = 20, + [46] = 21, + [48] = 22, + [50] = 23, + [52] = 24, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + }, + }, + [102] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB007016000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [34] = 17, + [35] = 6, + [36] = 18, + [37] = 7, + [38] = 19, + [39] = 8, + [40] = 20, + [41] = 9, + [42] = 21, + [43] = 10, + [44] = 22, + [45] = 11, + [46] = 23, + [47] = 12, + [48] = 24, + [49] = 13, + [50] = 25, + [51] = 14, + [52] = 26, + }, + }, + [103] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D0B0000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [53] = 5, + [54] = 16, + [55] = 6, + [56] = 17, + [57] = 7, + [58] = 18, + [59] = 8, + [60] = 19, + [61] = 9, + [62] = 20, + [63] = 10, + [64] = 21, + [65] = 11, + [66] = 22, + [67] = 12, + [68] = 23, + }, + }, + [104] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00742C000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 18, + [56] = 19, + [58] = 20, + [60] = 21, + [62] = 22, + [64] = 23, + [66] = 24, + [68] = 25, + }, + }, + [105] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D02C000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [34] = 16, + [36] = 17, + [38] = 18, + [40] = 19, + [42] = 20, + [44] = 21, + [46] = 22, + [48] = 23, + [50] = 24, + [52] = 25, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + }, + }, + [106] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00740B000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [34] = 18, + [35] = 6, + [36] = 19, + [37] = 7, + [38] = 20, + [39] = 8, + [40] = 21, + [41] = 9, + [42] = 22, + [43] = 10, + [44] = 23, + [45] = 11, + [46] = 24, + [47] = 12, + [48] = 25, + [49] = 13, + [50] = 26, + [51] = 14, + [52] = 27, + }, + }, + [107] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C178000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [53] = 5, + [54] = 15, + [55] = 6, + [56] = 16, + [57] = 7, + [58] = 17, + [59] = 8, + [60] = 18, + [61] = 9, + [62] = 19, + [63] = 10, + [64] = 20, + [65] = 11, + [66] = 21, + [67] = 12, + [68] = 22, + [86] = 23, + [88] = 24, + [90] = 25, + [92] = 26, + [94] = 27, + [96] = 28, + [98] = 29, + [100] = 30, + [102] = 31, + }, + }, + [108] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00705E000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 17, + [56] = 18, + [58] = 19, + [60] = 20, + [62] = 21, + [64] = 22, + [66] = 23, + [68] = 24, + [86] = 25, + [88] = 26, + [90] = 27, + [92] = 28, + [94] = 29, + [96] = 30, + [98] = 31, + [100] = 32, + [102] = 33, + }, + }, + [109] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C05E000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [34] = 15, + [36] = 16, + [38] = 17, + [40] = 18, + [42] = 19, + [44] = 20, + [46] = 21, + [48] = 22, + [50] = 23, + [52] = 24, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 25, + [88] = 26, + [90] = 27, + [92] = 28, + [94] = 29, + [96] = 30, + [98] = 31, + [100] = 32, + [102] = 33, + }, + }, + [110] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB007017800000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [34] = 17, + [35] = 6, + [36] = 18, + [37] = 7, + [38] = 19, + [39] = 8, + [40] = 20, + [41] = 9, + [42] = 21, + [43] = 10, + [44] = 22, + [45] = 11, + [46] = 23, + [47] = 12, + [48] = 24, + [49] = 13, + [50] = 25, + [51] = 14, + [52] = 26, + [86] = 27, + [88] = 28, + [90] = 29, + [92] = 30, + [94] = 31, + [96] = 32, + [98] = 33, + [100] = 34, + [102] = 35, + }, + }, + [111] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C178000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [53] = 5, + [54] = 15, + [55] = 6, + [56] = 16, + [57] = 7, + [58] = 17, + [59] = 8, + [60] = 18, + [61] = 9, + [62] = 19, + [63] = 10, + [64] = 20, + [65] = 11, + [66] = 21, + [67] = 12, + [68] = 22, + [104] = 23, + [106] = 24, + [108] = 25, + [110] = 26, + }, + }, + [112] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV4 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00705E000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [32] = 2, - [34] = 3, - [36] = 4, - [38] = 5, - [40] = 6, - [42] = 7, - [44] = 8, - [46] = 9, - [48] = 10, - [50] = 11, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 12, - [102] = 13, - [104] = 14, - [106] = 15, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 17, + [56] = 18, + [58] = 19, + [60] = 20, + [62] = 21, + [64] = 22, + [66] = 23, + [68] = 24, + [104] = 25, + [106] = 26, + [108] = 27, + [110] = 28, }, }, - [81] = { + [113] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_HDR_BIT_I_UDP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0xC0800000000000, - .field_opt_bitmap = 0x8010300780000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01C05E000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 18, - [9] = 19, - [11] = 20, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 2, - [54] = 3, - [56] = 4, - [58] = 5, - [60] = 6, - [62] = 7, - [64] = 8, - [66] = 9, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 10, - [102] = 11, - [104] = 12, - [106] = 13, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [34] = 15, + [36] = 16, + [38] = 17, + [40] = 18, + [42] = 19, + [44] = 20, + [46] = 21, + [48] = 22, + [50] = 23, + [52] = 24, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [104] = 25, + [106] = 26, + [108] = 27, + [110] = 28, }, }, - [82] = { + [114] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_TCP | + BNXT_ULP_HDR_BIT_I_UDP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C01E0000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB007017800000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [32] = 2, - [33] = 23, - [34] = 3, - [35] = 24, - [36] = 4, - [37] = 25, - [38] = 5, - [39] = 26, - [40] = 6, - [41] = 27, - [42] = 7, - [43] = 28, - [44] = 8, - [45] = 29, - [46] = 9, - [47] = 30, - [48] = 10, - [49] = 31, - [50] = 11, - [51] = 32, - [83] = 33, - [85] = 34, - [87] = 35, - [89] = 36, - [91] = 37, - [93] = 38, - [95] = 39, - [97] = 40, - [99] = 41, - [100] = 12, - [102] = 13, - [104] = 14, - [106] = 15, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [33] = 5, + [34] = 17, + [35] = 6, + [36] = 18, + [37] = 7, + [38] = 19, + [39] = 8, + [40] = 20, + [41] = 9, + [42] = 21, + [43] = 10, + [44] = 22, + [45] = 11, + [46] = 23, + [47] = 12, + [48] = 24, + [49] = 13, + [50] = 25, + [51] = 14, + [52] = 26, + [104] = 27, + [106] = 28, + [108] = 29, + [110] = 30, }, }, - [83] = { + [115] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | BNXT_ULP_HDR_BIT_I_IPV6 | - BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0xC0800000000000, - .field_opt_bitmap = 0x8010301E00000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D0BC000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 18, - [9] = 19, - [11] = 20, - [52] = 2, - [53] = 21, - [54] = 3, - [55] = 22, - [56] = 4, - [57] = 23, - [58] = 5, - [59] = 24, - [60] = 6, - [61] = 25, - [62] = 7, - [63] = 26, - [64] = 8, - [65] = 27, - [66] = 9, - [67] = 28, - [100] = 10, - [101] = 29, - [102] = 11, - [103] = 30, - [104] = 12, - [105] = 31, - [106] = 13, - [107] = 32, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [53] = 5, + [54] = 16, + [55] = 6, + [56] = 17, + [57] = 7, + [58] = 18, + [59] = 8, + [60] = 19, + [61] = 9, + [62] = 20, + [63] = 10, + [64] = 21, + [65] = 11, + [66] = 22, + [67] = 12, + [68] = 23, + [86] = 24, + [88] = 25, + [90] = 26, + [92] = 27, + [94] = 28, + [96] = 29, + [98] = 30, + [100] = 31, + [102] = 32, }, }, - [84] = { + [116] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | BNXT_ULP_HDR_BIT_I_IPV6 | - BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C0780000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00742F000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [32] = 2, - [34] = 3, - [36] = 4, - [38] = 5, - [40] = 6, - [42] = 7, - [44] = 8, - [46] = 9, - [48] = 10, - [50] = 11, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 12, - [101] = 31, - [102] = 13, - [103] = 32, - [104] = 14, - [105] = 33, - [106] = 15, - [107] = 34, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 18, + [56] = 19, + [58] = 20, + [60] = 21, + [62] = 22, + [64] = 23, + [66] = 24, + [68] = 25, + [86] = 26, + [88] = 27, + [90] = 28, + [92] = 29, + [94] = 30, + [96] = 31, + [98] = 32, + [100] = 33, + [102] = 34, }, }, - [85] = { + [117] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0xC0800000000000, - .field_opt_bitmap = 0x8010300780000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D02F000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 18, - [9] = 19, - [11] = 20, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 2, - [54] = 3, - [56] = 4, - [58] = 5, - [60] = 6, - [62] = 7, - [64] = 8, - [66] = 9, - [100] = 10, - [101] = 31, - [102] = 11, - [103] = 32, - [104] = 12, - [105] = 33, - [106] = 13, - [107] = 34, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [34] = 16, + [36] = 17, + [38] = 18, + [40] = 19, + [42] = 20, + [44] = 21, + [46] = 22, + [48] = 23, + [50] = 24, + [52] = 25, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 26, + [88] = 27, + [90] = 28, + [92] = 29, + [94] = 30, + [96] = 31, + [98] = 32, + [100] = 33, + [102] = 34, }, }, - [86] = { + [118] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_HDR_BIT_I_TCP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C01E0000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00740BC00000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 3, - .field_list = { - [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [32] = 2, - [33] = 23, - [34] = 3, - [35] = 24, - [36] = 4, - [37] = 25, - [38] = 5, - [39] = 26, - [40] = 6, - [41] = 27, - [42] = 7, - [43] = 28, - [44] = 8, - [45] = 29, - [46] = 9, - [47] = 30, - [48] = 10, - [49] = 31, - [50] = 11, - [51] = 32, - [100] = 12, - [101] = 33, - [102] = 13, - [103] = 34, - [104] = 14, - [105] = 35, - [106] = 15, - [107] = 36, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [34] = 18, + [35] = 6, + [36] = 19, + [37] = 7, + [38] = 20, + [39] = 8, + [40] = 21, + [41] = 9, + [42] = 22, + [43] = 10, + [44] = 23, + [45] = 11, + [46] = 24, + [47] = 12, + [48] = 25, + [49] = 13, + [50] = 26, + [51] = 14, + [52] = 27, + [86] = 28, + [88] = 29, + [90] = 30, + [92] = 31, + [94] = 32, + [96] = 33, + [98] = 34, + [100] = 35, + [102] = 36, }, }, - [87] = { + [119] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV6 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | - BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_ICMP | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0xC0800000000000, - .field_opt_bitmap = 0x8010300600000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D0BC000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 4, + .flow_pattern_id = 8, .field_list = { [1] = 1, - [7] = 18, - [9] = 19, - [11] = 20, - [23] = 31, - [25] = 32, - [27] = 33, - [29] = 34, - [31] = 35, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 2, - [54] = 3, - [56] = 4, - [58] = 5, - [60] = 6, - [62] = 7, - [64] = 8, - [66] = 9, - [100] = 10, - [102] = 11, - [104] = 12, - [106] = 13, - [120] = 14, - [121] = 15, - [122] = 16, - [123] = 17, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [53] = 5, + [54] = 16, + [55] = 6, + [56] = 17, + [57] = 7, + [58] = 18, + [59] = 8, + [60] = 19, + [61] = 9, + [62] = 20, + [63] = 10, + [64] = 21, + [65] = 11, + [66] = 22, + [67] = 12, + [68] = 23, + [104] = 24, + [106] = 25, + [108] = 26, + [110] = 27, }, }, - [88] = { + [120] = { .app_id = 0, .hdr_bitmap = { .bits = - BNXT_ULP_HDR_BIT_F2 | + BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_VXLAN | - BNXT_ULP_HDR_BIT_I_ETH | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV6 | + BNXT_ULP_HDR_BIT_I_UDP | + BNXT_ULP_FLOW_DIR_BITMASK_ING }, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB00742F000000000, + .field_exclude_bitmap = 0x2000000000000000, + .class_tid = 1, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 18, + [56] = 19, + [58] = 20, + [60] = 21, + [62] = 22, + [64] = 23, + [66] = 24, + [68] = 25, + [104] = 26, + [106] = 27, + [108] = 28, + [110] = 29, + }, + }, + [121] = { + .app_id = 0, + .hdr_bitmap = { .bits = + BNXT_ULP_HDR_BIT_O_ETH | + BNXT_ULP_HDR_BIT_O_IPV6 | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | BNXT_ULP_HDR_BIT_I_IPV4 | - BNXT_ULP_HDR_BIT_I_ICMP | + BNXT_ULP_HDR_BIT_I_UDP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, - .field_man_bitmap = 0x30200000000000, - .field_opt_bitmap = 0x80040C0180000000, - .field_exclude_bitmap = 0x0, + .field_man_bitmap = 0x0, + .field_opt_bitmap = 0xB01D02F000000000, + .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 4, - .field_list = { - [1] = 1, - [7] = 20, - [9] = 21, - [11] = 22, - [23] = 33, - [25] = 34, - [27] = 35, - [29] = 36, - [31] = 37, - [32] = 2, - [33] = 23, - [34] = 3, - [35] = 24, - [36] = 4, - [37] = 25, - [38] = 5, - [39] = 26, - [40] = 6, - [41] = 27, - [42] = 7, - [43] = 28, - [44] = 8, - [45] = 29, - [46] = 9, - [47] = 30, - [48] = 10, - [49] = 31, - [50] = 11, - [51] = 32, - [100] = 12, - [102] = 13, - [104] = 14, - [106] = 15, - [120] = 16, - [121] = 17, - [122] = 18, - [123] = 19, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 13, + [21] = 14, + [22] = 15, + [34] = 16, + [36] = 17, + [38] = 18, + [40] = 19, + [42] = 20, + [44] = 21, + [46] = 22, + [48] = 23, + [50] = 24, + [52] = 25, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [104] = 26, + [106] = 27, + [108] = 28, + [110] = 29, }, }, - [89] = { + [122] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | BNXT_ULP_HDR_BIT_O_IPV4 | - BNXT_ULP_HDR_BIT_O_UDP | - BNXT_ULP_HDR_BIT_T_GENEVE | + BNXT_ULP_HDR_BIT_T_GRE | + BNXT_ULP_HDR_BIT_T_GRE_OPT | + BNXT_ULP_HDR_BIT_I_IPV4 | + BNXT_ULP_HDR_BIT_I_UDP | BNXT_ULP_FLOW_DIR_BITMASK_ING }, .field_man_bitmap = 0x0, - .field_opt_bitmap = 0xA002800000000000, + .field_opt_bitmap = 0xB00740BC00000000, .field_exclude_bitmap = 0x2000000000000000, .class_tid = 1, - .flow_pattern_id = 5, - .field_list = { - [1] = 1, - [6] = 2, - [8] = 3, - [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, + .flow_pattern_id = 8, + .field_list = { + [1] = 1, + [6] = 2, + [8] = 3, + [10] = 4, + [20] = 15, + [21] = 16, + [22] = 17, + [33] = 5, + [34] = 18, + [35] = 6, + [36] = 19, + [37] = 7, + [38] = 20, + [39] = 8, + [40] = 21, + [41] = 9, + [42] = 22, + [43] = 10, + [44] = 23, + [45] = 11, + [46] = 24, + [47] = 12, + [48] = 25, + [49] = 13, + [50] = 26, + [51] = 14, + [52] = 27, + [104] = 28, + [106] = 29, + [108] = 30, + [110] = 31, }, }, - [90] = { + [123] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3886,7 +5344,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [10] = 4, }, }, - [91] = { + [124] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3902,12 +5360,12 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [108] = 5, - [112] = 6, - [116] = 7, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [92] = { + [125] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3923,12 +5381,12 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [109] = 5, - [113] = 6, - [117] = 7, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [93] = { + [126] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3945,15 +5403,15 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [94] = { + [127] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3969,17 +5427,17 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, }, }, - [95] = { + [128] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -3995,19 +5453,19 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, }, }, - [96] = { + [129] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4024,20 +5482,20 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [97] = { + [130] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4054,22 +5512,22 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [98] = { + [131] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4086,20 +5544,20 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [99] = { + [132] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4116,22 +5574,22 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [100] = { + [133] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4149,23 +5607,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [101] = { + [134] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4183,25 +5641,25 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [102] = { + [135] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4217,18 +5675,18 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 5, - [84] = 6, - [86] = 7, - [88] = 8, - [90] = 9, - [92] = 10, - [94] = 11, - [96] = 12, - [98] = 13, + [85] = 5, + [87] = 6, + [89] = 7, + [91] = 8, + [93] = 9, + [95] = 10, + [97] = 11, + [99] = 12, + [101] = 13, }, }, - [103] = { + [136] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4244,13 +5702,13 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 5, - [102] = 6, - [104] = 7, - [106] = 8, + [103] = 5, + [105] = 6, + [107] = 7, + [109] = 8, }, }, - [104] = { + [137] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4267,21 +5725,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 8, - [84] = 9, - [86] = 10, - [88] = 11, - [90] = 12, - [92] = 13, - [94] = 14, - [96] = 15, - [98] = 16, - [108] = 5, - [112] = 6, - [116] = 7, + [85] = 8, + [87] = 9, + [89] = 10, + [91] = 11, + [93] = 12, + [95] = 13, + [97] = 14, + [99] = 15, + [101] = 16, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [105] = { + [138] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4298,16 +5756,16 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 8, - [102] = 9, - [104] = 10, - [106] = 11, - [108] = 5, - [112] = 6, - [116] = 7, + [103] = 8, + [105] = 9, + [107] = 10, + [109] = 11, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [106] = { + [139] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4324,21 +5782,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 8, - [84] = 9, - [86] = 10, - [88] = 11, - [90] = 12, - [92] = 13, - [94] = 14, - [96] = 15, - [98] = 16, - [109] = 5, - [113] = 6, - [117] = 7, + [85] = 8, + [87] = 9, + [89] = 10, + [91] = 11, + [93] = 12, + [95] = 13, + [97] = 14, + [99] = 15, + [101] = 16, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [107] = { + [140] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4355,16 +5813,16 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 8, - [102] = 9, - [104] = 10, - [106] = 11, - [109] = 5, - [113] = 6, - [117] = 7, + [103] = 8, + [105] = 9, + [107] = 10, + [109] = 11, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [108] = { + [141] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4382,24 +5840,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [82] = 11, - [84] = 12, - [86] = 13, - [88] = 14, - [90] = 15, - [92] = 16, - [94] = 17, - [96] = 18, - [98] = 19, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [85] = 11, + [87] = 12, + [89] = 13, + [91] = 14, + [93] = 15, + [95] = 16, + [97] = 17, + [99] = 18, + [101] = 19, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [109] = { + [142] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4417,19 +5875,19 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [100] = 11, - [102] = 12, - [104] = 13, - [106] = 14, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [103] = 11, + [105] = 12, + [107] = 13, + [109] = 14, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [110] = { + [143] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4446,26 +5904,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [82] = 13, - [84] = 14, - [86] = 15, - [88] = 16, - [90] = 17, - [92] = 18, - [94] = 19, - [96] = 20, - [98] = 21, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [85] = 13, + [87] = 14, + [89] = 15, + [91] = 16, + [93] = 17, + [95] = 18, + [97] = 19, + [99] = 20, + [101] = 21, }, }, - [111] = { + [144] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4482,28 +5940,28 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [82] = 15, - [84] = 16, - [86] = 17, - [88] = 18, - [90] = 19, - [92] = 20, - [94] = 21, - [96] = 22, - [98] = 23, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [85] = 15, + [87] = 16, + [89] = 17, + [91] = 18, + [93] = 19, + [95] = 20, + [97] = 21, + [99] = 22, + [101] = 23, }, }, - [112] = { + [145] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4520,21 +5978,21 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, }, }, - [113] = { + [146] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4551,23 +6009,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, }, }, - [114] = { + [147] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4585,29 +6043,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [82] = 16, - [84] = 17, - [86] = 18, - [88] = 19, - [90] = 20, - [92] = 21, - [94] = 22, - [96] = 23, - [98] = 24, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [85] = 16, + [87] = 17, + [89] = 18, + [91] = 19, + [93] = 20, + [95] = 21, + [97] = 22, + [99] = 23, + [101] = 24, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [115] = { + [148] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4625,31 +6083,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [82] = 18, - [84] = 19, - [86] = 20, - [88] = 21, - [90] = 22, - [92] = 23, - [94] = 24, - [96] = 25, - [98] = 26, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [85] = 18, + [87] = 19, + [89] = 20, + [91] = 21, + [93] = 22, + [95] = 23, + [97] = 24, + [99] = 25, + [101] = 26, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [116] = { + [149] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4667,24 +6125,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [100] = 16, - [102] = 17, - [104] = 18, - [106] = 19, - [108] = 5, - [112] = 6, - [116] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [103] = 16, + [105] = 17, + [107] = 18, + [109] = 19, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [117] = { + [150] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4702,26 +6160,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [100] = 18, - [102] = 19, - [104] = 20, - [106] = 21, - [108] = 5, - [112] = 6, - [116] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [103] = 18, + [105] = 19, + [107] = 20, + [109] = 21, + [111] = 5, + [115] = 6, + [119] = 7, }, }, - [118] = { + [151] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4739,29 +6197,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [82] = 16, - [84] = 17, - [86] = 18, - [88] = 19, - [90] = 20, - [92] = 21, - [94] = 22, - [96] = 23, - [98] = 24, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [85] = 16, + [87] = 17, + [89] = 18, + [91] = 19, + [93] = 20, + [95] = 21, + [97] = 22, + [99] = 23, + [101] = 24, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [119] = { + [152] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4779,31 +6237,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [82] = 18, - [84] = 19, - [86] = 20, - [88] = 21, - [90] = 22, - [92] = 23, - [94] = 24, - [96] = 25, - [98] = 26, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [85] = 18, + [87] = 19, + [89] = 20, + [91] = 21, + [93] = 22, + [95] = 23, + [97] = 24, + [99] = 25, + [101] = 26, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [120] = { + [153] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4821,24 +6279,24 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 8, - [54] = 9, - [56] = 10, - [58] = 11, - [60] = 12, - [62] = 13, - [64] = 14, - [66] = 15, - [100] = 16, - [102] = 17, - [104] = 18, - [106] = 19, - [109] = 5, - [113] = 6, - [117] = 7, + [53] = 8, + [55] = 9, + [57] = 10, + [59] = 11, + [61] = 12, + [63] = 13, + [65] = 14, + [67] = 15, + [103] = 16, + [105] = 17, + [107] = 18, + [109] = 19, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [121] = { + [154] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4856,26 +6314,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 8, - [34] = 9, - [36] = 10, - [38] = 11, - [40] = 12, - [42] = 13, - [44] = 14, - [46] = 15, - [48] = 16, - [50] = 17, - [100] = 18, - [102] = 19, - [104] = 20, - [106] = 21, - [109] = 5, - [113] = 6, - [117] = 7, + [33] = 8, + [35] = 9, + [37] = 10, + [39] = 11, + [41] = 12, + [43] = 13, + [45] = 14, + [47] = 15, + [49] = 16, + [51] = 17, + [103] = 18, + [105] = 19, + [107] = 20, + [109] = 21, + [112] = 5, + [116] = 6, + [120] = 7, }, }, - [122] = { + [155] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4894,32 +6352,32 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [82] = 19, - [84] = 20, - [86] = 21, - [88] = 22, - [90] = 23, - [92] = 24, - [94] = 25, - [96] = 26, - [98] = 27, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [85] = 19, + [87] = 20, + [89] = 21, + [91] = 22, + [93] = 23, + [95] = 24, + [97] = 25, + [99] = 26, + [101] = 27, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [123] = { + [156] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4938,34 +6396,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [82] = 21, - [84] = 22, - [86] = 23, - [88] = 24, - [90] = 25, - [92] = 26, - [94] = 27, - [96] = 28, - [98] = 29, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [85] = 21, + [87] = 22, + [89] = 23, + [91] = 24, + [93] = 25, + [95] = 26, + [97] = 27, + [99] = 28, + [101] = 29, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [124] = { + [157] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -4984,27 +6442,27 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 11, - [54] = 12, - [56] = 13, - [58] = 14, - [60] = 15, - [62] = 16, - [64] = 17, - [66] = 18, - [100] = 19, - [102] = 20, - [104] = 21, - [106] = 22, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [53] = 11, + [55] = 12, + [57] = 13, + [59] = 14, + [61] = 15, + [63] = 16, + [65] = 17, + [67] = 18, + [103] = 19, + [105] = 20, + [107] = 21, + [109] = 22, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [125] = { + [158] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5023,29 +6481,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 11, - [34] = 12, - [36] = 13, - [38] = 14, - [40] = 15, - [42] = 16, - [44] = 17, - [46] = 18, - [48] = 19, - [50] = 20, - [100] = 21, - [102] = 22, - [104] = 23, - [106] = 24, - [108] = 5, - [109] = 8, - [112] = 6, - [113] = 9, - [116] = 7, - [117] = 10, + [33] = 11, + [35] = 12, + [37] = 13, + [39] = 14, + [41] = 15, + [43] = 16, + [45] = 17, + [47] = 18, + [49] = 19, + [51] = 20, + [103] = 21, + [105] = 22, + [107] = 23, + [109] = 24, + [111] = 5, + [112] = 8, + [115] = 6, + [116] = 9, + [119] = 7, + [120] = 10, }, }, - [126] = { + [159] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5063,25 +6521,25 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [127] = { + [160] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5099,27 +6557,27 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [128] = { + [161] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5141,25 +6599,25 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [129] = { + [162] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5181,27 +6639,27 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [130] = { + [163] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5220,33 +6678,33 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [131] = { + [164] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5265,35 +6723,35 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [132] = { + [165] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5312,35 +6770,35 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [133] = { + [166] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5359,37 +6817,37 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [134] = { + [167] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5412,33 +6870,33 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [135] = { + [168] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5461,35 +6919,35 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [136] = { + [169] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5512,35 +6970,35 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [137] = { + [170] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5563,37 +7021,37 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [138] = { + [171] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5612,34 +7070,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 21, - [85] = 22, - [87] = 23, - [89] = 24, - [91] = 25, - [93] = 26, - [95] = 27, - [97] = 28, - [99] = 29, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 21, + [88] = 22, + [90] = 23, + [92] = 24, + [94] = 25, + [96] = 26, + [98] = 27, + [100] = 28, + [102] = 29, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [139] = { + [172] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5658,36 +7116,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [83] = 23, - [85] = 24, - [87] = 25, - [89] = 26, - [91] = 27, - [93] = 28, - [95] = 29, - [97] = 30, - [99] = 31, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [86] = 23, + [88] = 24, + [90] = 25, + [92] = 26, + [94] = 27, + [96] = 28, + [98] = 29, + [100] = 30, + [102] = 31, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [140] = { + [173] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5706,29 +7164,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 21, - [102] = 14, - [103] = 22, - [104] = 15, - [105] = 23, - [106] = 16, - [107] = 24, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 21, + [105] = 14, + [106] = 22, + [107] = 15, + [108] = 23, + [109] = 16, + [110] = 24, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [141] = { + [174] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5747,31 +7205,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [101] = 23, - [102] = 16, - [103] = 24, - [104] = 17, - [105] = 25, - [106] = 18, - [107] = 26, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [104] = 23, + [105] = 16, + [106] = 24, + [107] = 17, + [108] = 25, + [109] = 18, + [110] = 26, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [142] = { + [175] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5794,34 +7252,34 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 24, - [85] = 25, - [87] = 26, - [89] = 27, - [91] = 28, - [93] = 29, - [95] = 30, - [97] = 31, - [99] = 32, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 24, + [88] = 25, + [90] = 26, + [92] = 27, + [94] = 28, + [96] = 29, + [98] = 30, + [100] = 31, + [102] = 32, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [143] = { + [176] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5844,36 +7302,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [83] = 26, - [85] = 27, - [87] = 28, - [89] = 29, - [91] = 30, - [93] = 31, - [95] = 32, - [97] = 33, - [99] = 34, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [86] = 26, + [88] = 27, + [90] = 28, + [92] = 29, + [94] = 30, + [96] = 31, + [98] = 32, + [100] = 33, + [102] = 34, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [144] = { + [177] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5896,29 +7354,29 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 24, - [102] = 14, - [103] = 25, - [104] = 15, - [105] = 26, - [106] = 16, - [107] = 27, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 24, + [105] = 14, + [106] = 25, + [107] = 15, + [108] = 26, + [109] = 16, + [110] = 27, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [145] = { + [178] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5941,31 +7399,31 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [101] = 26, - [102] = 16, - [103] = 27, - [104] = 17, - [105] = 28, - [106] = 18, - [107] = 29, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [104] = 26, + [105] = 16, + [106] = 27, + [107] = 17, + [108] = 28, + [109] = 18, + [110] = 29, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [146] = { + [179] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -5985,42 +7443,42 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [83] = 29, - [85] = 30, - [87] = 31, - [89] = 32, - [91] = 33, - [93] = 34, - [95] = 35, - [97] = 36, - [99] = 37, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [86] = 29, + [88] = 30, + [90] = 31, + [92] = 32, + [94] = 33, + [96] = 34, + [98] = 35, + [100] = 36, + [102] = 37, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [147] = { + [180] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6040,44 +7498,44 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [148] = { + [181] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6097,44 +7555,44 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 31, - [85] = 32, - [87] = 33, - [89] = 34, - [91] = 35, - [93] = 36, - [95] = 37, - [97] = 38, - [99] = 39, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 31, + [88] = 32, + [90] = 33, + [92] = 34, + [94] = 35, + [96] = 36, + [98] = 37, + [100] = 38, + [102] = 39, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [149] = { + [182] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6154,46 +7612,46 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [83] = 33, - [85] = 34, - [87] = 35, - [89] = 36, - [91] = 37, - [93] = 38, - [95] = 39, - [97] = 40, - [99] = 41, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [86] = 33, + [88] = 34, + [90] = 35, + [92] = 36, + [94] = 37, + [96] = 38, + [98] = 39, + [100] = 40, + [102] = 41, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [150] = { + [183] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6213,37 +7671,37 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [52] = 5, - [53] = 21, - [54] = 6, - [55] = 22, - [56] = 7, - [57] = 23, - [58] = 8, - [59] = 24, - [60] = 9, - [61] = 25, - [62] = 10, - [63] = 26, - [64] = 11, - [65] = 27, - [66] = 12, - [67] = 28, - [100] = 13, - [101] = 29, - [102] = 14, - [103] = 30, - [104] = 15, - [105] = 31, - [106] = 16, - [107] = 32, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 21, + [55] = 6, + [56] = 22, + [57] = 7, + [58] = 23, + [59] = 8, + [60] = 24, + [61] = 9, + [62] = 25, + [63] = 10, + [64] = 26, + [65] = 11, + [66] = 27, + [67] = 12, + [68] = 28, + [103] = 13, + [104] = 29, + [105] = 14, + [106] = 30, + [107] = 15, + [108] = 31, + [109] = 16, + [110] = 32, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [151] = { + [184] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6263,39 +7721,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 23, - [55] = 24, - [57] = 25, - [59] = 26, - [61] = 27, - [63] = 28, - [65] = 29, - [67] = 30, - [100] = 15, - [101] = 31, - [102] = 16, - [103] = 32, - [104] = 17, - [105] = 33, - [106] = 18, - [107] = 34, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 23, + [56] = 24, + [58] = 25, + [60] = 26, + [62] = 27, + [64] = 28, + [66] = 29, + [68] = 30, + [103] = 15, + [104] = 31, + [105] = 16, + [106] = 32, + [107] = 17, + [108] = 33, + [109] = 18, + [110] = 34, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [152] = { + [185] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6315,39 +7773,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [33] = 21, - [35] = 22, - [37] = 23, - [39] = 24, - [41] = 25, - [43] = 26, - [45] = 27, - [47] = 28, - [49] = 29, - [51] = 30, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 31, - [102] = 14, - [103] = 32, - [104] = 15, - [105] = 33, - [106] = 16, - [107] = 34, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 21, + [36] = 22, + [38] = 23, + [40] = 24, + [42] = 25, + [44] = 26, + [46] = 27, + [48] = 28, + [50] = 29, + [52] = 30, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 31, + [105] = 14, + [106] = 32, + [107] = 15, + [108] = 33, + [109] = 16, + [110] = 34, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [153] = { + [186] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6367,41 +7825,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [33] = 23, - [34] = 6, - [35] = 24, - [36] = 7, - [37] = 25, - [38] = 8, - [39] = 26, - [40] = 9, - [41] = 27, - [42] = 10, - [43] = 28, - [44] = 11, - [45] = 29, - [46] = 12, - [47] = 30, - [48] = 13, - [49] = 31, - [50] = 14, - [51] = 32, - [100] = 15, - [101] = 33, - [102] = 16, - [103] = 34, - [104] = 17, - [105] = 35, - [106] = 18, - [107] = 36, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 23, + [35] = 6, + [36] = 24, + [37] = 7, + [38] = 25, + [39] = 8, + [40] = 26, + [41] = 9, + [42] = 27, + [43] = 10, + [44] = 28, + [45] = 11, + [46] = 29, + [47] = 12, + [48] = 30, + [49] = 13, + [50] = 31, + [51] = 14, + [52] = 32, + [103] = 15, + [104] = 33, + [105] = 16, + [106] = 34, + [107] = 17, + [108] = 35, + [109] = 18, + [110] = 36, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [154] = { + [187] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6425,42 +7883,42 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [83] = 32, - [85] = 33, - [87] = 34, - [89] = 35, - [91] = 36, - [93] = 37, - [95] = 38, - [97] = 39, - [99] = 40, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [86] = 32, + [88] = 33, + [90] = 34, + [92] = 35, + [94] = 36, + [96] = 37, + [98] = 38, + [100] = 39, + [102] = 40, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [155] = { + [188] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6484,44 +7942,44 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [83] = 34, - [85] = 35, - [87] = 36, - [89] = 37, - [91] = 38, - [93] = 39, - [95] = 40, - [97] = 41, - [99] = 42, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [86] = 34, + [88] = 35, + [90] = 36, + [92] = 37, + [94] = 38, + [96] = 39, + [98] = 40, + [100] = 41, + [102] = 42, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [156] = { + [189] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6545,44 +8003,44 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [83] = 34, - [85] = 35, - [87] = 36, - [89] = 37, - [91] = 38, - [93] = 39, - [95] = 40, - [97] = 41, - [99] = 42, - [100] = 13, - [102] = 14, - [104] = 15, - [106] = 16, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [86] = 34, + [88] = 35, + [90] = 36, + [92] = 37, + [94] = 38, + [96] = 39, + [98] = 40, + [100] = 41, + [102] = 42, + [103] = 13, + [105] = 14, + [107] = 15, + [109] = 16, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [157] = { + [190] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6606,46 +8064,46 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [83] = 36, - [85] = 37, - [87] = 38, - [89] = 39, - [91] = 40, - [93] = 41, - [95] = 42, - [97] = 43, - [99] = 44, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [86] = 36, + [88] = 37, + [90] = 38, + [92] = 39, + [94] = 40, + [96] = 41, + [98] = 42, + [100] = 43, + [102] = 44, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [158] = { + [191] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6669,37 +8127,37 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [52] = 5, - [53] = 24, - [54] = 6, - [55] = 25, - [56] = 7, - [57] = 26, - [58] = 8, - [59] = 27, - [60] = 9, - [61] = 28, - [62] = 10, - [63] = 29, - [64] = 11, - [65] = 30, - [66] = 12, - [67] = 31, - [100] = 13, - [101] = 32, - [102] = 14, - [103] = 33, - [104] = 15, - [105] = 34, - [106] = 16, - [107] = 35, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [53] = 5, + [54] = 24, + [55] = 6, + [56] = 25, + [57] = 7, + [58] = 26, + [59] = 8, + [60] = 27, + [61] = 9, + [62] = 28, + [63] = 10, + [64] = 29, + [65] = 11, + [66] = 30, + [67] = 12, + [68] = 31, + [103] = 13, + [104] = 32, + [105] = 14, + [106] = 33, + [107] = 15, + [108] = 34, + [109] = 16, + [110] = 35, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [159] = { + [192] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6723,39 +8181,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [53] = 26, - [55] = 27, - [57] = 28, - [59] = 29, - [61] = 30, - [63] = 31, - [65] = 32, - [67] = 33, - [100] = 15, - [101] = 34, - [102] = 16, - [103] = 35, - [104] = 17, - [105] = 36, - [106] = 18, - [107] = 37, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [54] = 26, + [56] = 27, + [58] = 28, + [60] = 29, + [62] = 30, + [64] = 31, + [66] = 32, + [68] = 33, + [103] = 15, + [104] = 34, + [105] = 16, + [106] = 35, + [107] = 17, + [108] = 36, + [109] = 18, + [110] = 37, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [160] = { + [193] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6779,39 +8237,39 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 22, [10] = 4, [11] = 23, - [33] = 24, - [35] = 25, - [37] = 26, - [39] = 27, - [41] = 28, - [43] = 29, - [45] = 30, - [47] = 31, - [49] = 32, - [51] = 33, - [52] = 5, - [54] = 6, - [56] = 7, - [58] = 8, - [60] = 9, - [62] = 10, - [64] = 11, - [66] = 12, - [100] = 13, - [101] = 34, - [102] = 14, - [103] = 35, - [104] = 15, - [105] = 36, - [106] = 16, - [107] = 37, - [120] = 17, - [121] = 18, - [122] = 19, - [123] = 20, + [34] = 24, + [36] = 25, + [38] = 26, + [40] = 27, + [42] = 28, + [44] = 29, + [46] = 30, + [48] = 31, + [50] = 32, + [52] = 33, + [53] = 5, + [55] = 6, + [57] = 7, + [59] = 8, + [61] = 9, + [63] = 10, + [65] = 11, + [67] = 12, + [103] = 13, + [104] = 34, + [105] = 14, + [106] = 35, + [107] = 15, + [108] = 36, + [109] = 16, + [110] = 37, + [123] = 17, + [124] = 18, + [125] = 19, + [126] = 20, }, }, - [161] = { + [194] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6835,41 +8293,41 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [9] = 24, [10] = 4, [11] = 25, - [32] = 5, - [33] = 26, - [34] = 6, - [35] = 27, - [36] = 7, - [37] = 28, - [38] = 8, - [39] = 29, - [40] = 9, - [41] = 30, - [42] = 10, - [43] = 31, - [44] = 11, - [45] = 32, - [46] = 12, - [47] = 33, - [48] = 13, - [49] = 34, - [50] = 14, - [51] = 35, - [100] = 15, - [101] = 36, - [102] = 16, - [103] = 37, - [104] = 17, - [105] = 38, - [106] = 18, - [107] = 39, - [120] = 19, - [121] = 20, - [122] = 21, - [123] = 22, + [33] = 5, + [34] = 26, + [35] = 6, + [36] = 27, + [37] = 7, + [38] = 28, + [39] = 8, + [40] = 29, + [41] = 9, + [42] = 30, + [43] = 10, + [44] = 31, + [45] = 11, + [46] = 32, + [47] = 12, + [48] = 33, + [49] = 13, + [50] = 34, + [51] = 14, + [52] = 35, + [103] = 15, + [104] = 36, + [105] = 16, + [106] = 37, + [107] = 17, + [108] = 38, + [109] = 18, + [110] = 39, + [123] = 19, + [124] = 20, + [125] = 21, + [126] = 22, }, }, - [162] = { + [195] = { .app_id = 0, .hdr_bitmap = { .bits = BNXT_ULP_HDR_BIT_O_ETH | @@ -6887,20 +8345,20 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { [6] = 2, [8] = 3, [10] = 4, - [32] = 5, - [34] = 6, - [36] = 7, - [38] = 8, - [40] = 9, - [42] = 10, - [44] = 11, - [46] = 12, - [48] = 13, - [50] = 14, - [100] = 15, - [102] = 16, - [104] = 17, - [106] = 18, + [33] = 5, + [35] = 6, + [37] = 7, + [39] = 8, + [41] = 9, + [43] = 10, + [45] = 11, + [47] = 12, + [49] = 13, + [51] = 14, + [103] = 15, + [105] = 16, + [107] = 17, + [109] = 18, }, } }; diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h new file mode 100644 index 0000000000..14974e466a --- /dev/null +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h @@ -0,0 +1,88 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2014-2025 Broadcom + * All rights reserved. + */ + +#ifndef ULP_TEMPLATE_DB_DEFS_H_ +#define ULP_TEMPLATE_DB_DEFS_H_ + +#define BNXT_ULP_REGFILE_MAX_SZ 113 +#define BNXT_ULP_MAX_NUM_DEVICES 5 +#define BNXT_ULP_LOG2_MAX_NUM_DEV 2.32192809488736 +#define BNXT_ULP_GEN_TBL_MAX_SZ 66 +#define BNXT_ULP_ALLOCATOR_TBL_MAX_SZ 2 +#define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 196 +#define BNXT_ULP_ACT_MATCH_LIST_MAX_SZ 21 +#define BNXT_ULP_APP_RESOURCE_RESV_LIST_MAX_SZ 0 +#define BNXT_ULP_GLB_RESOURCE_TBL_MAX_SZ 51 +#define BNXT_ULP_APP_GLB_RESOURCE_TBL_MAX_SZ 0 +#define BNXT_ULP_RESOURCE_RESV_LIST_MAX_SZ 73 +#define BNXT_ULP_APP_CAP_TBL_MAX_SZ 3 +#define BNXT_ULP_COND_GOTO_REJECT 1023 +#define BNXT_ULP_COND_GOTO_RF 0x10000 +#define BNXT_ULP_APP_ID_CONFIG 0 +#define BNXT_ULP_GLB_FIELD_TBL_SIZE 132 +#define BNXT_ULP_GLB_SIG_TBL_SIZE 1 +#define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 9 +#define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 99 +#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 683 +#define ULP_WH_PLUS_CLASS_KEY_EXT_LIST_SIZE 0 +#define ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE 29 +#define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 657 +#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 50 +#define ULP_WH_PLUS_CLASS_COND_OPER_LIST_SIZE 0 +#define ULP_THOR_CLASS_TMPL_LIST_SIZE 9 +#define ULP_THOR_CLASS_TBL_LIST_SIZE 219 +#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 944 +#define ULP_THOR_CLASS_KEY_EXT_LIST_SIZE 794 +#define ULP_THOR_CLASS_IDENT_LIST_SIZE 68 +#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 1322 +#define ULP_THOR_CLASS_COND_LIST_SIZE 4978 +#define ULP_THOR_CLASS_COND_OPER_LIST_SIZE 17 +#define ULP_THOR2_CLASS_TMPL_LIST_SIZE 9 +#define ULP_THOR2_CLASS_TBL_LIST_SIZE 232 +#define ULP_THOR2_CLASS_KEY_INFO_LIST_SIZE 854 +#define ULP_THOR2_CLASS_KEY_EXT_LIST_SIZE 699 +#define ULP_THOR2_CLASS_IDENT_LIST_SIZE 80 +#define ULP_THOR2_CLASS_RESULT_FIELD_LIST_SIZE 2035 +#define ULP_THOR2_CLASS_COND_LIST_SIZE 4355 +#define ULP_THOR2_CLASS_COND_OPER_LIST_SIZE 31 +#define ULP_WH_PLUS_ACT_TMPL_LIST_SIZE 13 +#define ULP_WH_PLUS_ACT_TBL_LIST_SIZE 155 +#define ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE 49 +#define ULP_WH_PLUS_ACT_KEY_EXT_LIST_SIZE 0 +#define ULP_WH_PLUS_ACT_IDENT_LIST_SIZE 20 +#define ULP_WH_PLUS_ACT_RESULT_FIELD_LIST_SIZE 995 +#define ULP_WH_PLUS_ACT_COND_LIST_SIZE 134 +#define ULP_WH_PLUS_ACT_COND_OPER_LIST_SIZE 6 +#define ULP_THOR_ACT_TMPL_LIST_SIZE 13 +#define ULP_THOR_ACT_TBL_LIST_SIZE 104 +#define ULP_THOR_ACT_KEY_INFO_LIST_SIZE 83 +#define ULP_THOR_ACT_KEY_EXT_LIST_SIZE 5 +#define ULP_THOR_ACT_IDENT_LIST_SIZE 19 +#define ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE 416 +#define ULP_THOR_ACT_COND_LIST_SIZE 90 +#define ULP_THOR_ACT_COND_OPER_LIST_SIZE 0 +#define ULP_THOR2_ACT_TMPL_LIST_SIZE 13 +#define ULP_THOR2_ACT_TBL_LIST_SIZE 145 +#define ULP_THOR2_ACT_KEY_INFO_LIST_SIZE 120 +#define ULP_THOR2_ACT_KEY_EXT_LIST_SIZE 5 +#define ULP_THOR2_ACT_IDENT_LIST_SIZE 46 +#define ULP_THOR2_ACT_RESULT_FIELD_LIST_SIZE 541 +#define ULP_THOR2_ACT_COND_LIST_SIZE 103 +#define ULP_THOR2_ACT_COND_OPER_LIST_SIZE 0 + +enum bnxt_ulp_df_tpl { + BNXT_ULP_DF_TPL_DEFAULT_UPLINK_PORT = 3, + BNXT_ULP_DF_TPL_DEFAULT_VFR = 4 +}; + +enum bnxt_ulp_template_id { + BNXT_ULP_TEMPLATE_PROMISCUOUS_ENABLE = 5, + BNXT_ULP_TEMPLATE_PROMISCUOUS_DISABLE = 6, + BNXT_ULP_TEMPLATE_GROUP_MISS_ACTION = 7, + BNXT_ULP_TEMPLATE_HOT_UPGRADE = 8 +}; + +#endif + diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h index 7d92096543..87e24c37c2 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h @@ -1881,9 +1881,9 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_L2_CTXT_PRI_APP = 140, ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL = 1, ULP_THOR2_SYM_PROF_TCAM_PRI_GRPCATCHALL = 1, - ULP_THOR2_SYM_PROF_TCAM_PRI_APP = 10, - ULP_THOR2_SYM_PROF_TCAM_PRI_L4 = 10, - ULP_THOR2_SYM_PROF_TCAM_PRI_L3 = 8, + ULP_THOR2_SYM_PROF_TCAM_PRI_APP = 12, + ULP_THOR2_SYM_PROF_TCAM_PRI_L4 = 12, + ULP_THOR2_SYM_PROF_TCAM_PRI_L3 = 10, ULP_THOR2_SYM_PROF_TCAM_PRI_L2 = 4, ULP_THOR2_SYM_PKT_TYPE_IGNORE = 0, ULP_THOR2_SYM_PKT_TYPE_L2 = 0, diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_field.h b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_field.h index 900217d605..fd561889c5 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_field.h +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_field.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -29,6 +29,7 @@ enum bnxt_ulp_glb_hf { BNXT_ULP_GLB_HF_ID_I_GENEVE_RSVD1, BNXT_ULP_GLB_HF_ID_T_GRE_VER, BNXT_ULP_GLB_HF_ID_T_GRE_PROTO_TYPE, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY, BNXT_ULP_GLB_HF_ID_O_ICMP_TYPE, BNXT_ULP_GLB_HF_ID_I_ICMP_TYPE, BNXT_ULP_GLB_HF_ID_O_ICMP_CODE, @@ -75,6 +76,8 @@ enum bnxt_ulp_glb_hf { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR, BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR, BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR, + BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL, + BNXT_ULP_GLB_HF_ID_T_MPLS_TTL, BNXT_ULP_GLB_HF_ID_O_SRV6_NEXT_HDR, BNXT_ULP_GLB_HF_ID_I_SRV6_NEXT_HDR, BNXT_ULP_GLB_HF_ID_O_SRV6_HDR_LEN, diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c index 268aacedcc..a9be50a9db 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -85,7 +85,7 @@ const struct bnxt_ulp_generic_tbl_params ulp_wh_plus_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_MAC_ADDR_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 512, + .result_num_entries = 2048, .result_num_bytes = 9, .key_num_bytes = 13, .partial_key_num_bytes = 0, @@ -97,7 +97,7 @@ const struct bnxt_ulp_generic_tbl_params ulp_wh_plus_generic_tbl_params[] = { BNXT_ULP_DIRECTION_EGRESS] = { .name = "EGRESS GENERIC_TABLE_MAC_ADDR_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 512, + .result_num_entries = 2048, .result_num_bytes = 9, .key_num_bytes = 13, .partial_key_num_bytes = 0, @@ -752,6 +752,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_wh_plus_generic_tbl_params[] = { .num_buckets = 0, .hash_tbl_entries = 0, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, } }; @@ -832,7 +880,7 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_MAC_ADDR_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 512, + .result_num_entries = 2048, .result_num_bytes = 9, .key_num_bytes = 14, .partial_key_num_bytes = 0, @@ -1499,6 +1547,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor_generic_tbl_params[] = { .num_buckets = 0, .hash_tbl_entries = 0, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, } }; @@ -1579,7 +1675,7 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_MAC_ADDR_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 512, + .result_num_entries = 2048, .result_num_bytes = 12, .key_num_bytes = 17, .partial_key_num_bytes = 0, @@ -1651,13 +1747,13 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_SOURCE_PROPERTY_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 0, - .result_num_bytes = 0, - .key_num_bytes = 0, + .result_num_entries = 4096, + .result_num_bytes = 8, + .key_num_bytes = 11, .partial_key_num_bytes = 0, - .num_buckets = 0, - .hash_tbl_entries = 0, - .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + .num_buckets = 4, + .hash_tbl_entries = 8192, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE }, [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE << 1 | BNXT_ULP_DIRECTION_EGRESS] = { @@ -1867,13 +1963,13 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_L2_ENCAP_REC_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 0, - .result_num_bytes = 0, - .key_num_bytes = 0, + .result_num_entries = 4096, + .result_num_bytes = 6, + .key_num_bytes = 15, .partial_key_num_bytes = 0, - .num_buckets = 0, - .hash_tbl_entries = 0, - .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + .num_buckets = 4, + .hash_tbl_entries = 8192, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE }, [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_ENCAP_REC_CACHE << 1 | BNXT_ULP_DIRECTION_EGRESS] = { @@ -1903,13 +1999,13 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { BNXT_ULP_DIRECTION_EGRESS] = { .name = "EGRESS GENERIC_TABLE_SRV6_ENCAP_REC_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, - .result_num_entries = 0, - .result_num_bytes = 0, - .key_num_bytes = 0, + .result_num_entries = 2048, + .result_num_bytes = 6, + .key_num_bytes = 87, .partial_key_num_bytes = 0, - .num_buckets = 0, - .hash_tbl_entries = 0, - .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + .num_buckets = 4, + .hash_tbl_entries = 8192, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE }, [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_RSS_PARAMS << 1 | BNXT_ULP_DIRECTION_INGRESS] = { @@ -2132,8 +2228,8 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { .name = "INGRESS GENERIC_TABLE_TUNNEL_GPARSE_CACHE", .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, .result_num_entries = 64, - .result_num_bytes = 10, - .key_num_bytes = 1, + .result_num_bytes = 13, + .key_num_bytes = 2, .partial_key_num_bytes = 0, .num_buckets = 4, .hash_tbl_entries = 256, @@ -2246,6 +2342,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { .num_buckets = 0, .hash_tbl_entries = 0, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 2048, + .result_num_bytes = 9, + .key_num_bytes = 2, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 8, + .result_num_bytes = 4, + .key_num_bytes = 1, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_GLOBAL_REGFILES_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, } }; @@ -2567,6 +2711,7 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { .max_flow_priority = 0, .vxlan_port = 4789, .vxlan_ip_port = 0, + .feature_bits = BNXT_ULP_FEATURE_BIT_NON_VFR_MODE, .default_class_bits = 0, .default_act_bits = BNXT_ULP_ACT_BIT_NON_GENERIC }, @@ -2584,7 +2729,8 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { .feature_bits = BNXT_ULP_FEATURE_BIT_PORT_DMAC | BNXT_ULP_FEATURE_BIT_PARENT_DMAC | BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW | - BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT, + BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT | + BNXT_ULP_FEATURE_BIT_NON_VFR_MODE, .default_class_bits = 0, .default_act_bits = BNXT_ULP_ACT_BIT_GENERIC }, @@ -2599,9 +2745,9 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { .vxlan_port = 0, .vxlan_ip_port = 0, .max_pools = 1, - .em_multiplier = 4, - .num_rx_flows = 524288, - .num_tx_flows = 524288, + .em_multiplier = 16, + .num_rx_flows = 768000, + .num_tx_flows = 768000, .act_rx_max_sz = 256, .act_tx_max_sz = 256, .em_rx_key_max_sz = 112, @@ -2610,7 +2756,14 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { .num_key_recipes_per_dir = 256, .feature_bits = BNXT_ULP_FEATURE_BIT_PORT_DMAC | BNXT_ULP_FEATURE_BIT_PARENT_DMAC | - BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW, + BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW | + BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE | + BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT | + BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN | + BNXT_ULP_FEATURE_BIT_HOT_UPGRADE | + BNXT_ULP_FEATURE_BIT_NON_VFR_MODE | + BNXT_ULP_FEATURE_BIT_UNICAST_ONLY | + BNXT_ULP_FEATURE_BIT_RX_MISS_SEND_TO_PF, .default_class_bits = 0, .default_act_bits = BNXT_ULP_ACT_BIT_GENERIC } @@ -3082,60 +3235,6 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .resource_type = TF_TBL_TYPE_EM_FKB, .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_1, .direction = TF_DIR_RX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_PROF, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_PROF_0, - .direction = TF_DIR_RX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_LKUP, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0, - .direction = TF_DIR_RX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_ACT, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0, - .direction = TF_DIR_RX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_PROF, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_PROF_0, - .direction = TF_DIR_TX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_LKUP, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0, - .direction = TF_DIR_TX - }, - { - .app_id = 0, - .device_id = BNXT_ULP_DEVICE_ID_THOR2, - .session_type = BNXT_ULP_SESSION_TYPE_DEFAULT, - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_ACT, - .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0, - .direction = TF_DIR_TX } }; diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c index faf63b7fef..b8f5b2d537 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_act_tmpl_list[] = { /* act_tid: 1, ingress */ [1] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 25, + .num_tbls = 35, .start_tbl_idx = 0, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, @@ -24,111 +24,111 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_act_tmpl_list[] = { [2] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 25, + .start_tbl_idx = 35, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 23, + .cond_start_idx = 26, .cond_nums = 0 } }, /* act_tid: 3, ingress */ [3] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 12, - .start_tbl_idx = 26, + .start_tbl_idx = 36, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 23, + .cond_start_idx = 26, .cond_nums = 0 } }, /* act_tid: 4, ingress */ [4] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 38, + .start_tbl_idx = 48, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 } }, /* act_tid: 5, ingress */ [5] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 39, + .start_tbl_idx = 49, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 } }, /* act_tid: 6, ingress */ [6] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 23, - .start_tbl_idx = 40, + .start_tbl_idx = 50, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 } }, /* act_tid: 7, egress */ [7] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 48, - .start_tbl_idx = 63, + .num_tbls = 54, + .start_tbl_idx = 73, .reject_info = { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 42, - .cond_nums = 1 } + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 45, + .cond_nums = 0 } }, /* act_tid: 8, egress */ [8] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 111, + .start_tbl_idx = 127, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 } }, /* act_tid: 9, egress */ [9] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 112, + .start_tbl_idx = 128, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 } }, /* act_tid: 10, egress */ [10] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 113, + .start_tbl_idx = 129, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 } }, /* act_tid: 11, egress */ [11] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 114, + .start_tbl_idx = 130, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 } }, /* act_tid: 12, egress */ [12] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 6, - .start_tbl_idx = 115, + .num_tbls = 14, + .start_tbl_idx = 131, .reject_info = { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 91, - .cond_nums = 4 } + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 99, + .cond_nums = 0 } } }; @@ -491,7 +491,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 3, + .cond_false_goto = 13, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, .cond_start_idx = 12, .cond_nums = 1 }, @@ -542,6 +542,214 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .result_bit_size = 64, .result_num_fields = 1 }, + { /* act_tid: 1, , table: source_property_cache.rd_smac */ + .description = "source_property_cache.rd_smac", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 10, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 13, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 6, + .blob_key_bit_size = 85, + .key_bit_size = 85, + .key_num_fields = 3, + .ident_start_idx = 6, + .ident_nums = 1 + }, + { /* act_tid: 1, , table: control.check_smac */ + .description = "control.check_smac", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 4, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 14, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* act_tid: 1, , table: sp_smac_ipv4.0 */ + .description = "sp_smac_ipv4.0", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, + .resource_type = CFA_RSUBTYPE_CMM_ACT, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 15, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_CMM_SRP_HNDL, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .result_start_idx = 71, + .result_bit_size = 0, + .result_num_fields = 0, + .encap_num_fields = 3 + }, + { /* act_tid: 1, , table: control.srp_v4_handle_to_offset */ + .description = "control.srp_v4_handle_to_offset", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 15, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_HANDLE_TO_OFFSET, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_CMM_SRP_HNDL, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 8, + .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_SP_PTR } + }, + { /* act_tid: 1, , table: source_property_cache.wr_smac */ + .description = "source_property_cache.wr_smac", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 15, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 9, + .blob_key_bit_size = 85, + .key_bit_size = 85, + .key_num_fields = 3, + .result_start_idx = 74, + .result_bit_size = 64, + .result_num_fields = 2 + }, + { /* act_tid: 1, , table: l2_encap_rec_cache.rd */ + .description = "l2_encap_rec_cache.rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_ENCAP_REC_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 15, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 12, + .blob_key_bit_size = 117, + .key_bit_size = 117, + .key_num_fields = 6, + .ident_start_idx = 7, + .ident_nums = 1 + }, + { /* act_tid: 1, , table: control.check_l2_encap */ + .description = "control.check_l2_encap", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 4, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 15, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* act_tid: 1, , table: int_srv6_l2_encap_record.untagged_l2 */ + .description = "int_srv6_l2_encap_record.untagged_l2", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, + .resource_type = CFA_RSUBTYPE_CMM_ACT, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .result_start_idx = 76, + .result_bit_size = 0, + .result_num_fields = 0, + .encap_num_fields = 16 + }, + { /* act_tid: 1, , table: control.enc_handle_to_offset */ + .description = "control.enc_handle_to_offset", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_HANDLE_TO_OFFSET, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 8, + .func_dst_opr = BNXT_ULP_RF_IDX_ENCAP_PTR_0 } + }, + { /* act_tid: 1, , table: l2_encap_rec_cache.wr */ + .description = "l2_encap_rec_cache.wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_ENCAP_REC_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 18, + .blob_key_bit_size = 117, + .key_bit_size = 117, + .key_num_fields = 6, + .result_start_idx = 92, + .result_bit_size = 48, + .result_num_fields = 2 + }, { /* act_tid: 1, , table: control.queue_and_rss_test */ .description = "control.queue_and_rss_test", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -551,7 +759,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 13, + .cond_start_idx = 16, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -566,13 +774,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 15, + .cond_start_idx = 18, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_VNIC_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_RSS_VNIC, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 71, + .result_start_idx = 94, .result_bit_size = 0, .result_num_fields = 0 }, @@ -586,13 +794,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 16, + .cond_start_idx = 19, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_VNIC_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_RSS_VNIC, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 71, + .result_start_idx = 94, .result_bit_size = 0, .result_num_fields = 0 }, @@ -607,14 +815,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 17, + .cond_start_idx = 20, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 71, + .result_start_idx = 94, .result_bit_size = 192, .result_num_fields = 18 }, @@ -626,7 +834,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 23, + .cond_start_idx = 26, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -647,7 +855,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 23, + .cond_start_idx = 26, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -660,7 +868,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 23, + .cond_start_idx = 26, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -676,18 +884,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 24, + .cond_start_idx = 27, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 6, + .key_start_idx = 24, .blob_key_bit_size = 5, .key_bit_size = 5, .key_num_fields = 1, - .ident_start_idx = 6, + .ident_start_idx = 8, .ident_nums = 1 }, { /* act_tid: 3, , table: control.mirror_del_exist_chk */ @@ -698,7 +906,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 24, + .cond_start_idx = 27, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -711,7 +919,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 25, + .cond_start_idx = 28, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE, @@ -732,7 +940,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 26, + .cond_start_idx = 29, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -749,7 +957,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 26, + .cond_start_idx = 29, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0, @@ -758,7 +966,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 89, + .result_start_idx = 112, .result_bit_size = 128, .result_num_fields = 12 }, @@ -773,7 +981,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 26, + .cond_start_idx = 29, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL, @@ -781,7 +989,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 101, + .result_start_idx = 124, .result_bit_size = 128, .result_num_fields = 2 }, @@ -793,7 +1001,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -816,7 +1024,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, @@ -824,7 +1032,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 103, + .result_start_idx = 126, .result_bit_size = 192, .result_num_fields = 18 }, @@ -836,7 +1044,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -859,7 +1067,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0, @@ -867,7 +1075,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 121, + .result_start_idx = 144, .result_bit_size = 128, .result_num_fields = 12 }, @@ -882,7 +1090,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, @@ -890,11 +1098,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_INC, - .key_start_idx = 7, + .key_start_idx = 25, .blob_key_bit_size = 5, .key_bit_size = 5, .key_num_fields = 1, - .result_start_idx = 133, + .result_start_idx = 156, .result_bit_size = 37, .result_num_fields = 2 }, @@ -907,7 +1115,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -921,7 +1129,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -934,7 +1142,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 14, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 27, + .cond_start_idx = 30, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -949,18 +1157,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 29, + .cond_start_idx = 32, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 8, + .key_start_idx = 26, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 7, + .ident_start_idx = 9, .ident_nums = 0 }, { /* act_tid: 6, , table: control.shared_meter_profile_0 */ @@ -971,7 +1179,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 30, + .cond_start_idx = 33, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -988,18 +1196,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 31, + .cond_start_idx = 34, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 9, + .key_start_idx = 27, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 135, + .result_start_idx = 158, .result_bit_size = 97, .result_num_fields = 12 }, @@ -1013,18 +1221,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 31, + .cond_start_idx = 34, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 10, + .key_start_idx = 28, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 7, + .ident_start_idx = 9, .ident_nums = 0 }, { /* act_tid: 6, , table: control.meter_created_chk */ @@ -1035,7 +1243,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 32, + .cond_start_idx = 35, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1051,18 +1259,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 33, + .cond_start_idx = 36, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 11, + .key_start_idx = 29, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 7, + .ident_start_idx = 9, .ident_nums = 11 }, { /* act_tid: 6, , table: control.shared_meter_profile_chk */ @@ -1073,7 +1281,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 33, + .cond_start_idx = 36, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1089,7 +1297,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_METER_PTR_0, @@ -1097,7 +1305,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 147, + .result_start_idx = 170, .result_bit_size = 128, .result_num_fields = 18 }, @@ -1112,7 +1320,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL_MTR, @@ -1120,7 +1328,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 165, + .result_start_idx = 188, .result_bit_size = 128, .result_num_fields = 2 }, @@ -1132,7 +1340,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1154,18 +1362,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 12, + .key_start_idx = 30, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 167, + .result_start_idx = 190, .result_bit_size = 138, .result_num_fields = 5 }, @@ -1179,18 +1387,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 13, + .key_start_idx = 31, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 18, + .ident_start_idx = 20, .ident_nums = 1 }, { /* act_tid: 6, , table: control.mtr_id_to_stats_handle2 */ @@ -1201,7 +1409,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1221,7 +1429,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 34, + .cond_start_idx = 37, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1236,18 +1444,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 35, + .cond_start_idx = 38, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 14, + .key_start_idx = 32, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 19, + .ident_start_idx = 21, .ident_nums = 1 }, { /* act_tid: 6, , table: control.mtr_prof_ref_cnt_chk */ @@ -1258,7 +1466,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 36, + .cond_start_idx = 39, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE, @@ -1281,18 +1489,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 37, + .cond_start_idx = 40, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 15, + .key_start_idx = 33, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 20, + .ident_start_idx = 22, .ident_nums = 1 }, { /* act_tid: 6, , table: control.shared_mtr_ref_cnt_chk */ @@ -1303,7 +1511,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 38, + .cond_start_idx = 41, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE, @@ -1324,7 +1532,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 39, + .cond_start_idx = 42, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1339,18 +1547,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 39, + .cond_start_idx = 42, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 16, + .key_start_idx = 34, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 21, + .ident_start_idx = 23, .ident_nums = 1 }, { /* act_tid: 6, , table: meter_tbl.update_rd */ @@ -1364,14 +1572,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 40, + .cond_start_idx = 43, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_RD_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_METER_PTR_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 22, + .ident_start_idx = 24, .ident_nums = 13, .result_bit_size = 128 }, @@ -1386,14 +1594,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 42, + .cond_start_idx = 45, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_METER_PTR_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 172, + .result_start_idx = 195, .result_bit_size = 128, .result_num_fields = 18 }, @@ -1407,17 +1615,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 43, + .cond_start_idx = 45, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 17, + .key_start_idx = 35, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 35, + .ident_start_idx = 37, .ident_nums = 1 }, { /* act_tid: 7, , table: control.flow_chain */ @@ -1428,7 +1636,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 44, + .cond_start_idx = 46, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1444,14 +1652,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 45, + .cond_start_idx = 47, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 190, + .result_start_idx = 213, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1463,7 +1671,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 45, + .cond_start_idx = 47, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1486,17 +1694,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 45, + .cond_start_idx = 47, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 18, + .key_start_idx = 36, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 190, + .result_start_idx = 213, .result_bit_size = 64, .result_num_fields = 2 }, @@ -1511,14 +1719,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 45, + .cond_start_idx = 47, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 192, + .result_start_idx = 215, .result_bit_size = 128, .result_num_fields = 2 }, @@ -1530,7 +1738,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 46, + .cond_start_idx = 48, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1550,13 +1758,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 46, + .cond_start_idx = 48, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_STATS_CACHE_TBL_OPC_ALLOC_WR, .tbl_operand = BNXT_ULP_CF_IDX_FID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 194, + .result_start_idx = 217, .result_bit_size = 64, .result_num_fields = 1 }, @@ -1571,17 +1779,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 46, + .cond_start_idx = 48, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 19, + .key_start_idx = 37, .blob_key_bit_size = 5, .key_bit_size = 5, .key_num_fields = 1, - .ident_start_idx = 36, + .ident_start_idx = 38, .ident_nums = 1 }, { /* act_tid: 7, , table: control.mirror */ @@ -1593,7 +1801,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 47, + .cond_start_idx = 49, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1606,7 +1814,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 48, + .cond_start_idx = 50, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1636,7 +1844,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 49, + .cond_start_idx = 51, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1659,13 +1867,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 50, + .cond_start_idx = 52, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 195, + .result_start_idx = 218, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 36 @@ -1681,13 +1889,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 61, + .cond_start_idx = 63, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 231, + .result_start_idx = 254, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 28 @@ -1700,7 +1908,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 72, + .cond_start_idx = 74, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1718,10 +1926,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 29, + .cond_false_goto = 35, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 72, - .cond_nums = 2 }, + .cond_start_idx = 74, + .cond_nums = 3 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, @@ -1734,7 +1942,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 74, + .cond_start_idx = 77, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1749,17 +1957,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 75, + .cond_start_idx = 78, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 20, + .key_start_idx = 38, .blob_key_bit_size = 85, .key_bit_size = 85, .key_num_fields = 3, - .ident_start_idx = 37, + .ident_start_idx = 39, .ident_nums = 1 }, { /* act_tid: 7, , table: control.sp_rec_v4 */ @@ -1768,9 +1976,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 9, + .cond_false_goto = 15, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 76, + .cond_start_idx = 79, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1787,14 +1995,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 77, + .cond_start_idx = 80, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_SRP_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 259, + .result_start_idx = 282, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 3 @@ -1807,7 +2015,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 77, + .cond_start_idx = 80, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1826,20 +2034,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE, .direction = TF_DIR_TX, .execute_info = { - .cond_true_goto = 6, + .cond_true_goto = 12, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 77, + .cond_start_idx = 80, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 23, + .key_start_idx = 41, .blob_key_bit_size = 85, .key_bit_size = 85, .key_num_fields = 3, - .result_start_idx = 262, + .result_start_idx = 285, .result_bit_size = 64, .result_num_fields = 2 }, @@ -1851,19 +2059,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 5, + .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 77, + .cond_start_idx = 80, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 26, + .key_start_idx = 44, .blob_key_bit_size = 181, .key_bit_size = 181, .key_num_fields = 3, - .ident_start_idx = 38, + .ident_start_idx = 40, .ident_nums = 1 }, { /* act_tid: 7, , table: control.sp_rec_v6 */ @@ -1874,7 +2082,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 78, + .cond_start_idx = 81, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1891,14 +2099,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 79, + .cond_start_idx = 82, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_SRP_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 264, + .result_start_idx = 287, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 3 @@ -1911,7 +2119,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 79, + .cond_start_idx = 82, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1933,20 +2141,137 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 79, + .cond_start_idx = 82, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 29, + .key_start_idx = 47, .blob_key_bit_size = 181, .key_bit_size = 181, .key_num_fields = 3, - .result_start_idx = 267, + .result_start_idx = 290, .result_bit_size = 64, .result_num_fields = 2 }, + { /* act_tid: 7, , table: control.srv6_encap_check */ + .description = "control.srv6_encap_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 6, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 82, + .cond_nums = 2 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* act_tid: 7, , table: srv6_encap_rec_cache.rd */ + .description = "srv6_encap_rec_cache.rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SRV6_ENCAP_REC_CACHE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 84, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 50, + .blob_key_bit_size = 693, + .key_bit_size = 693, + .key_num_fields = 7, + .ident_start_idx = 41, + .ident_nums = 1 + }, + { /* act_tid: 7, , table: control.encap_srv6_check */ + .description = "control.encap_srv6_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 23, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 84, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* act_tid: 7, , table: ext_srv6_l2_encap_record.srv6_encap */ + .description = "ext_srv6_l2_encap_record.srv6_encap", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, + .resource_type = CFA_RSUBTYPE_CMM_ACT, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 85, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .result_start_idx = 292, + .result_bit_size = 0, + .result_num_fields = 0, + .encap_num_fields = 38 + }, + { /* act_tid: 7, , table: control.srv6_enc_hndl2offset */ + .description = "control.srv6_enc_hndl2offset", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 86, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_HANDLE_TO_OFFSET, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 8, + .func_dst_opr = BNXT_ULP_RF_IDX_ENCAP_PTR_0 } + }, + { /* act_tid: 7, , table: srv6_encap_rec_cache.wr */ + .description = "srv6_encap_rec_cache.wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SRV6_ENCAP_REC_CACHE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 20, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 86, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 57, + .blob_key_bit_size = 693, + .key_bit_size = 693, + .key_num_fields = 7, + .result_start_idx = 330, + .result_bit_size = 48, + .result_num_fields = 2 + }, { /* act_tid: 7, , table: control.do_vxlan_check */ .description = "control.do_vxlan_check", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -1955,7 +2280,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 79, + .cond_start_idx = 86, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1970,17 +2295,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 80, + .cond_start_idx = 87, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 32, + .key_start_idx = 64, .blob_key_bit_size = 141, .key_bit_size = 141, .key_num_fields = 6, - .ident_start_idx = 39, + .ident_start_idx = 42, .ident_nums = 1 }, { /* act_tid: 7, , table: control.vxlan_v4_encap */ @@ -1991,7 +2316,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 17, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 81, + .cond_start_idx = 88, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2008,14 +2333,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 82, + .cond_start_idx = 89, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 269, + .result_start_idx = 332, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 25 @@ -2028,7 +2353,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 82, + .cond_start_idx = 89, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2050,17 +2375,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 14, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 82, + .cond_start_idx = 89, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 38, + .key_start_idx = 70, .blob_key_bit_size = 141, .key_bit_size = 141, .key_num_fields = 6, - .result_start_idx = 294, + .result_start_idx = 357, .result_bit_size = 64, .result_num_fields = 2 }, @@ -2074,17 +2399,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 82, + .cond_start_idx = 89, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 44, + .key_start_idx = 76, .blob_key_bit_size = 237, .key_bit_size = 237, .key_num_fields = 6, - .ident_start_idx = 40, + .ident_start_idx = 43, .ident_nums = 1 }, { /* act_tid: 7, , table: control.vxlan_v6_encap */ @@ -2095,7 +2420,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 12, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 83, + .cond_start_idx = 90, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2112,14 +2437,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 84, + .cond_start_idx = 91, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 296, + .result_start_idx = 359, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 23 @@ -2132,7 +2457,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 84, + .cond_start_idx = 91, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2154,17 +2479,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 9, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 84, + .cond_start_idx = 91, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 50, + .key_start_idx = 82, .blob_key_bit_size = 237, .key_bit_size = 237, .key_num_fields = 6, - .result_start_idx = 319, + .result_start_idx = 382, .result_bit_size = 64, .result_num_fields = 2 }, @@ -2178,17 +2503,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 84, + .cond_start_idx = 91, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 56, + .key_start_idx = 88, .blob_key_bit_size = 493, .key_bit_size = 493, .key_num_fields = 15, - .ident_start_idx = 41, + .ident_start_idx = 44, .ident_nums = 1 }, { /* act_tid: 7, , table: control.geneve_encap */ @@ -2199,7 +2524,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 85, + .cond_start_idx = 92, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2216,14 +2541,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 86, + .cond_start_idx = 93, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 321, + .result_start_idx = 384, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 31 @@ -2239,14 +2564,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 87, + .cond_start_idx = 94, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 352, + .result_start_idx = 415, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 29 @@ -2259,7 +2584,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 88, + .cond_start_idx = 95, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2281,17 +2606,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 3, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 88, + .cond_start_idx = 95, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 71, + .key_start_idx = 103, .blob_key_bit_size = 493, .key_bit_size = 493, .key_num_fields = 15, - .result_start_idx = 381, + .result_start_idx = 444, .result_bit_size = 64, .result_num_fields = 2 }, @@ -2306,13 +2631,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 88, + .cond_start_idx = 95, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 383, + .result_start_idx = 446, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 11 @@ -2325,7 +2650,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 89, + .cond_start_idx = 96, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2348,14 +2673,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 89, + .cond_start_idx = 96, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 394, + .result_start_idx = 457, .result_bit_size = 192, .result_num_fields = 18 }, @@ -2367,7 +2692,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2388,7 +2713,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2402,7 +2727,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2416,7 +2741,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2430,28 +2755,139 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 91, + .cond_start_idx = 99, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, - { /* act_tid: 12, , table: mod_record.meta */ - .description = "mod_record.meta", - .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, - .resource_type = CFA_RSUBTYPE_CMM_ACT, + { /* act_tid: 12, , table: control.delete_chk */ + .description = "control.delete_chk", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 4, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 99, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* act_tid: 12, , table: shared_mirror_record.del_chk */ + .description = "shared_mirror_record.del_chk", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR, .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT, + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR, .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 100, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, + .key_start_idx = 118, + .blob_key_bit_size = 5, + .key_bit_size = 5, + .key_num_fields = 1, + .ident_start_idx = 45, + .ident_nums = 1 + }, + { /* act_tid: 12, , table: control.mirror_del_exist_chk */ + .description = "control.mirror_del_exist_chk", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 100, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* act_tid: 12, , table: control.mirror_ref_cnt_chk */ + .description = "control.mirror_ref_cnt_chk", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1023, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 101, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_REF_CNT, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_CC } + }, + { /* act_tid: 12, , table: control.create */ + .description = "control.create", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 102, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* act_tid: 12, , table: mirror_tbl.alloc */ + .description = "mirror_tbl.alloc", + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 102, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, + .track_type = CFA_TRACK_TYPE_SID, + .result_start_idx = 475, + .result_bit_size = 128, + .result_num_fields = 12 + }, + { /* act_tid: 12, , table: mod_record.meta */ + .description = "mod_record.meta", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, + .resource_type = CFA_RSUBTYPE_CMM_ACT, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 102, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, .func_info = { .func_opc = BNXT_ULP_FUNC_OPC_BIT_OR, .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD, @@ -2459,7 +2895,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = ULP_THOR2_SYM_VF_2_VF_META_VAL, .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 }, - .result_start_idx = 412, + .result_start_idx = 487, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 20 @@ -2472,7 +2908,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 102, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2495,14 +2931,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 95, + .cond_start_idx = 102, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 432, + .result_start_idx = 507, .result_bit_size = 128, .result_num_fields = 2 }, @@ -2514,7 +2951,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 96, + .cond_start_idx = 103, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2537,14 +2974,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 96, + .cond_start_idx = 103, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 434, + .result_start_idx = 509, .result_bit_size = 192, .result_num_fields = 18 }, @@ -2553,10 +2991,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_TX, .execute_info = { - .cond_true_goto = 0, - .cond_false_goto = 0, + .cond_true_goto = 1, + .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 96, + .cond_start_idx = 103, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2567,6 +3005,56 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = 32, .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR } + }, + { /* act_tid: 12, , table: mirror_tbl.wr */ + .description = "mirror_tbl.wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 103, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, + .track_type = CFA_TRACK_TYPE_SID, + .result_start_idx = 527, + .result_bit_size = 128, + .result_num_fields = 12 + }, + { /* act_tid: 12, , table: shared_mirror_record.wr */ + .description = "shared_mirror_record.wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 103, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_INC, + .key_start_idx = 119, + .blob_key_bit_size = 5, + .key_bit_size = 5, + .key_num_fields = 1, + .result_start_idx = 539, + .result_bit_size = 37, + .result_num_fields = 2 } }; @@ -2638,7 +3126,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_COUNT }, - /* cond_execute: act_tid: 1, control.queue_and_rss_test:13*/ + /* cond_execute: act_tid: 1, source_property_cache.rd_smac:13*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, + .cond_operand = BNXT_ULP_ACT_BIT_L2_ENCAP + }, + /* cond_execute: act_tid: 1, control.check_smac:14*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: act_tid: 1, control.check_l2_encap:15*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: act_tid: 1, control.queue_and_rss_test:16*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_QUEUE @@ -2647,22 +3150,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_RSS }, - /* cond_execute: act_tid: 1, vnic_interface_rss_config.0:15*/ + /* cond_execute: act_tid: 1, vnic_interface_rss_config.0:18*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_RSS }, - /* cond_execute: act_tid: 1, vnic_interface_queue_config.0:16*/ + /* cond_execute: act_tid: 1, vnic_interface_queue_config.0:19*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_QUEUE }, - /* field_cond: act_tid: 1, cmm_full_act_record.0:17*/ + /* field_cond: act_tid: 1, cmm_full_act_record.0:20*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_DROP }, - /* field_cond: act_tid: 1, cmm_full_act_record.0:18*/ + /* field_cond: act_tid: 1, cmm_full_act_record.0:21*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_RSS @@ -2671,12 +3174,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_QUEUE }, - /* field_cond: act_tid: 1, cmm_full_act_record.0:20*/ + /* field_cond: act_tid: 1, cmm_full_act_record.0:23*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 1, cmm_full_act_record.0:21*/ + /* field_cond: act_tid: 1, cmm_full_act_record.0:24*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_DECAP @@ -2685,27 +3188,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_GENEVE_DECAP }, - /* cond_execute: act_tid: 3, control.delete_chk:23*/ + /* cond_execute: act_tid: 3, control.delete_chk:26*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_DELETE }, - /* cond_execute: act_tid: 3, control.mirror_del_exist_chk:24*/ + /* cond_execute: act_tid: 3, control.mirror_del_exist_chk:27*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 3, control.mirror_ref_cnt_chk:25*/ + /* cond_execute: act_tid: 3, control.mirror_ref_cnt_chk:28*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: act_tid: 3, cmm_stat_record.0:26*/ + /* cond_execute: act_tid: 3, cmm_stat_record.0:29*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_COUNT }, - /* cond_execute: act_tid: 6, control.create_check:27*/ + /* cond_execute: act_tid: 6, control.create_check:30*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET, .cond_operand = BNXT_ULP_ACT_BIT_UPDATE @@ -2714,62 +3217,62 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET, .cond_operand = BNXT_ULP_ACT_BIT_DELETE }, - /* cond_execute: act_tid: 6, meter_profile_tbl_cache.rd:29*/ + /* cond_execute: act_tid: 6, meter_profile_tbl_cache.rd:32*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_METER_PROFILE }, - /* cond_execute: act_tid: 6, control.shared_meter_profile_0:30*/ + /* cond_execute: act_tid: 6, control.shared_meter_profile_0:33*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd:31*/ + /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd:34*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER }, - /* cond_execute: act_tid: 6, control.meter_created_chk:32*/ + /* cond_execute: act_tid: 6, control.meter_created_chk:35*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 6, control.shared_meter_profile_chk:33*/ + /* cond_execute: act_tid: 6, control.shared_meter_profile_chk:36*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 6, control.delete_check:34*/ + /* cond_execute: act_tid: 6, control.delete_check:37*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_DELETE }, - /* cond_execute: act_tid: 6, meter_profile_tbl_cache.del_chk:35*/ + /* cond_execute: act_tid: 6, meter_profile_tbl_cache.del_chk:38*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_METER_PROFILE }, - /* cond_execute: act_tid: 6, control.mtr_prof_ref_cnt_chk:36*/ + /* cond_execute: act_tid: 6, control.mtr_prof_ref_cnt_chk:39*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: act_tid: 6, shared_meter_tbl_cache.del_chk:37*/ + /* cond_execute: act_tid: 6, shared_meter_tbl_cache.del_chk:40*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER }, - /* cond_execute: act_tid: 6, control.shared_mtr_ref_cnt_chk:38*/ + /* cond_execute: act_tid: 6, control.shared_mtr_ref_cnt_chk:41*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd_update:39*/ + /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd_update:42*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER }, - /* cond_execute: act_tid: 6, meter_tbl.update_rd:40*/ + /* cond_execute: act_tid: 6, meter_tbl.update_rd:43*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS @@ -2778,52 +3281,47 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_PROP_NOT_SET, .cond_operand = BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID_UPDATE }, - /* cond_reject: thor2, act_tid: 7 */ - { - .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE - }, - /* cond_execute: act_tid: 7, flow_chain_cache.rd:43*/ + /* cond_execute: act_tid: 7, flow_chain_cache.rd:45*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* cond_execute: act_tid: 7, control.flow_chain:44*/ + /* cond_execute: act_tid: 7, control.flow_chain:46*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, cmm_stat_record.0:45*/ + /* cond_execute: act_tid: 7, cmm_stat_record.0:47*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_COUNT }, - /* cond_execute: act_tid: 7, shared_mirror_record.rd:46*/ + /* cond_execute: act_tid: 7, shared_mirror_record.rd:48*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE }, - /* cond_execute: act_tid: 7, control.mirror:47*/ + /* cond_execute: act_tid: 7, control.mirror:49*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, control.do_mod:48*/ + /* cond_execute: act_tid: 7, control.do_mod:50*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_RF_0 }, - /* cond_execute: act_tid: 7, control.vf_to_vf_calc:49*/ + /* cond_execute: act_tid: 7, control.vf_to_vf_calc:51*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF }, - /* cond_execute: act_tid: 7, mod_record.ttl_0:50*/ + /* cond_execute: act_tid: 7, mod_record.ttl_0:52*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL }, - /* field_cond: act_tid: 7, mod_record.ttl_0:51*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:53*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2832,7 +3330,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.ttl_0:53*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:55*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2841,7 +3339,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.ttl_0:55*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:57*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2850,7 +3348,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.ttl_0:57*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:59*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2859,22 +3357,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.ttl_0:59*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:61*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF }, - /* field_cond: act_tid: 7, mod_record.ttl_0:60*/ + /* field_cond: act_tid: 7, mod_record.ttl_0:62*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* cond_execute: act_tid: 7, mod_record.non_ttl_0:61*/ + /* cond_execute: act_tid: 7, mod_record.non_ttl_0:63*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET, .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:62*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:64*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2883,7 +3381,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:64*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:66*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2892,7 +3390,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:66*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:68*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2901,7 +3399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:68*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:70*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF @@ -2910,17 +3408,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:70*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:72*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF }, - /* field_cond: act_tid: 7, mod_record.non_ttl_0:71*/ + /* field_cond: act_tid: 7, mod_record.non_ttl_0:73*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* cond_execute: act_tid: 7, control.do_tunnel_check:72*/ + /* cond_execute: act_tid: 7, control.do_tunnel_check:74*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_ENCAP @@ -2929,109 +3427,135 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_GENEVE_ENCAP }, - /* cond_execute: act_tid: 7, control.do_tunnel_vlan_exclusion:74*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, + .cond_operand = BNXT_ULP_ACT_BIT_IP_ENCAP + }, + /* cond_execute: act_tid: 7, control.do_tunnel_vlan_exclusion:77*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN }, - /* cond_execute: act_tid: 7, source_property_cache.rd:75*/ + /* cond_execute: act_tid: 7, source_property_cache.rd:78*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG }, - /* cond_execute: act_tid: 7, control.sp_rec_v4:76*/ + /* cond_execute: act_tid: 7, control.sp_rec_v4:79*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, source_property_ipv6_cache.rd:77*/ + /* cond_execute: act_tid: 7, source_property_ipv6_cache.rd:80*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG }, - /* cond_execute: act_tid: 7, control.sp_rec_v6:78*/ + /* cond_execute: act_tid: 7, control.sp_rec_v6:81*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: act_tid: 7, control.srv6_encap_check:82*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, + .cond_operand = BNXT_ULP_ACT_BIT_IP_ENCAP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* cond_execute: act_tid: 7, control.encap_srv6_check:84*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, control.do_vxlan_check:79*/ + /* cond_execute: act_tid: 7, ext_srv6_l2_encap_record.srv6_encap:85*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* cond_execute: act_tid: 7, control.do_vxlan_check:86*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_ENCAP }, - /* cond_execute: act_tid: 7, vxlan_encap_rec_cache.rd:80*/ + /* cond_execute: act_tid: 7, vxlan_encap_rec_cache.rd:87*/ { .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* cond_execute: act_tid: 7, control.vxlan_v4_encap:81*/ + /* cond_execute: act_tid: 7, control.vxlan_v4_encap:88*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, vxlan_encap_ipv6_rec_cache.rd:82*/ + /* cond_execute: act_tid: 7, vxlan_encap_ipv6_rec_cache.rd:89*/ { .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* cond_execute: act_tid: 7, control.vxlan_v6_encap:83*/ + /* cond_execute: act_tid: 7, control.vxlan_v6_encap:90*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, geneve_encap_rec_cache.rd:84*/ + /* cond_execute: act_tid: 7, geneve_encap_rec_cache.rd:91*/ { .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* cond_execute: act_tid: 7, control.geneve_encap:85*/ + /* cond_execute: act_tid: 7, control.geneve_encap:92*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv4_vxlan:86*/ + /* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv4_vxlan:93*/ { .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv6_geneve:87*/ + /* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv6_geneve:94*/ { .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* cond_execute: act_tid: 7, ext_vtag_encap_record.0:88*/ + /* cond_execute: act_tid: 7, ext_vtag_encap_record.0:95*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN }, - /* field_cond: act_tid: 7, cmm_full_act_record.0:89*/ + /* field_cond: act_tid: 7, cmm_full_act_record.0:96*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_JUMP }, - /* field_cond: act_tid: 7, cmm_full_act_record.0:90*/ + /* field_cond: act_tid: 7, cmm_full_act_record.0:97*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF }, - /* cond_reject: thor2, act_tid: 12 */ + /* field_cond: act_tid: 7, cmm_full_act_record.0:98*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_SHARED + .cond_operand = BNXT_ULP_ACT_BIT_L2_DECAP }, + /* cond_execute: act_tid: 12, control.delete_chk:99*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_SAMPLE + .cond_operand = BNXT_ULP_ACT_BIT_DELETE }, + /* cond_execute: act_tid: 12, control.mirror_del_exist_chk:100*/ { - .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_DELETE + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, + /* cond_execute: act_tid: 12, control.mirror_ref_cnt_chk:101*/ { - .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: act_tid: 12, cmm_stat_record.0:95*/ + /* cond_execute: act_tid: 12, cmm_stat_record.0:102*/ { .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, .cond_operand = BNXT_ULP_ACT_BIT_COUNT @@ -3168,96 +3692,99 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff} } }, - /* act_tid: 3, , table: shared_mirror_record.del_chk */ + /* act_tid: 1, , table: source_property_cache.rd_smac */ { .field_info_mask = { - .description = "shared_index", - .field_bit_size = 5, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "shared_index", - .field_bit_size = 5, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, - /* act_tid: 3, , table: shared_mirror_record.wr */ { .field_info_mask = { - .description = "shared_index", - .field_bit_size = 5, + .description = "ipv4_src_addr", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "shared_index", - .field_bit_size = 5, + .description = "ipv4_src_addr", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 6, , table: meter_profile_tbl_cache.rd */ { .field_info_mask = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 6, , table: meter_profile_tbl_cache.wr */ + /* act_tid: 1, , table: source_property_cache.wr_smac */ { .field_info_mask = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, - /* act_tid: 6, , table: shared_meter_tbl_cache.rd */ { .field_info_mask = { - .description = "sw_meter_id", + .description = "ipv4_src_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -3268,264 +3795,214 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "sw_meter_id", + .description = "ipv4_src_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */ { .field_info_mask = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 6, , table: shared_meter_tbl_cache.wr */ + /* act_tid: 1, , table: l2_encap_rec_cache.rd */ { .field_info_mask = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, - /* act_tid: 6, , table: shared_meter_tbl_cache.rd1 */ { .field_info_mask = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_o_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_o_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */ { .field_info_mask = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "enc_o_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "sw_meter_profile_id", - .field_bit_size = 32, + .description = "enc_o_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */ { .field_info_mask = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_i_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_i_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */ { .field_info_mask = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_i_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "sw_meter_id", - .field_bit_size = 32, + .description = "enc_i_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 7, , table: flow_chain_cache.rd */ { .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 7, , table: flow_chain_cache.write */ + /* act_tid: 1, , table: l2_encap_rec_cache.wr */ { .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, - /* act_tid: 7, , table: shared_mirror_record.rd */ { .field_info_mask = { - .description = "shared_index", - .field_bit_size = 5, + .description = "enc_o_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "shared_index", - .field_bit_size = 5, + .description = "enc_o_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* act_tid: 7, , table: source_property_cache.rd */ { .field_info_mask = { - .description = "smac", - .field_bit_size = 48, + .description = "enc_o_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "smac", - .field_bit_size = 48, + .description = "enc_o_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "ipv4_src_addr", - .field_bit_size = 32, + .description = "enc_i_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "ipv4_src_addr", - .field_bit_size = 32, + .description = "enc_i_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "enc_i_vlan_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "enc_i_vlan_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -3549,262 +4026,234 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 7, , table: source_property_cache.wr */ + /* act_tid: 3, , table: shared_mirror_record.del_chk */ { .field_info_mask = { - .description = "smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .description = "shared_index", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "smac", - .field_bit_size = 48, + .description = "shared_index", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff} } }, + /* act_tid: 3, , table: shared_mirror_record.wr */ { .field_info_mask = { - .description = "ipv4_src_addr", - .field_bit_size = 32, + .description = "shared_index", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "ipv4_src_addr", - .field_bit_size = 32, + .description = "shared_index", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} + (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff} } }, + /* act_tid: 6, , table: meter_profile_tbl_cache.rd */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} } }, - /* act_tid: 7, , table: source_property_ipv6_cache.rd */ + /* act_tid: 6, , table: meter_profile_tbl_cache.wr */ { .field_info_mask = { - .description = "smac", - .field_bit_size = 48, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "smac", - .field_bit_size = 48, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} } }, + /* act_tid: 6, , table: shared_meter_tbl_cache.rd */ { .field_info_mask = { - .description = "ipv6_src_addr", - .field_bit_size = 128, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "ipv6_src_addr", - .field_bit_size = 128, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} } }, + /* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} } }, - /* act_tid: 7, , table: source_property_ipv6_cache.wr */ + /* act_tid: 6, , table: shared_meter_tbl_cache.wr */ { .field_info_mask = { - .description = "smac", - .field_bit_size = 48, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "smac", - .field_bit_size = 48, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} } }, + /* act_tid: 6, , table: shared_meter_tbl_cache.rd1 */ { .field_info_mask = { - .description = "ipv6_src_addr", - .field_bit_size = 128, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "ipv6_src_addr", - .field_bit_size = 128, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} } }, + /* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "sw_meter_profile_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff} } }, - /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */ + /* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */ { .field_info_mask = { - .description = "dmac", - .field_bit_size = 48, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "dmac", - .field_bit_size = 48, + .description = "sw_meter_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} } }, + /* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */ { .field_info_mask = { - .description = "ipv4_dst_addr", + .description = "sw_meter_id", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -3815,101 +4264,85 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "ipv4_dst_addr", + .description = "sw_meter_id", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff} + (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff} } }, + /* act_tid: 7, , table: flow_chain_cache.rd */ { .field_info_mask = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff} } }, + /* act_tid: 7, , table: flow_chain_cache.write */ { .field_info_mask = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff} } }, + /* act_tid: 7, , table: shared_mirror_record.rd */ { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "shared_index", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr1 = { - (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} - } - }, - { - .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tbl_scope", + .description = "shared_index", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff} } }, - /* act_tid: 7, , table: vxlan_encap_rec_cache.wr */ + /* act_tid: 7, , table: source_property_cache.rd */ { .field_info_mask = { - .description = "dmac", + .description = "smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -3922,18 +4355,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "dmac", + .description = "smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, { .field_info_mask = { - .description = "ipv4_dst_addr", + .description = "ipv4_src_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -3944,74 +4377,81 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "ipv4_dst_addr", + .description = "ipv4_src_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff} + (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} } }, { .field_info_mask = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, + /* act_tid: 7, , table: source_property_cache.wr */ { .field_info_mask = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "ipv4_src_addr", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, + .description = "ipv4_src_addr", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} + (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} } }, { @@ -4035,10 +4475,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */ + /* act_tid: 7, , table: source_property_ipv6_cache.rd */ { .field_info_mask = { - .description = "dmac", + .description = "smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4051,18 +4491,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "dmac", + .description = "smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, { .field_info_mask = { - .description = "ipv6_dst_addr", + .description = "ipv6_src_addr", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4085,74 +4525,93 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "ipv6_dst_addr", + .description = "ipv6_src_addr", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff} + (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} } }, { .field_info_mask = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, + /* act_tid: 7, , table: source_property_ipv6_cache.wr */ { .field_info_mask = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} } }, { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "ipv6_src_addr", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, + .description = "ipv6_src_addr", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} + (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} } }, { @@ -4160,16 +4619,23 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { .description = "tbl_scope", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "tbl_scope", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.wr */ + /* act_tid: 7, , table: srv6_encap_rec_cache.rd */ { .field_info_mask = { .description = "dmac", @@ -4230,80 +4696,162 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { }, { .field_info_mask = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "seg_list0", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "seg_list0", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 & 0xff} } }, { .field_info_mask = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "seg_list1", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "seg_list1", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 & 0xff} } }, { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "seg_list2", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, + .description = "seg_list2", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 & 0xff} } }, { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "seg_list3", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "seg_list3", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 & 0xff} } }, - /* act_tid: 7, , table: geneve_encap_rec_cache.rd */ + { + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, + /* act_tid: 7, , table: srv6_encap_rec_cache.wr */ { .field_info_mask = { .description = "dmac", @@ -4330,40 +4878,41 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { }, { .field_info_mask = { - .description = "ipv4_dst_addr", - .field_bit_size = 32, + .description = "ipv6_dst_addr", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "ipv4_dst_addr", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .description = "ipv6_dst_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr2 = { - (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff} } }, { .field_info_mask = { - .description = "ipv6_dst_addr", + .description = "seg_list0", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4386,130 +4935,166 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "ipv6_dst_addr", + .description = "seg_list0", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr2 = { - (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 & 0xff} } }, { .field_info_mask = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "seg_list1", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_sport", - .field_bit_size = 16, + .description = "seg_list1", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 & 0xff} } }, { .field_info_mask = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "seg_list2", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "udp_dport", - .field_bit_size = 16, + .description = "seg_list2", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 & 0xff} } }, { .field_info_mask = { - .description = "ver_opt_len_o_c_rsvd0", - .field_bit_size = 16, + .description = "seg_list3", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "ver_opt_len_o_c_rsvd0", - .field_bit_size = 16, + .description = "seg_list3", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 & 0xff} } }, { .field_info_mask = { - .description = "proto_type", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "proto_type", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, + /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */ { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, { .field_info_mask = { - .description = "opt_w0", + .description = "ipv4_dst_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4520,106 +5105,125 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "opt_w0", + .description = "ipv4_dst_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff} + (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff} } }, { .field_info_mask = { - .description = "opt_w1", - .field_bit_size = 32, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w1", - .field_bit_size = 32, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff} + (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} } }, { .field_info_mask = { - .description = "opt_w2", - .field_bit_size = 32, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w2", - .field_bit_size = 32, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff} + (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} } }, { .field_info_mask = { - .description = "opt_w3", - .field_bit_size = 32, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w3", - .field_bit_size = 32, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff} + (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} } }, { .field_info_mask = { - .description = "opt_w4", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, + /* act_tid: 7, , table: vxlan_encap_rec_cache.wr */ + { + .field_info_mask = { + .description = "dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w4", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, { .field_info_mask = { - .description = "opt_w5", + .description = "ipv4_dst_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4630,85 +5234,120 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "opt_w5", + .description = "ipv4_dst_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff} + (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff} } }, { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} } }, - /* act_tid: 7, , table: geneve_encap_rec_cache.wr */ { .field_info_mask = { - .description = "dmac", - .field_bit_size = 48, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, - 0xff, - 0xff, + 0xff} + }, + .field_info_spec = { + .description = "udp_dport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + } + }, + { + .field_info_mask = { + .description = "vni", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "dmac", - .field_bit_size = 48, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} } }, { .field_info_mask = { - .description = "ipv4_dst_addr", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, + /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */ + { + .field_info_mask = { + .description = "dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "ipv4_dst_addr", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .description = "dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr2 = { - (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, { @@ -4738,22 +5377,11 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { .field_info_spec = { .description = "ipv6_dst_addr", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, - .field_opr2 = { (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff} } }, { @@ -4798,166 +5426,201 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { }, { .field_info_mask = { - .description = "ver_opt_len_o_c_rsvd0", - .field_bit_size = 16, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "ver_opt_len_o_c_rsvd0", - .field_bit_size = 16, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} } }, { .field_info_mask = { - .description = "proto_type", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "proto_type", - .field_bit_size = 16, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.wr */ { .field_info_mask = { - .description = "vni", - .field_bit_size = 24, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "vni", - .field_bit_size = 24, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, { .field_info_mask = { - .description = "opt_w0", - .field_bit_size = 32, + .description = "ipv6_dst_addr", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w0", - .field_bit_size = 32, + .description = "ipv6_dst_addr", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff} + (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff} } }, { .field_info_mask = { - .description = "opt_w1", - .field_bit_size = 32, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w1", - .field_bit_size = 32, + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff} + (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} } }, { .field_info_mask = { - .description = "opt_w2", - .field_bit_size = 32, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w2", - .field_bit_size = 32, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff} + (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} } }, { .field_info_mask = { - .description = "opt_w3", - .field_bit_size = 32, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w3", - .field_bit_size = 32, + .description = "vni", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff} + (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff} } }, { .field_info_mask = { - .description = "opt_w4", - .field_bit_size = 32, + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* act_tid: 7, , table: geneve_encap_rec_cache.rd */ + { + .field_info_mask = { + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "opt_w4", - .field_bit_size = 32, + .description = "dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff} + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} } }, { .field_info_mask = { - .description = "opt_w5", + .description = "ipv4_dst_addr", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -4968,97 +5631,764 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "opt_w5", + .description = "ipv4_dst_addr", .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr2 = { + (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "ipv6_dst_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "ipv6_dst_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr2 = { + (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "udp_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "udp_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff} + (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} } }, { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "udp_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} } - } -}; - -struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = { + }, { - .description = "vnic_or_vport", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (18 >> 8) & 0xff, - 18 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RSS_VNIC >> 8) & 0xff, - BNXT_ULP_RF_IDX_RSS_VNIC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (1 >> 8) & 0xff, - 1 & 0xff} + .field_info_mask = { + .description = "ver_opt_len_o_c_rsvd0", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, + .field_info_spec = { + .description = "ver_opt_len_o_c_rsvd0", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 & 0xff} + } + }, { - .description = "vnic_or_vport", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (20 >> 8) & 0xff, - 20 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - (ULP_THOR2_SYM_RECYCLE_DST >> 8) & 0xff, - ULP_THOR2_SYM_RECYCLE_DST & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr3 = { - (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff} + .field_info_mask = { + .description = "proto_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, + .field_info_spec = { + .description = "proto_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE & 0xff} + } + }, { - .description = "metadata_data", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (60 >> 8) & 0xff, - 60 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_info_mask = { + .description = "vni", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff} }, + .field_info_spec = { + .description = "vni", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff} + } + }, { - .description = "metadata_data", + .field_info_mask = { + .description = "opt_w0", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (71 >> 8) & 0xff, - 71 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w0", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w2", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w2", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w3", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w3", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w5", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w5", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* act_tid: 7, , table: geneve_encap_rec_cache.wr */ + { + .field_info_mask = { + .description = "dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + } + }, + { + .field_info_mask = { + .description = "ipv4_dst_addr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "ipv4_dst_addr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr2 = { + (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "ipv6_dst_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "ipv6_dst_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr2 = { + (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "udp_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "udp_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff} + } + }, + { + .field_info_mask = { + .description = "udp_dport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "udp_dport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff} + } + }, + { + .field_info_mask = { + .description = "ver_opt_len_o_c_rsvd0", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "ver_opt_len_o_c_rsvd0", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "proto_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "proto_type", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "vni", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "vni", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w0", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w0", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w2", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w2", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w3", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w3", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff} + } + }, + { + .field_info_mask = { + .description = "opt_w5", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "opt_w5", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* act_tid: 12, , table: shared_mirror_record.del_chk */ + { + .field_info_mask = { + .description = "shared_index", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "shared_index", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr1 = { + (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff} + } + }, + /* act_tid: 12, , table: shared_mirror_record.wr */ + { + .field_info_mask = { + .description = "shared_index", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "shared_index", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff} + } + } +}; + +struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = { + { + .description = "vnic_or_vport", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (21 >> 8) & 0xff, + 21 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RSS_VNIC >> 8) & 0xff, + BNXT_ULP_RF_IDX_RSS_VNIC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (1 >> 8) & 0xff, + 1 & 0xff} + }, + { + .description = "vnic_or_vport", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (23 >> 8) & 0xff, + 23 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + (ULP_THOR2_SYM_RECYCLE_DST >> 8) & 0xff, + ULP_THOR2_SYM_RECYCLE_DST & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr3 = { + (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff} + }, + { + .description = "metadata_data", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (62 >> 8) & 0xff, + 62 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "metadata_data", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (73 >> 8) & 0xff, + 73 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, BNXT_ULP_RF_IDX_JUMP_META & 0xff}, @@ -5070,8 +6400,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (90 >> 8) & 0xff, - 90 & 0xff, + (97 >> 8) & 0xff, + 97 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -5372,9 +6702,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_JUMP & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { - ULP_THOR2_SYM_META_PROFILE_0}, + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -5875,9 +7206,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_JUMP & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { - ULP_THOR2_SYM_META_PROFILE_0}, + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -6088,13 +7420,179 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { }, /* act_tid: 1, , table: stats_cache_table.0 */ { - .description = "action_handle", - .field_bit_size = 64, + .description = "action_handle", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_CMM_STAT_HNDL >> 8) & 0xff, + BNXT_ULP_RF_IDX_CMM_STAT_HNDL & 0xff} + }, + /* act_tid: 1, , table: sp_smac_ipv4.0 */ + { + .description = "smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + }, + { + .description = "ipv4_src_addr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "reserved", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* act_tid: 1, , table: source_property_cache.wr_smac */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "sp_rec_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} + }, + /* act_tid: 1, , table: int_srv6_l2_encap_record.untagged_l2 */ + { + .description = "ecv_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_VALID_YES} + }, + { + .description = "ecv_custom_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_CUSTOM_EN_YES} + }, + { + .description = "ecv_vtag_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecv_l2_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_L2_EN_YES} + }, + { + .description = "ecv_l3_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecv_l4_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecv_tun_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_ipv4_ctrl", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_smac_ovr", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_vlan_ovr", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_dmac_ovr", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_gre_set_k", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_tun_qos", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_ip_tos_ih", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_ip_ttl_ih", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "enc_eth_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} + }, + /* act_tid: 1, , table: l2_encap_rec_cache.wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "enc_rec_ptr", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_CMM_STAT_HNDL >> 8) & 0xff, - BNXT_ULP_RF_IDX_CMM_STAT_HNDL & 0xff} + (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff} }, /* act_tid: 1, , table: vnic_interface_rss_config.0 */ /* act_tid: 1, , table: vnic_interface_queue_config.0 */ @@ -6147,8 +7645,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (17 >> 8) & 0xff, - 17 & 0xff, + (20 >> 8) & 0xff, + 20 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -6166,8 +7664,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (21 >> 8) & 0xff, - 21 & 0xff, + (24 >> 8) & 0xff, + 24 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -6275,13 +7773,19 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .description = "encap_ptr", .field_bit_size = 28, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff} }, { .description = "src_ptr", .field_bit_size = 28, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} }, { .description = "rsvd0", @@ -7153,8 +8657,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (51 >> 8) & 0xff, - 51 & 0xff, + (53 >> 8) & 0xff, + 53 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -7364,8 +8868,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (53 >> 8) & 0xff, - 53 & 0xff, + (55 >> 8) & 0xff, + 55 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -7377,8 +8881,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (55 >> 8) & 0xff, - 55 & 0xff, + (57 >> 8) & 0xff, + 57 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -7390,11 +8894,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (57 >> 8) & 0xff, - 57 & 0xff, + (59 >> 8) & 0xff, + 59 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -7403,8 +8910,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (59 >> 8) & 0xff, - 59 & 0xff, + (61 >> 8) & 0xff, + 61 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -7637,8 +9144,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (62 >> 8) & 0xff, - 62 & 0xff, + (64 >> 8) & 0xff, + 64 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -7759,14 +9266,231 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip_ipv4_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip_ipv4_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_sport_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dport_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "metadata_rsvd", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (66 >> 8) & 0xff, + 66 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "metadata_op", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (68 >> 8) & 0xff, + 68 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "metadata_prof", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (70 >> 8) & 0xff, + 70 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "metadata_data", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (72 >> 8) & 0xff, + 72 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RF_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_RF_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (3 >> 8) & 0xff, + 3 & 0xff} + }, + { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { + (BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { + (BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3_sip_ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { + (BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3_dip_ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 56) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 48) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 40) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 32) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 24) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 16) & 0xff, + ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 8) & 0xff, + (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_sip_ipv4_en", - .field_bit_size = 1, + .description = "l3_sip_ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { @@ -7778,14 +9502,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip_ipv4_en", - .field_bit_size = 1, + .description = "l3_dip_ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { @@ -7797,14 +9522,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_sport_en", - .field_bit_size = 1, + .description = "l4_sport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { @@ -7816,14 +9542,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_dport_en", - .field_bit_size = 1, + .description = "l4_dport", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { @@ -7835,299 +9562,451 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, + /* act_tid: 7, , table: sp_smac_ipv4.0 */ { - .description = "metadata_rsvd", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (64 >> 8) & 0xff, - 64 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} }, { - .description = "metadata_op", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "ipv4_src_addr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (66 >> 8) & 0xff, - 66 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} }, { - .description = "metadata_prof", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "reserved", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* act_tid: 7, , table: source_property_cache.wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (68 >> 8) & 0xff, - 68 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} }, { - .description = "metadata_data", + .description = "sp_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (70 >> 8) & 0xff, - 70 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RF_1 >> 8) & 0xff, - BNXT_ULP_RF_IDX_RF_1 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (3 >> 8) & 0xff, - 3 & 0xff} + (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} + }, + /* act_tid: 7, , table: sp_smac_ipv6.0 */ + { + .description = "smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + }, + { + .description = "ipv6_src_addr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} + }, + { + .description = "reserved", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* act_tid: 7, , table: source_property_ipv6_cache.wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "sp_rec_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} + }, + /* act_tid: 7, , table: ext_srv6_l2_encap_record.srv6_encap */ + { + .description = "ecv_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_VALID_YES} + }, + { + .description = "ecv_custom_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_CUSTOM_EN_YES} + }, + { + .description = "ecv_vtag_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr1 = { + (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff} + }, + { + .description = "ecv_l2_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_L2_EN_YES} + }, + { + .description = "ecv_l3_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr1 = { + (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff} + }, + { + .description = "ecv_l4_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecv_tun_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_ECV_TUN_TYPE_GENERIC} + }, + { + .description = "ecust_ipv4_ctrl", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_smac_ovr", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_vlan_ovr", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_dmac_ovr", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_gre_set_k", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_tun_qos", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dmac", + .description = "ecust_ip_tos_ih", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ecust_ip_ttl_ih", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "enc_eth_dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff} }, { - .description = "l2_smac", - .field_bit_size = 48, + .description = "enc_o_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC & 0xff}, + (BNXT_ULP_ENC_FIELD_O_VLAN_TCI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_O_VLAN_TCI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_sip_ipv6", - .field_bit_size = 128, + .description = "enc_o_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC & 0xff}, + (BNXT_ULP_ENC_FIELD_O_VLAN_TYPE >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_O_VLAN_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip_ipv6", - .field_bit_size = 128, + .description = "enc_i_vlan_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST & 0xff}, + (BNXT_ULP_ENC_FIELD_I_VLAN_TCI >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_I_VLAN_TCI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_sip_ipv4", - .field_bit_size = 32, + .description = "enc_i_vlan_type", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff}, + (BNXT_ULP_ENC_FIELD_I_VLAN_TYPE >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_I_VLAN_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip_ipv4", + .description = "enc_ipv6_vtc", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW & 0xff} }, { - .description = "l4_sport", + .description = "enc_ipv6_zero", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "enc_ipv6_proto", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_IPV6_PROTO >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_PROTO & 0xff} }, { - .description = "l4_dport", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .description = "enc_ipv6_ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, - ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, - (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr2 = { - (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_ENC_FIELD_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_TTL & 0xff} }, - /* act_tid: 7, , table: sp_smac_ipv4.0 */ { - .description = "smac", - .field_bit_size = 48, + .description = "enc_ipv6_daddr", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff} + }, + { + .description = "enc_generic_size", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GENERIC_SIZE >> 8) & 0xff, + BNXT_ULP_CF_IDX_GENERIC_SIZE & 0xff} + }, + { + .description = "enc_generic_rsvd", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "enc_srv6_next_hdr", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_NEXT_HDR >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_NEXT_HDR & 0xff} + }, + { + .description = "enc_srv6_hdr_len", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_HDR_LEN >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_HDR_LEN & 0xff} + }, + { + .description = "enc_srv6_routing_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_ROUTING_TYPE >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_ROUTING_TYPE & 0xff} + }, + { + .description = "enc_srv6_seg_left", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LEFT >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LEFT & 0xff} }, { - .description = "ipv4_src_addr", - .field_bit_size = 32, + .description = "enc_srv6_last_entry", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_LAST_ENTRY >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_LAST_ENTRY & 0xff} }, { - .description = "reserved", - .field_bit_size = 48, + .description = "enc_srv6_flags", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_FLAGS >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_FLAGS & 0xff} }, - /* act_tid: 7, , table: source_property_cache.wr */ { - .description = "rid", - .field_bit_size = 32, + .description = "enc_srv6_tag", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_TAG >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_TAG & 0xff} }, { - .description = "sp_rec_ptr", - .field_bit_size = 32, + .description = "enc_srv6_seg_list0", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, - BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 & 0xff} }, - /* act_tid: 7, , table: sp_smac_ipv6.0 */ { - .description = "smac", - .field_bit_size = 48, + .description = "enc_srv6_seg_list1", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 & 0xff} }, { - .description = "ipv6_src_addr", + .description = "enc_srv6_seg_list2", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, .field_opr1 = { - (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff, - BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff} + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 & 0xff} }, { - .description = "reserved", - .field_bit_size = 16, + .description = "enc_srv6_seg_list3", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD, + .field_opr1 = { + (BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 >> 8) & 0xff, + BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 & 0xff} }, - /* act_tid: 7, , table: source_property_ipv6_cache.wr */ + /* act_tid: 7, , table: srv6_encap_rec_cache.wr */ { .description = "rid", .field_bit_size = 32, @@ -8138,13 +10017,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { BNXT_ULP_RF_IDX_RID & 0xff} }, { - .description = "sp_rec_ptr", - .field_bit_size = 32, + .description = "enc_rec_ptr", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, - BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} + (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff} }, /* act_tid: 7, , table: ext_tun_vxlan_encap_record.ipv4_vxlan */ { @@ -9437,8 +11316,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (89 >> 8) & 0xff, - 89 & 0xff, + (96 >> 8) & 0xff, + 96 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -9459,8 +11338,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (98 >> 8) & 0xff, + 98 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_DECAP_FUNC_THRU_L2}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", @@ -9549,6 +11437,79 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* act_tid: 12, , table: mirror_tbl.alloc */ + { + .description = "reserved1", + .field_bit_size = 21, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "arp_relative", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "action_hint", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "sample_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "trunc_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ignore_drop", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "copy_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "mirr_cond", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "act_rec_ptr", + .field_bit_size = 26, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "reserved2", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "samp_cfg", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "padding1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, /* act_tid: 12, , table: mod_record.meta */ { .description = "metadata_en", @@ -9821,6 +11782,108 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = { .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* act_tid: 12, , table: mirror_tbl.wr */ + { + .description = "reserved1", + .field_bit_size = 21, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "arp_relative", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "action_hint", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "sample_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "trunc_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ignore_drop", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "copy_mode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 3} + }, + { + .description = "mirr_cond", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "act_rec_ptr", + .field_bit_size = 26, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} + }, + { + .description = "reserved2", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "samp_cfg", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + { + .description = "padding1", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* act_tid: 12, , table: shared_mirror_record.wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "mirror_id", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff} } }; @@ -9865,6 +11928,20 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = { .ident_bit_size = 64, .ident_bit_pos = 54 }, + /* act_tid: 1, , table: source_property_cache.rd_smac */ + { + .description = "sp_rec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_MAIN_SP_PTR, + .ident_bit_size = 32, + .ident_bit_pos = 32 + }, + /* act_tid: 1, , table: l2_encap_rec_cache.rd */ + { + .description = "enc_rec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, /* act_tid: 3, , table: shared_mirror_record.del_chk */ { .description = "rid", @@ -10074,6 +12151,13 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = { .ident_bit_size = 32, .ident_bit_pos = 32 }, + /* act_tid: 7, , table: srv6_encap_rec_cache.rd */ + { + .description = "enc_rec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */ { .description = "enc_rec_ptr", @@ -10094,5 +12178,12 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = { .regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0, .ident_bit_size = 32, .ident_bit_pos = 32 + }, + /* act_tid: 12, , table: shared_mirror_record.del_chk */ + { + .description = "rid", + .regfile_idx = BNXT_ULP_RF_IDX_RID, + .ident_bit_size = 32, + .ident_bit_pos = 0 } }; diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c index 84f836c7a9..83935350b7 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = { /* class_tid: 1, ingress */ [1] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 76, + .num_tbls = 103, .start_tbl_idx = 0, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, @@ -24,60 +24,70 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = { [2] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 49, - .start_tbl_idx = 76, + .start_tbl_idx = 103, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 2125, + .cond_start_idx = 2246, .cond_nums = 0 } }, /* class_tid: 3, ingress */ [3] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 35, - .start_tbl_idx = 125, + .num_tbls = 43, + .start_tbl_idx = 152, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4208, + .cond_start_idx = 4329, .cond_nums = 0 } }, /* class_tid: 4, egress */ [4] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 19, - .start_tbl_idx = 160, + .start_tbl_idx = 195, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 } }, /* class_tid: 5, ingress */ [5] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 1, - .start_tbl_idx = 179, + .num_tbls = 7, + .start_tbl_idx = 214, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 } }, /* class_tid: 6, ingress */ [6] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 1, - .start_tbl_idx = 180, + .num_tbls = 3, + .start_tbl_idx = 221, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4214, + .cond_start_idx = 4350, .cond_nums = 0 } }, /* class_tid: 7, ingress */ [7] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 1, - .start_tbl_idx = 181, + .start_tbl_idx = 224, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 4352, + .cond_nums = 0 } + }, + /* class_tid: 8, ingress */ + [8] = { + .device_name = BNXT_ULP_DEVICE_ID_THOR2, + .num_tbls = 7, + .start_tbl_idx = 225, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4214, + .cond_start_idx = 4352, .cond_nums = 0 } } }; @@ -106,6 +116,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .ident_start_idx = 0, .ident_nums = 2 }, + { /* class_tid: 1, , table: control.srv6_check */ + .description = "control.srv6_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, + .cond_start_idx = 0, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 1, , table: control.srv6_valid_check */ + .description = "control.srv6_valid_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .false_message = "invalid SRv6 header combination", + .execute_info = { + .cond_true_goto = 2, + .cond_false_goto = 1023, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, + .cond_start_idx = 1, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, { /* class_tid: 1, , table: control.vxlan_ip_check */ .description = "control.vxlan_ip_check", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -115,11 +152,193 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 0, - .cond_nums = 3 }, + .cond_start_idx = 2, + .cond_nums = 4 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, + { /* class_tid: 1, , table: tunnel_gparse_cache.dynupar_tunnel_rd */ + .description = "tunnel_gparse_cache.dynupar_tunnel_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_GPARSE_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 9, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 14, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 1, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 2, + .ident_start_idx = 2, + .ident_nums = 5 + }, + { /* class_tid: 1, , table: control.dynupar_tunnel */ + .description = "control.dynupar_tunnel", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 15, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 15, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 1, , table: control.set_upar_ptr_srv6_tun */ + .description = "control.set_upar_ptr_srv6_tun", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_src1 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr1 = ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6, + .func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0 } + }, + { /* class_tid: 1, , table: dyn_upar_tbl.srv6_alloc */ + .description = "dyn_upar_tbl.srv6_alloc", + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_DYN_UPAR, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .result_start_idx = 0, + .result_bit_size = 768, + .result_num_fields = 192 + }, + { /* class_tid: 1, , table: dyn_upar_tbl.srv6_wr */ + .description = "dyn_upar_tbl.srv6_wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = CFA_RSUBTYPE_IDX_TBL_DYN_UPAR, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .track_type = CFA_TRACK_TYPE_SID, + .result_start_idx = 192, + .result_bit_size = 768, + .result_num_fields = 192 + }, + { /* class_tid: 1, , table: control.set_dyn_upar_tun */ + .description = "control.set_dyn_upar_tun", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_src1 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr1 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_TUN } + }, + { /* class_tid: 1, , table: control.calc_dyn_upar_id_1 */ + .description = "control.calc_dyn_upar_id_1", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_SUB, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = ULP_THOR2_SYM_TUN_TYPE_DYN_UPAR, + .func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_ID } + }, + { /* class_tid: 1, , table: control.calc_dyn_upar_id_2 */ + .description = "control.calc_dyn_upar_id_2", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_ADD, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_DYN_UPAR_ID, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1, + .func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_ID } + }, + { /* class_tid: 1, , table: tunnel_gparse_cache.dyn_upar_wr */ + .description = "tunnel_gparse_cache.dyn_upar_wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_GPARSE_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 8, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 16, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 3, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 2, + .result_start_idx = 384, + .result_bit_size = 104, + .result_num_fields = 6 + }, { /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */ .description = "tunnel_gparse_cache.custom_tunnel_rd", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -130,17 +349,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 8, + .cond_start_idx = 16, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 1, - .blob_key_bit_size = 8, - .key_bit_size = 8, - .key_num_fields = 1, - .ident_start_idx = 2, + .key_start_idx = 5, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 2, + .ident_start_idx = 7, .ident_nums = 2 }, { /* class_tid: 1, , table: control.custom_tunnel */ @@ -151,7 +370,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 15, + .cond_start_idx = 23, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -166,7 +385,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 5, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 16, + .cond_start_idx = 24, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -188,12 +407,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 3, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, - .cond_start_idx = 3, + .cond_start_idx = 6, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 0, + .result_start_idx = 390, .result_bit_size = 16, .result_num_fields = 1 }, @@ -207,12 +426,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, - .cond_start_idx = 4, + .cond_start_idx = 7, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 1, + .result_start_idx = 391, .result_bit_size = 16, .result_num_fields = 1 }, @@ -226,12 +445,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 21, + .cond_start_idx = 29, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 2, + .result_start_idx = 392, .result_bit_size = 16, .result_num_fields = 1 }, @@ -245,19 +464,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 22, + .cond_start_idx = 30, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 2, - .blob_key_bit_size = 8, - .key_bit_size = 8, - .key_num_fields = 1, - .result_start_idx = 3, - .result_bit_size = 80, - .result_num_fields = 3 + .key_start_idx = 7, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 2, + .result_start_idx = 393, + .result_bit_size = 104, + .result_num_fields = 6 }, { /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */ .description = "l2_cntxt_tcam_cache.def_rd", @@ -270,19 +489,55 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 27, + .cond_start_idx = 35, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 3, + .key_start_idx = 9, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 4, + .ident_start_idx = 9, .ident_nums = 3 }, + { /* class_tid: 1, , table: control.l2_cntxt_tcam_miss */ + .description = "control.l2_cntxt_tcam_miss", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 35, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 1, , table: table_scope_cache.tsid_ing_rd */ + .description = "table_scope_cache.tsid_ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TABLE_SCOPE_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 36, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 10, + .blob_key_bit_size = 6, + .key_bit_size = 6, + .key_num_fields = 2, + .ident_start_idx = 12, + .ident_nums = 2 + }, { /* class_tid: 1, , table: control.check_f1_f2_flow */ .description = "control.check_f1_f2_flow", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -291,7 +546,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 27, + .cond_start_idx = 36, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -306,17 +561,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 29, + .cond_start_idx = 38, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 4, + .key_start_idx = 12, .blob_key_bit_size = 19, .key_bit_size = 19, .key_num_fields = 2, - .ident_start_idx = 7, + .ident_start_idx = 14, .ident_nums = 3 }, { /* class_tid: 1, , table: control.tunnel_cache_check */ @@ -327,7 +582,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 29, + .cond_start_idx = 38, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -342,7 +597,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 30, + .cond_start_idx = 39, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -352,7 +607,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 10, + .ident_start_idx = 17, .ident_nums = 1 }, { /* class_tid: 1, , table: cmm_stat_record.add_stat_tunnel_cache */ @@ -366,7 +621,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 30, + .cond_start_idx = 39, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_NOP_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL_F1, @@ -374,7 +629,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 6, + .result_start_idx = 399, .result_bit_size = 128, .result_num_fields = 2 }, @@ -388,17 +643,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 30, + .cond_start_idx = 39, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 6, + .key_start_idx = 14, .blob_key_bit_size = 19, .key_bit_size = 19, .key_num_fields = 2, - .result_start_idx = 8, + .result_start_idx = 401, .result_bit_size = 182, .result_num_fields = 5 }, @@ -407,10 +662,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = 28, + .cond_true_goto = 33, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 30, + .cond_start_idx = 39, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -423,7 +678,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 31, + .cond_start_idx = 40, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -442,7 +697,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, - .cond_start_idx = 5, + .cond_start_idx = 8, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -456,7 +711,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 38, + .cond_start_idx = 47, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -471,17 +726,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 49, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 8, + .key_start_idx = 16, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .ident_start_idx = 11, + .ident_start_idx = 18, .ident_nums = 1 }, { /* class_tid: 1, , table: control.multi_flow_cache_check */ @@ -492,7 +747,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 64, + .cond_start_idx = 73, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -508,14 +763,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 74, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 13, + .result_start_idx = 406, .result_bit_size = 0, .result_num_fields = 0 }, @@ -527,7 +782,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 74, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -548,7 +803,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 74, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -569,17 +824,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 74, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 17, + .key_start_idx = 25, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .result_start_idx = 13, + .result_start_idx = 406, .result_bit_size = 64, .result_num_fields = 2 }, @@ -591,7 +846,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 7, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 93, + .cond_start_idx = 102, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -608,9 +863,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 10, + .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 93, + .cond_start_idx = 102, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -625,17 +880,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 94, + .cond_start_idx = 103, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 26, + .key_start_idx = 34, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 12, + .ident_start_idx = 19, .ident_nums = 1 }, { /* class_tid: 1, , table: control.flow_chain_group_id */ @@ -646,7 +901,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 94, + .cond_start_idx = 103, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -662,14 +917,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 104, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 15, + .result_start_idx = 408, .result_bit_size = 0, .result_num_fields = 0 }, @@ -681,7 +936,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 104, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -704,17 +959,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 104, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 27, + .key_start_idx = 35, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 15, + .result_start_idx = 408, .result_bit_size = 64, .result_num_fields = 2 }, @@ -726,19 +981,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 95, + .cond_start_idx = 104, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 28, + .key_start_idx = 36, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 13, + .ident_start_idx = 20, .ident_nums = 1 }, { /* class_tid: 1, , table: control.flow_chain_group_l2_cntxt_check */ @@ -747,9 +1002,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 3, + .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 97, + .cond_start_idx = 108, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -764,7 +1019,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 98, + .cond_start_idx = 109, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -774,16 +1029,45 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 29, + .key_start_idx = 37, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 24, - .result_start_idx = 17, + .result_start_idx = 410, .result_bit_size = 127, .result_num_fields = 17, - .ident_start_idx = 14, + .ident_start_idx = 21, .ident_nums = 1 }, + { /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ + .description = "l2_cntxt_tcam.chain_entry_dup", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = CFA_RSUBTYPE_TCAM_L2CTX, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 111, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = 140, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 61, + .blob_key_bit_size = 256, + .key_bit_size = 256, + .key_num_fields = 24, + .result_start_idx = 427, + .result_bit_size = 127, + .result_num_fields = 17, + .ident_start_idx = 22, + .ident_nums = 0 + }, { /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ .description = "flow_chain_l2_cntxt.write", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -794,17 +1078,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 100, + .cond_start_idx = 114, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 53, + .key_start_idx = 85, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .result_start_idx = 34, + .result_start_idx = 444, .result_bit_size = 43, .result_num_fields = 2 }, @@ -816,19 +1100,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 5, + .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 100, + .cond_start_idx = 116, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 54, + .key_start_idx = 86, .blob_key_bit_size = 131, .key_bit_size = 131, .key_num_fields = 9, - .ident_start_idx = 15, + .ident_start_idx = 22, .ident_nums = 1 }, { /* class_tid: 1, , table: control.mac_addr_cache_check */ @@ -837,9 +1121,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 105, + .cond_start_idx = 123, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -853,9 +1137,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 106, - .cond_nums = 2 }, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 9, + .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, @@ -864,7 +1148,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 140, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 16, + .ident_start_idx = 23, + .ident_nums = 1 + }, + { /* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */ + .description = "global_identifier_app_table.allocate_l2_context", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER, + .resource_type = CFA_RSUBTYPE_IDENT_L2CTX, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 10, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 95, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 446, + .result_bit_size = 0, + .result_num_fields = 0, + .ident_start_idx = 24, .ident_nums = 1 }, { /* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */ @@ -876,7 +1186,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 108, + .cond_start_idx = 130, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -886,14 +1196,43 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 140, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 63, + .key_start_idx = 100, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 24, - .result_start_idx = 36, + .result_start_idx = 446, .result_bit_size = 127, .result_num_fields = 17, - .ident_start_idx = 17, + .ident_start_idx = 25, + .ident_nums = 0 + }, + { /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ + .description = "l2_cntxt_tcam.ingress_entry_dup", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = CFA_RSUBTYPE_TCAM_L2CTX, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 132, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = 140, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 124, + .blob_key_bit_size = 256, + .key_bit_size = 256, + .key_num_fields = 24, + .result_start_idx = 463, + .result_bit_size = 127, + .result_num_fields = 17, + .ident_start_idx = 25, .ident_nums = 0 }, { /* class_tid: 1, , table: mac_addr_cache.l2_table_wr */ @@ -906,20 +1245,51 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 110, + .cond_start_idx = 135, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 87, + .key_start_idx = 148, .blob_key_bit_size = 131, .key_bit_size = 131, .key_num_fields = 9, - .result_start_idx = 53, + .result_start_idx = 480, .result_bit_size = 94, .result_num_fields = 5 }, + { /* class_tid: 1, , table: control.update_default_l2_context */ + .description = "control.update_default_l2_context", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 140, + .cond_nums = 2 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 1, , table: control.update_default_l2_context_done */ + .description = "control.update_default_l2_context_done", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 142, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, + .func_dst_opr = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 } + }, { /* class_tid: 1, , table: control.check_f1_flow */ .description = "control.check_f1_flow", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -928,7 +1298,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 113, + .cond_start_idx = 142, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -944,14 +1314,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 114, + .cond_start_idx = 143, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_NOP_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL_F1, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID_SW_ONLY, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 58, + .result_start_idx = 485, .result_bit_size = 128, .result_num_fields = 2 }, @@ -964,7 +1334,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 6, + .cond_start_idx = 11, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -978,7 +1348,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 8, + .cond_start_idx = 13, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -991,7 +1361,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 129, + .cond_start_idx = 158, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1012,17 +1382,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 140, + .cond_start_idx = 169, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 96, + .key_start_idx = 157, .blob_key_bit_size = 76, .key_bit_size = 76, .key_num_fields = 3, - .ident_start_idx = 17, + .ident_start_idx = 25, .ident_nums = 7 }, { /* class_tid: 1, , table: control.proto_header_cache_miss */ @@ -1031,9 +1401,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 12, + .cond_false_goto = 16, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 142, + .cond_start_idx = 171, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1049,20 +1419,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 143, + .cond_start_idx = 172, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 99, + .key_start_idx = 160, .blob_key_bit_size = 12, .key_bit_size = 12, .key_num_fields = 2, - .partial_key_start_idx = 101, + .partial_key_start_idx = 162, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .ident_start_idx = 24, + .ident_start_idx = 32, .ident_nums = 2 }, { /* class_tid: 1, , table: control.overlap_miss */ @@ -1071,9 +1441,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 145, + .cond_start_idx = 174, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1087,9 +1457,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 146, - .cond_nums = 0 }, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 14, + .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, @@ -1098,7 +1468,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 26, + .ident_start_idx = 34, + .ident_nums = 1 + }, + { /* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */ + .description = "global_identifier_app_table.allocate_wc_profile", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER, + .resource_type = CFA_RSUBTYPE_IDENT_WC_PROF, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 15, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID_1, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 163, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 6, + .result_start_idx = 487, + .result_bit_size = 0, + .result_num_fields = 0, + .ident_start_idx = 35, .ident_nums = 1 }, { /* class_tid: 1, , table: fkb_select.wc_gen_template */ @@ -1110,7 +1506,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 146, + .cond_start_idx = 179, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, @@ -1118,7 +1514,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 60, + .result_start_idx = 487, .result_bit_size = 256, .result_num_fields = 172 }, @@ -1132,21 +1528,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 498, + .cond_start_idx = 535, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 102, + .key_start_idx = 169, .blob_key_bit_size = 12, .key_bit_size = 12, .key_num_fields = 2, - .partial_key_start_idx = 104, + .partial_key_start_idx = 171, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .result_start_idx = 232, + .result_start_idx = 659, .result_bit_size = 48, .result_num_fields = 3 }, @@ -1159,7 +1555,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 500, + .cond_start_idx = 537, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -1167,7 +1563,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 235, + .result_start_idx = 662, .result_bit_size = 256, .result_num_fields = 172 }, @@ -1181,14 +1577,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 501, + .cond_start_idx = 538, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 407, + .result_start_idx = 834, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1200,7 +1596,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 501, + .cond_start_idx = 538, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1208,9 +1604,57 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 58, + .func_opr1 = 59, .func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY } }, + { /* class_tid: 1, , table: profile_tcam.allocate_em_profile */ + .description = "profile_tcam.allocate_em_profile", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = CFA_RSUBTYPE_TCAM_PROF_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 16, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, + .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_APP, + .track_type = CFA_TRACK_TYPE_SID, + .ident_start_idx = 36, + .ident_nums = 1 + }, + { /* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */ + .description = "global_identifier_app_table.allocate_em_profile", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER, + .resource_type = CFA_RSUBTYPE_IDENT_EM_PROF, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 17, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 172, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 6, + .result_start_idx = 834, + .result_bit_size = 0, + .result_num_fields = 0, + .ident_start_idx = 37, + .ident_nums = 1 + }, { /* class_tid: 1, , table: profile_tcam.gen_template */ .description = "profile_tcam.gen_template", .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, @@ -1220,7 +1664,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 517, + .cond_start_idx = 558, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -1231,15 +1675,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_operand = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 105, + .key_start_idx = 178, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 66, - .result_start_idx = 407, + .result_start_idx = 834, .result_bit_size = 64, .result_num_fields = 10, - .ident_start_idx = 27, - .ident_nums = 1 + .ident_start_idx = 38, + .ident_nums = 0 }, { /* class_tid: 1, , table: wm_key_recipe.0 */ .description = "wm_key_recipe.0", @@ -1251,21 +1695,40 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 774, + .cond_start_idx = 865, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 171, + .key_start_idx = 244, .blob_key_bit_size = 0, .key_bit_size = 0, - .key_num_fields = 33, - .result_start_idx = 417, + .key_num_fields = 34, + .result_start_idx = 844, .result_bit_size = 0, .result_num_fields = 0 }, + { /* class_tid: 1, , table: control.outer_present_mode_2 */ + .description = "control.outer_present_mode_2", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 1391, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_oper_size = 8, + .func_src1 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr1 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_OUTER_ADD } + }, { /* class_tid: 1, , table: proto_header_cache.wr */ .description = "proto_header_cache.wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -1276,17 +1739,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1292, + .cond_start_idx = 1392, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 204, + .key_start_idx = 278, .blob_key_bit_size = 76, .key_bit_size = 76, .key_num_fields = 3, - .result_start_idx = 417, + .result_start_idx = 844, .result_bit_size = 106, .result_num_fields = 8 }, @@ -1299,18 +1762,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .execute_info = { .cond_true_goto = 1, .cond_false_goto = 11, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1294, - .cond_nums = 4 }, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 18, + .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 207, + .key_start_idx = 281, .blob_key_bit_size = 78, .key_bit_size = 78, .key_num_fields = 4, - .ident_start_idx = 28, + .ident_start_idx = 38, .ident_nums = 1 }, { /* class_tid: 1, , table: control.em_flow_conflict_cache_miss */ @@ -1321,7 +1784,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1300, + .cond_start_idx = 1402, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1336,14 +1799,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1301, + .cond_start_idx = 1403, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 425, + .result_start_idx = 852, .result_bit_size = 256, .result_num_fields = 172 }, @@ -1357,17 +1820,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1616, + .cond_start_idx = 1722, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 211, + .key_start_idx = 285, .blob_key_bit_size = 0, .key_bit_size = 0, - .key_num_fields = 33, - .result_start_idx = 597, + .key_num_fields = 34, + .result_start_idx = 1024, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1381,17 +1844,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 4, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2110, + .cond_start_idx = 2224, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 244, + .key_start_idx = 319, .blob_key_bit_size = 78, .key_bit_size = 78, .key_num_fields = 4, - .result_start_idx = 597, + .result_start_idx = 1024, .result_bit_size = 96, .result_num_fields = 2 }, @@ -1403,7 +1866,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 6, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2112, + .cond_start_idx = 2226, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1420,10 +1883,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = 8, + .cond_true_goto = 13, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2114, + .cond_start_idx = 2228, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1435,9 +1898,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .execute_info = { .cond_true_goto = 1, .cond_false_goto = 4, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2116, - .cond_nums = 3 }, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 20, + .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, @@ -1450,7 +1913,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2119, + .cond_start_idx = 2235, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -1458,7 +1921,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, - .result_start_idx = 599, + .result_start_idx = 1026, .result_bit_size = 0, .result_num_fields = 17 }, @@ -1471,15 +1934,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2120, - .cond_nums = 1 }, + .cond_start_idx = 2236, + .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_DYN_KEY, .key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, - .result_start_idx = 616, + .result_start_idx = 1043, .result_bit_size = 0, .result_num_fields = 13 }, @@ -1489,13 +1952,66 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 3, + .cond_false_goto = 8, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2121, + .cond_start_idx = 2238, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, + { /* class_tid: 1, , table: control.get_wc_flow_priority */ + .description = "control.get_wc_flow_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 2239, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_APP_PRIORITY, + .func_dst_opr = BNXT_ULP_RF_IDX_APP_PRIO } + }, + { /* class_tid: 1, , table: control.get_ha_priority_secondary */ + .description = "control.get_ha_priority_secondary", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2239, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_GET_HA_PRIORITY, + .func_dst_opr = BNXT_ULP_RF_IDX_HA_PRIO } + }, + { /* class_tid: 1, , table: control.increment_wc_priority */ + .description = "control.increment_wc_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 2240, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_ADD, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_APP_PRIO, + .func_src2 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr2 = BNXT_ULP_RF_IDX_HA_PRIO, + .func_dst_opr = BNXT_ULP_RF_IDX_APP_PRIO }, + .track_type = CFA_TRACK_TYPE_SID + }, { /* class_tid: 1, , table: wm_normal.ingress_generic_template */ .description = "wm_normal.ingress_generic_template", .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, @@ -1505,18 +2021,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2122, + .cond_start_idx = 2240, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_DYN_KEY, .key_recipe_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI, + .pri_opcode = BNXT_ULP_PRI_OPC_REGFILE, + .pri_operand = BNXT_ULP_RF_IDX_APP_PRIO, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 629, + .result_start_idx = 1056, .result_bit_size = 128, .result_num_fields = 15 }, @@ -1529,21 +2046,59 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2123, - .cond_nums = 1 }, + .cond_start_idx = 2241, + .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_DYN_KEY, .key_recipe_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI, + .pri_opcode = BNXT_ULP_PRI_OPC_REGFILE, + .pri_operand = BNXT_ULP_RF_IDX_APP_PRIO, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 644, + .result_start_idx = 1071, .result_bit_size = 128, .result_num_fields = 14 }, + { /* class_tid: 1, , table: control.process_wc_priority */ + .description = "control.process_wc_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 22, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 1, , table: hot_upgrade_tcam_cache.wr */ + .description = "hot_upgrade_tcam_cache.wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 2245, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 323, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 1, + .result_start_idx = 1085, + .result_bit_size = 68, + .result_num_fields = 4 + }, { /* class_tid: 1, , table: control.outer_loop_check */ .description = "control.outer_loop_check", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -1552,7 +2107,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2124, + .cond_start_idx = 2245, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1565,7 +2120,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2125, + .cond_start_idx = 2246, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1581,10 +2136,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = -29, + .cond_true_goto = -38, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2125, + .cond_start_idx = 2246, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1605,17 +2160,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2125, + .cond_start_idx = 2246, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 248, + .key_start_idx = 324, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .ident_start_idx = 29, + .ident_start_idx = 39, .ident_nums = 1 }, { /* class_tid: 2, , table: l2_cntxt_tcam_cache.def_rd */ @@ -1629,17 +2184,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2125, + .cond_start_idx = 2246, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 249, + .key_start_idx = 325, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 30, + .ident_start_idx = 40, .ident_nums = 2 }, { /* class_tid: 2, , table: control.l2_only_check */ @@ -1651,7 +2206,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 9, + .cond_start_idx = 23, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1665,7 +2220,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 11, + .cond_start_idx = 25, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1678,7 +2233,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, - .cond_start_idx = 13, + .cond_start_idx = 27, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1692,7 +2247,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2147, + .cond_start_idx = 2268, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1707,17 +2262,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2149, + .cond_start_idx = 2270, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 250, + .key_start_idx = 326, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .ident_start_idx = 32, + .ident_start_idx = 42, .ident_nums = 1 }, { /* class_tid: 2, , table: control.multi_flow_cache_check */ @@ -1728,7 +2283,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2177, + .cond_start_idx = 2298, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1744,14 +2299,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2178, + .cond_start_idx = 2299, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 658, + .result_start_idx = 1089, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1763,7 +2318,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2178, + .cond_start_idx = 2299, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1784,7 +2339,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2178, + .cond_start_idx = 2299, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1805,17 +2360,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2178, + .cond_start_idx = 2299, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 259, + .key_start_idx = 335, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .result_start_idx = 658, + .result_start_idx = 1089, .result_bit_size = 64, .result_num_fields = 2 }, @@ -1827,7 +2382,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2206, + .cond_start_idx = 2327, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1846,7 +2401,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2206, + .cond_start_idx = 2327, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1854,7 +2409,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 336, + .func_opr1 = 367, .func_dst_opr = BNXT_ULP_RF_IDX_TERM_FLOW } }, { /* class_tid: 2, , table: control.group_id_check */ @@ -1865,7 +2420,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2214, + .cond_start_idx = 2335, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1880,17 +2435,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2215, + .cond_start_idx = 2336, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 268, + .key_start_idx = 344, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 33, + .ident_start_idx = 43, .ident_nums = 1 }, { /* class_tid: 2, , table: control.flow_chain_group_id */ @@ -1901,7 +2456,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2215, + .cond_start_idx = 2336, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1917,14 +2472,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2216, + .cond_start_idx = 2337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 660, + .result_start_idx = 1091, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1936,7 +2491,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2216, + .cond_start_idx = 2337, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1959,17 +2514,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2216, + .cond_start_idx = 2337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 269, + .key_start_idx = 345, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 660, + .result_start_idx = 1091, .result_bit_size = 64, .result_num_fields = 2 }, @@ -1983,17 +2538,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2216, + .cond_start_idx = 2337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 270, + .key_start_idx = 346, .blob_key_bit_size = 76, .key_bit_size = 76, .key_num_fields = 3, - .ident_start_idx = 34, + .ident_start_idx = 44, .ident_nums = 7 }, { /* class_tid: 2, , table: control.proto_header_cache_miss */ @@ -2004,7 +2559,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 12, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2218, + .cond_start_idx = 2339, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2020,20 +2575,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2219, + .cond_start_idx = 2340, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 273, + .key_start_idx = 349, .blob_key_bit_size = 12, .key_bit_size = 12, .key_num_fields = 2, - .partial_key_start_idx = 275, + .partial_key_start_idx = 351, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .ident_start_idx = 41, + .ident_start_idx = 51, .ident_nums = 2 }, { /* class_tid: 2, , table: control.overlap_miss */ @@ -2044,7 +2599,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2221, + .cond_start_idx = 2342, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2059,7 +2614,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2222, + .cond_start_idx = 2343, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2069,7 +2624,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 43, + .ident_start_idx = 53, .ident_nums = 1 }, { /* class_tid: 2, , table: fkb_select.wc_gen_template */ @@ -2081,7 +2636,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2222, + .cond_start_idx = 2343, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, @@ -2089,7 +2644,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 662, + .result_start_idx = 1093, .result_bit_size = 256, .result_num_fields = 172 }, @@ -2103,21 +2658,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2577, + .cond_start_idx = 2698, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 276, + .key_start_idx = 352, .blob_key_bit_size = 12, .key_bit_size = 12, .key_num_fields = 2, - .partial_key_start_idx = 278, + .partial_key_start_idx = 354, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .result_start_idx = 834, + .result_start_idx = 1265, .result_bit_size = 48, .result_num_fields = 3 }, @@ -2130,7 +2685,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2579, + .cond_start_idx = 2700, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -2138,7 +2693,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 837, + .result_start_idx = 1268, .result_bit_size = 256, .result_num_fields = 172 }, @@ -2152,14 +2707,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2580, + .cond_start_idx = 2701, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 1009, + .result_start_idx = 1440, .result_bit_size = 0, .result_num_fields = 0 }, @@ -2171,7 +2726,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2580, + .cond_start_idx = 2701, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2179,7 +2734,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 389, + .func_opr1 = 420, .func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY } }, { /* class_tid: 2, , table: profile_tcam.gen_template */ @@ -2191,7 +2746,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2596, + .cond_start_idx = 2717, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2203,14 +2758,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 279, + .key_start_idx = 355, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 66, - .result_start_idx = 1009, + .result_start_idx = 1440, .result_bit_size = 64, .result_num_fields = 10, - .ident_start_idx = 44, + .ident_start_idx = 54, .ident_nums = 1 }, { /* class_tid: 2, , table: wm_key_recipe.0 */ @@ -2223,18 +2778,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2851, + .cond_start_idx = 2972, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 345, + .key_start_idx = 421, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, - .result_start_idx = 1019, + .result_start_idx = 1450, .result_bit_size = 0, .result_num_fields = 0 }, @@ -2248,17 +2803,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3375, + .cond_start_idx = 3496, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 378, + .key_start_idx = 454, .blob_key_bit_size = 76, .key_bit_size = 76, .key_num_fields = 3, - .result_start_idx = 1019, + .result_start_idx = 1450, .result_bit_size = 106, .result_num_fields = 8 }, @@ -2272,17 +2827,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3377, + .cond_start_idx = 3498, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 381, + .key_start_idx = 457, .blob_key_bit_size = 78, .key_bit_size = 78, .key_num_fields = 4, - .ident_start_idx = 45, + .ident_start_idx = 55, .ident_nums = 1 }, { /* class_tid: 2, , table: control.em_flow_conflict_cache_miss */ @@ -2293,7 +2848,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3383, + .cond_start_idx = 3504, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2308,14 +2863,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3384, + .cond_start_idx = 3505, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1027, + .result_start_idx = 1458, .result_bit_size = 256, .result_num_fields = 172 }, @@ -2329,17 +2884,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3699, + .cond_start_idx = 3820, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 385, + .key_start_idx = 461, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, - .result_start_idx = 1199, + .result_start_idx = 1630, .result_bit_size = 0, .result_num_fields = 0 }, @@ -2353,17 +2908,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 4, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4193, + .cond_start_idx = 4314, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 418, + .key_start_idx = 494, .blob_key_bit_size = 78, .key_bit_size = 78, .key_num_fields = 4, - .result_start_idx = 1199, + .result_start_idx = 1630, .result_bit_size = 96, .result_num_fields = 2 }, @@ -2375,7 +2930,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 6, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4195, + .cond_start_idx = 4316, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2395,7 +2950,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 8, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4197, + .cond_start_idx = 4318, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2408,7 +2963,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4199, + .cond_start_idx = 4320, .cond_nums = 3 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2422,7 +2977,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4202, + .cond_start_idx = 4323, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -2430,7 +2985,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, - .result_start_idx = 1201, + .result_start_idx = 1632, .result_bit_size = 0, .result_num_fields = 17 }, @@ -2443,7 +2998,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4203, + .cond_start_idx = 4324, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -2451,7 +3006,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, - .result_start_idx = 1218, + .result_start_idx = 1649, .result_bit_size = 0, .result_num_fields = 13 }, @@ -2463,7 +3018,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4204, + .cond_start_idx = 4325, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2477,7 +3032,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4205, + .cond_start_idx = 4326, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -2488,7 +3043,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1231, + .result_start_idx = 1662, .result_bit_size = 128, .result_num_fields = 15 }, @@ -2501,7 +3056,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4206, + .cond_start_idx = 4327, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -2512,7 +3067,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1246, + .result_start_idx = 1677, .result_bit_size = 128, .result_num_fields = 14 }, @@ -2524,7 +3079,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4207, + .cond_start_idx = 4328, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2537,7 +3092,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4329, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2556,7 +3111,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = -28, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4329, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2567,6 +3122,81 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opr1 = 1, .func_dst_opr = BNXT_ULP_RF_IDX_INNER_LOOP } }, + { /* class_tid: 3, , table: control.redirect_only_check */ + .description = "control.redirect_only_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 16, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4329, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 3, , table: global_regfiles_cache.metadata_record_rd */ + .description = "global_regfiles_cache.metadata_record_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4330, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 498, + .blob_key_bit_size = 8, + .key_bit_size = 8, + .key_num_fields = 1, + .ident_start_idx = 56, + .ident_nums = 0 + }, + { /* class_tid: 3, , table: control.metadata_record_miss */ + .description = "control.metadata_record_miss", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 14, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4330, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_rx */ + .description = "global_idx_app_table.alloc_metadata_rec_act_rx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_ACT, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 499, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1691, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.act_rx_wr */ .description = "metadata_record.act_rx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2578,7 +3208,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0, @@ -2586,10 +3216,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1260, + .result_start_idx = 1691, .result_bit_size = 32, .result_num_fields = 1 }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_rx */ + .description = "global_idx_app_table.alloc_metadata_rec_prof_rx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_PROF, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_PROF_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 504, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1692, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.prof_rx_wr */ .description = "metadata_record.prof_rx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2601,7 +3256,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_PROF_0, @@ -2609,10 +3264,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1261, + .result_start_idx = 1692, .result_bit_size = 32, .result_num_fields = 1 }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_rx */ + .description = "global_idx_app_table.alloc_metadata_rec_lkup_rx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_LKUP, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 509, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1693, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.lkup_rx_wr */ .description = "metadata_record.lkup_rx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2624,7 +3304,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0, @@ -2632,10 +3312,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1262, + .result_start_idx = 1693, .result_bit_size = 32, .result_num_fields = 1 }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_tx */ + .description = "global_idx_app_table.alloc_metadata_rec_act_tx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_ACT, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 514, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1694, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.act_tx_wr */ .description = "metadata_record.act_tx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2647,7 +3352,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0, @@ -2655,10 +3360,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1263, + .result_start_idx = 1694, .result_bit_size = 32, .result_num_fields = 1 }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_tx */ + .description = "global_idx_app_table.alloc_metadata_rec_prof_tx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_PROF, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_PROF_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 519, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1695, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.prof_tx_wr */ .description = "metadata_record.prof_tx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2670,7 +3400,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_PROF_0, @@ -2678,10 +3408,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1264, + .result_start_idx = 1695, .result_bit_size = 32, .result_num_fields = 1 }, + { /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_tx */ + .description = "global_idx_app_table.alloc_metadata_rec_lkup_tx", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL, + .resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_LKUP, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 524, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 5, + .result_start_idx = 1696, + .result_bit_size = 0, + .result_num_fields = 0 + }, { /* class_tid: 3, , table: metadata_record.lkup_tx_wr */ .description = "metadata_record.lkup_tx_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2693,7 +3448,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0, @@ -2701,7 +3456,31 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1265, + .result_start_idx = 1696, + .result_bit_size = 32, + .result_num_fields = 1 + }, + { /* class_tid: 3, , table: global_regfiles_cache.metadata_record_wr */ + .description = "global_regfiles_cache.metadata_record_wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4331, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 529, + .blob_key_bit_size = 8, + .key_bit_size = 8, + .key_num_fields = 1, + .result_start_idx = 1697, .result_bit_size = 32, .result_num_fields = 1 }, @@ -2715,17 +3494,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 422, + .key_start_idx = 530, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .ident_start_idx = 46, + .ident_start_idx = 56, .ident_nums = 2 }, { /* class_tid: 3, , table: control.ts_ing_rd_check */ @@ -2734,9 +3513,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 6, + .cond_false_goto = 8, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4208, + .cond_start_idx = 4331, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2753,7 +3532,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4332, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, @@ -2761,7 +3540,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1266, + .result_start_idx = 1698, .result_bit_size = 192, .result_num_fields = 18 }, @@ -2776,7 +3555,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4332, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, @@ -2784,7 +3563,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1284, + .result_start_idx = 1716, .result_bit_size = 192, .result_num_fields = 18 }, @@ -2796,7 +3575,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4333, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2808,6 +3587,54 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opr2 = 32, .func_dst_opr = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR } }, + { /* class_tid: 3, , table: profile_tcam_bypass.allocate_prof_func */ + .description = "profile_tcam_bypass.allocate_prof_func", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = CFA_RSUBTYPE_TCAM_PROF_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 28, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, + .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL, + .track_type = CFA_TRACK_TYPE_SID, + .ident_start_idx = 58, + .ident_nums = 1 + }, + { /* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */ + .description = "global_identifier_app_table.allocate_prof_func", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER, + .resource_type = CFA_RSUBTYPE_IDENT_PROF_FUNC, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 29, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 532, + .blob_key_bit_size = 128, + .key_bit_size = 128, + .key_num_fields = 4, + .result_start_idx = 1734, + .result_bit_size = 0, + .result_num_fields = 0, + .ident_start_idx = 59, + .ident_nums = 1 + }, { /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */ .description = "profile_tcam_bypass.ing_catch_all", .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, @@ -2817,7 +3644,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2828,15 +3655,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 424, + .key_start_idx = 536, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 66, - .result_start_idx = 1302, + .result_start_idx = 1734, .result_bit_size = 65, .result_num_fields = 7, - .ident_start_idx = 48, - .ident_nums = 1 + .ident_start_idx = 60, + .ident_nums = 0 }, { /* class_tid: 3, , table: table_scope_cache.tsid_ing_wr */ .description = "table_scope_cache.tsid_ing_wr", @@ -2848,17 +3675,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 490, + .key_start_idx = 602, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .result_start_idx = 1309, + .result_start_idx = 1741, .result_bit_size = 88, .result_num_fields = 5 }, @@ -2872,110 +3699,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 492, + .key_start_idx = 604, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .result_start_idx = 1314, + .result_start_idx = 1746, .result_bit_size = 169, .result_num_fields = 6 }, - { /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */ - .description = "l2_cntxt_tcam_cache.ing_rd", - .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, - .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4209, - .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, - .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 493, - .blob_key_bit_size = 11, - .key_bit_size = 11, - .key_num_fields = 1, - .ident_start_idx = 49, - .ident_nums = 1 - }, - { /* class_tid: 3, , table: control.ing_rd_check */ - .description = "control.ing_rd_check", - .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 4, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4209, - .cond_nums = 1 }, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID - }, - { /* class_tid: 3, , table: l2_cntxt_tcam.svif_ing */ - .description = "l2_cntxt_tcam.svif_ing", - .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, - .resource_type = CFA_RSUBTYPE_TCAM_L2CTX, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, - .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, - .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, - .pri_opcode = BNXT_ULP_PRI_OPC_CONST, - .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL, - .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 494, - .blob_key_bit_size = 256, - .key_bit_size = 256, - .key_num_fields = 24, - .result_start_idx = 1320, - .result_bit_size = 127, - .result_num_fields = 17, - .ident_start_idx = 50, - .ident_nums = 1 - }, - { /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */ - .description = "l2_cntxt_tcam_cache.ing_wr", - .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, - .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, - .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, - .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 518, - .blob_key_bit_size = 11, - .key_bit_size = 11, - .key_num_fields = 1, - .result_start_idx = 1337, - .result_bit_size = 94, - .result_num_fields = 5 - }, { /* class_tid: 3, , table: cmm_full_act_record.throw_away_egr */ .description = "cmm_full_act_record.throw_away_egr", .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE, @@ -2987,14 +3724,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1342, + .result_start_idx = 1752, .result_bit_size = 192, .result_num_fields = 18, .encap_num_fields = 0 @@ -3010,14 +3747,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1360, + .result_start_idx = 1770, .result_bit_size = 192, .result_num_fields = 18, .encap_num_fields = 0 @@ -3032,7 +3769,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, @@ -3045,11 +3782,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = 32, .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }, - .key_start_idx = 519, + .key_start_idx = 605, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .result_start_idx = 1378, + .result_start_idx = 1788, .result_bit_size = 169, .result_num_fields = 6 }, @@ -3062,13 +3799,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 1384, + .result_start_idx = 1794, .result_bit_size = 128, .result_num_fields = 14 }, @@ -3082,17 +3819,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 520, + .key_start_idx = 606, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 51, + .ident_start_idx = 60, .ident_nums = 0 }, { /* class_tid: 3, , table: control.non_vfr_egr_rd_check */ @@ -3103,7 +3840,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4210, + .cond_start_idx = 4335, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3118,7 +3855,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4211, + .cond_start_idx = 4336, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3128,14 +3865,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 521, + .key_start_idx = 607, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 24, - .result_start_idx = 1398, + .result_start_idx = 1808, .result_bit_size = 127, .result_num_fields = 17, - .ident_start_idx = 51, + .ident_start_idx = 60, .ident_nums = 2 }, { /* class_tid: 3, , table: profile_tcam_bypass.non_vfr_egr_catch_all */ @@ -3147,7 +3884,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4211, + .cond_start_idx = 4336, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3158,14 +3895,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 545, + .key_start_idx = 631, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 66, - .result_start_idx = 1415, + .result_start_idx = 1825, .result_bit_size = 65, .result_num_fields = 7, - .ident_start_idx = 53, + .ident_start_idx = 62, .ident_nums = 0 }, { /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ @@ -3178,17 +3915,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4211, + .cond_start_idx = 4336, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 611, + .key_start_idx = 697, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .result_start_idx = 1422, + .result_start_idx = 1832, .result_bit_size = 94, .result_num_fields = 5 }, @@ -3202,17 +3939,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4211, + .cond_start_idx = 4336, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 612, + .key_start_idx = 698, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .ident_start_idx = 53, + .ident_start_idx = 62, .ident_nums = 1 }, { /* class_tid: 3, , table: control.tsid_vfr_rd_check */ @@ -3223,7 +3960,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4211, + .cond_start_idx = 4336, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3240,14 +3977,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 1427, + .result_start_idx = 1837, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 20 @@ -3260,7 +3997,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3283,7 +4020,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, @@ -3291,7 +4028,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1447, + .result_start_idx = 1857, .result_bit_size = 192, .result_num_fields = 18 }, @@ -3303,7 +4040,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3324,7 +4061,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3334,14 +4071,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 614, + .key_start_idx = 700, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 24, - .result_start_idx = 1465, + .result_start_idx = 1875, .result_bit_size = 127, .result_num_fields = 17, - .ident_start_idx = 54, + .ident_start_idx = 63, .ident_nums = 1 }, { /* class_tid: 3, , table: table_scope_cache.tsid_vfr_wr */ @@ -3354,17 +4091,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 638, + .key_start_idx = 724, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .result_start_idx = 1482, + .result_start_idx = 1892, .result_bit_size = 88, .result_num_fields = 5 }, @@ -3378,17 +4115,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 640, + .key_start_idx = 726, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .ident_start_idx = 55, + .ident_start_idx = 64, .ident_nums = 3 }, { /* class_tid: 4, , table: control.tsid_vfr_egr_check */ @@ -3399,7 +4136,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4212, + .cond_start_idx = 4337, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3416,7 +4153,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, @@ -3430,7 +4167,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = ULP_THOR2_SYM_VF_2_VF_META_VAL, .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 }, - .result_start_idx = 1487, + .result_start_idx = 1897, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 20 @@ -3443,7 +4180,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3466,7 +4203,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, @@ -3474,7 +4211,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1507, + .result_start_idx = 1917, .result_bit_size = 192, .result_num_fields = 18 }, @@ -3486,7 +4223,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3507,7 +4244,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3518,14 +4255,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 642, + .key_start_idx = 728, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 66, - .result_start_idx = 1525, + .result_start_idx = 1935, .result_bit_size = 65, .result_num_fields = 7, - .ident_start_idx = 58, + .ident_start_idx = 67, .ident_nums = 1 }, { /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_wr */ @@ -3538,17 +4275,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 708, + .key_start_idx = 794, .blob_key_bit_size = 6, .key_bit_size = 6, .key_num_fields = 2, - .result_start_idx = 1532, + .result_start_idx = 1942, .result_bit_size = 88, .result_num_fields = 5 }, @@ -3563,17 +4300,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 710, + .key_start_idx = 796, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 59, + .ident_start_idx = 68, .ident_nums = 1 }, { /* class_tid: 4, , table: control.endpoint_def_egr_rd_check */ @@ -3584,7 +4321,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4213, + .cond_start_idx = 4338, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3599,7 +4336,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3609,14 +4346,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 711, + .key_start_idx = 797, .blob_key_bit_size = 256, .key_bit_size = 256, .key_num_fields = 24, - .result_start_idx = 1537, + .result_start_idx = 1947, .result_bit_size = 127, .result_num_fields = 17, - .ident_start_idx = 60, + .ident_start_idx = 69, .ident_nums = 1 }, { /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_wr */ @@ -3630,17 +4367,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 735, + .key_start_idx = 821, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .result_start_idx = 1554, + .result_start_idx = 1964, .result_bit_size = 94, .result_num_fields = 5 }, @@ -3654,17 +4391,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 736, + .key_start_idx = 822, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .result_start_idx = 1559, + .result_start_idx = 1969, .result_bit_size = 169, .result_num_fields = 6 }, @@ -3679,7 +4416,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL, @@ -3692,7 +4429,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = ULP_THOR2_SYM_VF_2_VF_META_VAL, .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 }, - .result_start_idx = 1565, + .result_start_idx = 1975, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 20 @@ -3705,7 +4442,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3728,14 +4465,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .result_start_idx = 1585, + .result_start_idx = 1995, .result_bit_size = 192, .result_num_fields = 18 }, @@ -3747,7 +4484,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3767,7 +4504,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3787,7 +4524,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4339, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -3800,33 +4537,222 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_dst_opr = BNXT_ULP_RF_IDX_CC }, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG }, - { /* class_tid: 5, , table: control.reject */ - .description = "control.reject", + { /* class_tid: 5, , table: table_scope_cache.tsid_ing_rd */ + .description = "table_scope_cache.tsid_ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TABLE_SCOPE_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4339, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 823, + .blob_key_bit_size = 6, + .key_bit_size = 6, + .key_num_fields = 2, + .ident_start_idx = 70, + .ident_nums = 2 + }, + { /* class_tid: 5, , table: control.tsid_rd_check */ + .description = "control.tsid_rd_check", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, - .true_message = "Reject: Thor2 not supporting promiscuous template", + .true_message = "Reject: table scope init not done", .execute_info = { .cond_true_goto = 1023, - .cond_false_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4339, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ + .description = "l2_cntxt_tcam_cache.ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4340, .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 825, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 72, + .ident_nums = 1 }, - { /* class_tid: 6, , table: control.reject */ - .description = "control.reject", + { /* class_tid: 5, , table: control.ing_rd_check */ + .description = "control.ing_rd_check", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, - .true_message = "Reject: Thor2 not supporting promiscuous template", .execute_info = { - .cond_true_goto = 1023, + .cond_true_goto = 1, .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4340, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */ + .description = "l2_cntxt_tcam_cache.ing_rd_sock", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4341, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD, + .func_opr1 = BNXT_ULP_CF_IDX_PHY_PORT_SVIF, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_CC }, + .key_start_idx = 826, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 73, + .ident_nums = 2 + }, + { /* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */ + .description = "l2_cntxt_tcam.svif_ing", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = CFA_RSUBTYPE_TCAM_L2CTX, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4342, .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 827, + .blob_key_bit_size = 256, + .key_bit_size = 256, + .key_num_fields = 24, + .result_start_idx = 2013, + .result_bit_size = 127, + .result_num_fields = 17, + .ident_start_idx = 75, + .ident_nums = 1 + }, + { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ + .description = "l2_cntxt_tcam_cache.ing_wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4346, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 851, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .result_start_idx = 2030, + .result_bit_size = 94, + .result_num_fields = 5 + }, + { /* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */ + .description = "l2_cntxt_tcam_cache.ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4350, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, + .key_start_idx = 852, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 76, + .ident_nums = 1 + }, + { /* class_tid: 6, , table: control.ing_rd_check */ + .description = "control.ing_rd_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4350, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 6, , table: control.l2_cache_cnt_check */ + .description = "control.l2_cache_cnt_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .false_message = "Promisc mode cannot be disabled as there are flows that is using the promisc rule.", + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1023, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4351, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_REF_CNT, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_CC } }, { /* class_tid: 7, , table: control.reject */ .description = "control.reject", @@ -3837,115 +4763,372 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4214, + .cond_start_idx = 4352, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 8, , table: control.check_hot_upgrade */ + .description = "control.check_hot_upgrade", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, + .cond_start_idx = 30, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 8, , table: control.get_ha_priority */ + .description = "control.get_ha_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4354, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_GET_HA_PRIORITY, + .func_dst_opr = BNXT_ULP_RF_IDX_HA_PRIO } + }, + { /* class_tid: 8, , table: hot_upgrade_tcam_cache.iterate_read */ + .description = "hot_upgrade_tcam_cache.iterate_read", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4354, .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_ITERATE, + .tbl_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_SEQ, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .key_start_idx = 853, + .blob_key_bit_size = 16, + .key_bit_size = 16, + .key_num_fields = 1, + .ident_start_idx = 77, + .ident_nums = 3 + }, + { /* class_tid: 8, , table: control.hot_upgrade_cache_check */ + .description = "control.hot_upgrade_cache_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4354, + .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 8, , table: control.decrement_priority */ + .description = "control.decrement_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4355, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_SUB, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_APP_PRIO, + .func_src2 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr2 = BNXT_ULP_RF_IDX_HA_PRIO, + .func_dst_opr = BNXT_ULP_RF_IDX_APP_PRIO }, + .track_type = CFA_TRACK_TYPE_SID + }, + { /* class_tid: 8, , table: control.update_wc_tcam_priority */ + .description = "control.update_wc_tcam_priority", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4355, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_TCAM_SET_PRIORITY, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, + .func_src2 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr2 = BNXT_ULP_RF_IDX_APP_PRIO, + .func_dst_opr = BNXT_ULP_RF_IDX_CC } + }, + { /* class_tid: 8, , table: control.inc_table_index */ + .description = "control.inc_table_index", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = -4, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4355, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_ADD, + .func_oper_size = 16, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX } } }; struct bnxt_ulp_mapper_cond_list_info ulp_thor2_class_cond_oper_list[] = { - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + /* cond_execute: class_tid: 1, control.srv6_check:0*/ { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, .cond_start_idx = 0, + .cond_nums = 1 + }, + /* cond_execute: class_tid: 1, control.srv6_valid_check:1*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 1, + .cond_nums = 3 + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 4, .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 7, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3, + .cond_start_idx = 9, .cond_nums = 2 }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 5, + .cond_start_idx = 11, .cond_nums = 3 }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:17*/ + /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:25*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 17, + .cond_start_idx = 25, .cond_nums = 2 }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:19*/ + /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:27*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 19, + .cond_start_idx = 27, .cond_nums = 2 }, - /* cond_execute: class_tid: 1, control.check_tunnel_recycle:35*/ + /* cond_execute: class_tid: 1, control.check_tunnel_recycle:44*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 35, + .cond_start_idx = 44, .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ + /* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:124*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 114, - .cond_nums = 5 + .cond_start_idx = 124, + .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_l2_context:127*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 119, - .cond_nums = 5 + .cond_start_idx = 127, + .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:124*/ + /* cond_execute: class_tid: 1, control.l2_only_check:143*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 124, + .cond_start_idx = 143, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.l2_only_check:2125*/ + /* cond_execute: class_tid: 1, control.l2_only_check:143*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2125, + .cond_start_idx = 148, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.l2_only_check:2125*/ + /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:153*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2130, + .cond_start_idx = 153, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/ + /* cond_execute: class_tid: 1, profile_tcam.allocate_wc_profile:175*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2135, - .cond_nums = 5 + .cond_start_idx = 175, + .cond_nums = 1 }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/ + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_wc_profile:176*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2140, - .cond_nums = 5 + .cond_start_idx = 176, + .cond_nums = 1 }, - /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2145*/ + /* cond_execute: class_tid: 1, profile_tcam.allocate_em_profile:554*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2145, - .cond_nums = 2 - } -}; - -struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_start_idx = 554, + .cond_nums = 1 }, + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_em_profile:555*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_F1 + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 555, + .cond_nums = 1 + }, + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 1394, + .cond_nums = 4 + }, + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 1398, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, control.em_wc_check:2230*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2230, + .cond_nums = 3 + }, + /* cond_execute: class_tid: 1, control.em_wc_check:2230*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 2233, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, control.process_wc_priority:2243*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2243, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 2, control.l2_only_check:2246*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2246, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.l2_only_check:2246*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2251, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2256, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2261, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2266*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2266, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 3, profile_tcam_bypass.allocate_prof_func:4333*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4333, + .cond_nums = 1 + }, + /* cond_execute: class_tid: 3, global_identifier_app_table.allocate_prof_func:4334*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4334, + .cond_nums = 1 + }, + /* cond_execute: class_tid: 8, control.check_hot_upgrade:4352*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 4352, + .cond_nums = 2 + } +}; + +struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { + /* cond_execute: class_tid: 1, control.srv6_check:0*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* cond_execute: class_tid: 1, control.srv6_valid_check:1*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_F1 }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -3954,7 +5137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + /* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -3967,7 +5150,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* cond_execute: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:8*/ + /* cond_execute: class_tid: 1, tunnel_gparse_cache.dynupar_tunnel_rd:14*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* cond_execute: class_tid: 1, control.dynupar_tunnel:15*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:16*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -3976,7 +5169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:10*/ + /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:18*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -3985,7 +5178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:12*/ + /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:20*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -3998,17 +5191,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* cond_execute: class_tid: 1, control.custom_tunnel:15*/ + /* cond_execute: class_tid: 1, control.custom_tunnel:23*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, control.custom_tunnel_port_check_value:16*/ + /* cond_execute: class_tid: 1, control.custom_tunnel_port_check_value:24*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:17*/ + /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:25*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DYNAMIC_VXLAN_PORT @@ -4017,7 +5210,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:19*/ + /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:27*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DYNAMIC_VXLAN_PORT @@ -4026,12 +5219,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_geneve_port:21*/ + /* cond_execute: class_tid: 1, cust_tunnel.configure_geneve_port:29*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DYNAMIC_GENEVE_PORT }, - /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:22*/ + /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:30*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -4040,7 +5233,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:24*/ + /* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:32*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN @@ -4053,7 +5246,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* cond_execute: class_tid: 1, control.check_f1_f2_flow:27*/ + /* cond_execute: class_tid: 1, control.l2_cntxt_tcam_miss:35*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 1, control.check_f1_f2_flow:36*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 @@ -4062,17 +5260,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* cond_execute: class_tid: 1, control.tunnel_cache_check:29*/ + /* cond_execute: class_tid: 1, control.tunnel_cache_check:38*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, control.check_f2_flow:30*/ + /* cond_execute: class_tid: 1, control.check_f2_flow:39*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, control.dmac_calculation:31*/ + /* field_cond: class_tid: 1, control.dmac_calculation:40*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4081,17 +5279,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, control.dmac_calculation:33*/ + /* field_cond: class_tid: 1, control.dmac_calculation:42*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_PORT_DMAC }, - /* field_cond: class_tid: 1, control.dmac_calculation:34*/ + /* field_cond: class_tid: 1, control.dmac_calculation:43*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_PARENT_DMAC }, - /* cond_execute: class_tid: 1, control.check_tunnel_recycle:35*/ + /* cond_execute: class_tid: 1, control.check_tunnel_recycle:44*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -4104,7 +5302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 }, - /* cond_execute: class_tid: 1, control.multi_tunnel_check:38*/ + /* cond_execute: class_tid: 1, control.multi_tunnel_check:47*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY @@ -4113,7 +5311,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:40*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:49*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4122,7 +5320,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:42*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:51*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4131,7 +5329,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:44*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:53*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4140,7 +5338,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:46*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:55*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4149,7 +5347,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:48*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:57*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4158,7 +5356,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:50*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:59*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4167,7 +5365,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:52*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:61*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4176,7 +5374,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:54*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:63*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4185,7 +5383,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:56*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:65*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4194,7 +5392,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:58*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:67*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4203,7 +5401,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:60*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:69*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4212,7 +5410,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:62*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:71*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4221,12 +5419,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* cond_execute: class_tid: 1, control.multi_flow_cache_check:64*/ + /* cond_execute: class_tid: 1, control.multi_flow_cache_check:73*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:65*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:74*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4235,7 +5433,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:67*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:76*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4244,7 +5442,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:69*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:78*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4253,7 +5451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:71*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:80*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4262,7 +5460,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:73*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:82*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4271,7 +5469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:75*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:84*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4280,7 +5478,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:77*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:86*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4289,7 +5487,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:79*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:88*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4298,7 +5496,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:81*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:90*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4307,7 +5505,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:83*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:92*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4316,7 +5514,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:85*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:94*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4325,7 +5523,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:87*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:96*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4334,7 +5532,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:89*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:98*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4343,7 +5541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:91*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:100*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4352,17 +5550,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* cond_execute: class_tid: 1, control.group_id_check:93*/ + /* cond_execute: class_tid: 1, control.group_id_check:102*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* cond_execute: class_tid: 1, control.flow_chain_group_id:94*/ + /* cond_execute: class_tid: 1, control.flow_chain_group_id:103*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, flow_chain_l2_cntxt.chaining_check:95*/ + /* cond_execute: class_tid: 1, flow_chain_l2_cntxt.chaining_check:104*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4371,22 +5569,57 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, control.flow_chain_group_l2_cntxt_check:97*/ + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.chaining_check:106*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.chaining_check:107*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* cond_execute: class_tid: 1, control.flow_chain_group_l2_cntxt_check:108*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:98*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:99*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:110*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* cond_execute: class_tid: 1, mac_addr_cache.l2_table_rd:100*/ + /* cond_execute: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:111*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:112*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:113*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.write:114*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.write:115*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* cond_execute: class_tid: 1, mac_addr_cache.l2_table_rd:116*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_O_DMAC @@ -4395,12 +5628,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:102*/ + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:118*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:119*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:120*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:103*/ + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:121*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_METADATA @@ -4409,12 +5652,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.mac_addr_cache_check:105*/ + /* cond_execute: class_tid: 1, control.mac_addr_cache_check:123*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:106*/ + /* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:124*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 @@ -4423,22 +5670,60 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.l2_table_create:108*/ + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_l2_context:127*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_F1 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_F2 + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.l2_table_create:130*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.l2_table_create:109*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.l2_table_create:131*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:110*/ + /* cond_execute: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:132*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:133*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:111*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:134*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:135*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:136*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:137*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, mac_addr_cache.l2_table_wr:138*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_METADATA @@ -4447,12 +5732,21 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.check_f1_flow:113*/ + /* cond_execute: class_tid: 1, control.update_default_l2_context:140*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_O_DMAC + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + /* cond_execute: class_tid: 1, control.check_f1_flow:142*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ + /* cond_execute: class_tid: 1, control.l2_only_check:143*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4473,7 +5767,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ + /* cond_execute: class_tid: 1, control.l2_only_check:143*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4494,7 +5788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:124*/ + /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:153*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -4515,7 +5809,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, control.terminating_flow:129*/ + /* field_cond: class_tid: 1, control.terminating_flow:158*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4528,7 +5822,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, control.terminating_flow:132*/ + /* field_cond: class_tid: 1, control.terminating_flow:161*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4541,7 +5835,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, control.terminating_flow:135*/ + /* field_cond: class_tid: 1, control.terminating_flow:164*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4550,7 +5844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, control.terminating_flow:137*/ + /* field_cond: class_tid: 1, control.terminating_flow:166*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4559,12 +5853,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, control.terminating_flow:139*/ + /* field_cond: class_tid: 1, control.terminating_flow:168*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, proto_header_cache.rd:140*/ + /* field_cond: class_tid: 1, proto_header_cache.rd:169*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4573,12 +5867,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.proto_header_cache_miss:142*/ + /* cond_execute: class_tid: 1, control.proto_header_cache_miss:171*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:143*/ + /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:172*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4587,12 +5881,31 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.overlap_miss:145*/ + /* cond_execute: class_tid: 1, control.overlap_miss:174*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:146*/ + /* cond_execute: class_tid: 1, profile_tcam.allocate_wc_profile:175*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_wc_profile:176*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* field_cond: class_tid: 1, global_identifier_app_table.allocate_wc_profile:177*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:179*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4601,7 +5914,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:148*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:181*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4610,7 +5923,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:150*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:183*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4619,12 +5932,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:152*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:185*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:153*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:186*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4641,7 +5954,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:157*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:190*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4658,7 +5971,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:161*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:194*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4679,7 +5992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:166*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:199*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4700,7 +6013,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:171*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:204*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4721,7 +6034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:176*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:209*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -4742,7 +6055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:181*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:214*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4763,7 +6076,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:186*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:219*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4784,7 +6097,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:191*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:224*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4805,7 +6118,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:196*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:229*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4822,12 +6135,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:200*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:233*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:201*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:234*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4844,7 +6157,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:205*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:238*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4861,7 +6174,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:209*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4878,7 +6191,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:213*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:246*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4895,7 +6208,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:217*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:250*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4912,7 +6225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:221*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:254*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4929,7 +6242,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:225*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:258*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4946,7 +6259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:229*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:262*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4963,7 +6276,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:233*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:266*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4980,7 +6293,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:237*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:270*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4997,7 +6310,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:241*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:274*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5014,7 +6327,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:245*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:278*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5031,7 +6344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:249*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:282*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5048,7 +6361,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:253*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:286*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5065,7 +6378,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:257*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:290*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5086,7 +6399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:262*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:295*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5103,7 +6416,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:266*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:299*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5116,7 +6429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:269*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:302*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5129,7 +6442,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:272*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:305*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:306*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:309*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5146,7 +6477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:276*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:313*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5159,7 +6490,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:279*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:316*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5176,7 +6507,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:283*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:320*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5189,7 +6520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:286*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:323*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5210,7 +6541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:291*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:328*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5227,7 +6558,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:295*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:332*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5248,7 +6579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:300*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:337*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5269,7 +6600,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:305*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:342*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5286,7 +6617,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:309*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:346*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5303,7 +6634,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:313*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:350*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5324,7 +6655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:318*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:355*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5341,7 +6672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:322*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:359*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5362,7 +6693,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:327*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:364*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5379,7 +6710,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:331*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:368*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5400,7 +6731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:336*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:373*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5417,7 +6748,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:340*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:377*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5438,7 +6769,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:345*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:382*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5455,7 +6786,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:349*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:386*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5476,7 +6807,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:354*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:391*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5497,7 +6828,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:359*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:396*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5514,7 +6845,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:363*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:400*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5531,7 +6862,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:367*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:404*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5552,7 +6883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:372*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:409*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5569,7 +6900,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:376*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:413*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5590,7 +6921,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:381*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:418*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5607,7 +6938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:385*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:422*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5628,7 +6959,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:390*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:427*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5645,7 +6976,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:394*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:431*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5666,7 +6997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:399*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:436*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5687,7 +7018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:404*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:441*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5704,7 +7035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:408*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:445*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5721,7 +7052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:412*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:449*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5742,7 +7073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:417*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:454*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5763,7 +7094,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:422*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:459*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5780,7 +7111,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:426*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:463*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5797,7 +7128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:430*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:467*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5814,7 +7145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:434*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:471*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5831,7 +7162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:438*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:475*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5844,7 +7175,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:441*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:478*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5857,7 +7188,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:444*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:481*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5878,7 +7209,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:449*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:486*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5899,7 +7230,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:454*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:491*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5916,7 +7247,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:458*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:495*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5933,7 +7264,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:462*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:499*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5954,7 +7285,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:467*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:504*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5975,7 +7306,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:472*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:509*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5992,7 +7323,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:476*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:513*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6009,7 +7340,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:480*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:517*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -6018,7 +7349,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:482*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:519*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -6031,12 +7362,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:485*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:522*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:486*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:523*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -6049,7 +7380,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:489*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:526*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -6058,7 +7389,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:491*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:528*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -6071,12 +7402,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:494*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:531*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:495*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:532*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -6089,7 +7420,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:498*/ + /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:535*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -6098,12 +7429,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:500*/ + /* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:537*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:501*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:538*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6112,7 +7443,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:503*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:540*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6121,7 +7452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:505*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:542*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6130,7 +7461,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:507*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:544*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6139,7 +7470,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:509*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:546*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6148,7 +7479,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:511*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:548*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6157,7 +7488,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:513*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:550*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6166,7 +7497,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:515*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:552*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6175,43 +7506,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:517*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, + /* cond_execute: class_tid: 1, profile_tcam.allocate_em_profile:554*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP - }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:519*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE }, + /* cond_execute: class_tid: 1, global_identifier_app_table.allocate_em_profile:555*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:521*/ + /* field_cond: class_tid: 1, global_identifier_app_table.allocate_em_profile:556*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP - }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:523*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:525*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:558*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6220,7 +7534,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:527*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:560*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6229,7 +7543,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:529*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:562*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6238,7 +7552,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:531*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:564*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6247,7 +7561,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:533*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:566*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6256,7 +7570,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:535*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:568*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6265,7 +7579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:537*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:570*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6274,7 +7588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:539*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:572*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6283,7 +7597,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:541*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:574*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6292,7 +7606,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:543*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:576*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:578*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6301,7 +7624,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:545*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:580*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6310,7 +7633,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:547*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:582*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:584*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6319,7 +7651,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:549*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:586*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6328,7 +7660,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:551*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:588*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:590*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6337,7 +7678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:553*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:592*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6346,7 +7687,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:555*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:594*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:596*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6355,7 +7705,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:557*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:598*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6364,7 +7714,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:559*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:600*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6373,7 +7723,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:561*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:602*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6382,7 +7732,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:563*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:604*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6391,7 +7741,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:565*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:606*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6400,7 +7750,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:567*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:608*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6409,7 +7759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:569*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:610*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6418,7 +7768,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:571*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:612*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6427,7 +7777,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:573*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:614*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6436,7 +7786,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:575*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:616*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:618*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6445,7 +7804,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:577*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:620*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6454,7 +7813,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:579*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:622*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:624*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6463,7 +7831,61 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:581*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:626*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:628*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:630*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:632*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:634*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:636*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:638*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6472,7 +7894,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:583*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:640*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6481,7 +7903,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:585*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:642*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6490,7 +7912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:587*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:644*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6499,7 +7921,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:589*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:646*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:648*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6508,7 +7939,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:591*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:650*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6517,7 +7948,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:593*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:652*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6526,7 +7957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:595*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:654*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6535,7 +7966,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:597*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:656*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:658*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6544,7 +7984,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:599*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:660*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:662*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6553,7 +8002,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:601*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:664*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6562,7 +8011,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:603*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:666*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:668*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6571,7 +8029,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:605*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:670*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6580,7 +8038,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:607*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:672*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:674*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6589,7 +8056,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:609*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:676*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6598,7 +8065,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:611*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:678*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:680*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6607,7 +8083,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:613*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:682*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6616,7 +8092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:615*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:684*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6625,7 +8101,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:617*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:686*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6634,7 +8110,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:619*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:688*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6643,7 +8119,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:621*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:690*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6652,7 +8128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:623*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:692*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6661,7 +8137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:625*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:694*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6670,7 +8146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:627*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:696*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6679,7 +8155,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:629*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6688,7 +8164,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:631*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:700*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:702*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6697,7 +8182,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:633*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:704*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:706*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6706,7 +8200,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:635*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:708*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6715,7 +8209,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:637*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:710*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6724,7 +8218,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:639*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:712*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:714*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6733,7 +8236,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:641*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:716*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:718*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6742,7 +8254,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:643*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:720*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6751,7 +8263,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:645*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:722*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6764,7 +8276,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:648*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:725*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6777,7 +8289,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:651*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:728*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6790,7 +8302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:654*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:731*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6803,17 +8315,35 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:657*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:734*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:658*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:735*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:659*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:736*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:738*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:740*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6822,7 +8352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:661*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:742*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6831,7 +8361,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:663*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:744*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6840,7 +8370,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:665*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:746*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:748*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6849,7 +8388,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:667*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:750*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:752*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6858,7 +8406,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:669*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:754*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:756*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6867,7 +8424,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:671*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:758*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:760*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6880,7 +8446,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:674*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:763*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6893,7 +8459,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:677*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:766*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6902,7 +8468,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:679*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:768*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6911,7 +8477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:681*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:770*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6920,7 +8486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:683*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:772*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6929,7 +8495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:685*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:774*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6938,7 +8504,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:687*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:776*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_DYN_UPAR_TUN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:777*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6951,7 +8522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:690*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:780*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6964,7 +8535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:693*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:783*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6973,7 +8544,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:695*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:785*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6982,7 +8553,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:697*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:787*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6991,7 +8562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:699*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:789*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7000,7 +8571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:701*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:791*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7009,22 +8580,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:703*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:793*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_DYN_UPAR_TUN + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:794*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:704*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:795*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:705*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:796*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:706*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:797*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7033,7 +8609,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:708*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:799*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7042,7 +8618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:710*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:801*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7051,7 +8627,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:712*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:803*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7060,7 +8636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:714*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:805*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7069,7 +8645,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:716*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:807*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7078,7 +8654,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:718*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:809*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7087,7 +8663,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:720*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:811*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7096,7 +8672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:722*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:813*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7105,7 +8681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:724*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:815*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7114,7 +8690,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:726*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:817*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7123,7 +8699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:728*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:819*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7132,7 +8708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:730*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:821*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7141,7 +8717,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:732*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:823*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7150,12 +8726,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:734*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:825*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:735*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:826*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7164,7 +8740,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:737*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:828*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7173,12 +8749,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:739*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:830*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:740*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:831*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7187,7 +8763,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:742*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:833*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7196,7 +8772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:744*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:835*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7205,7 +8781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:746*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:837*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7214,7 +8790,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:748*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:839*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7223,7 +8799,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:750*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:841*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7232,7 +8808,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:752*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:843*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7241,7 +8817,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:754*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:845*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7250,7 +8826,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:756*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:847*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7259,7 +8835,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:758*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:849*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7268,7 +8844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:760*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:851*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7281,7 +8857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:763*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:854*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7294,17 +8870,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:766*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:857*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:767*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:858*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:768*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:859*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7313,7 +8889,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:770*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:861*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7322,7 +8898,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:772*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:863*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -7331,7 +8907,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:774*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:865*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7340,7 +8916,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:776*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:867*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7349,7 +8925,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:778*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:869*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -7358,7 +8934,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:780*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:871*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -7367,17 +8943,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:782*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:873*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:783*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:874*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:784*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:875*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7394,7 +8970,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:788*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:879*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7411,7 +8987,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:792*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:883*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7428,7 +9004,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:796*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:887*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7445,7 +9021,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:800*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:891*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7466,7 +9042,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:805*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:896*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7487,7 +9063,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:810*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:901*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7508,7 +9084,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:815*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:906*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7529,7 +9105,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:820*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:911*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7550,7 +9126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:825*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:916*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7571,7 +9147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:830*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:921*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7592,7 +9168,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:835*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:926*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7613,7 +9189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:840*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:931*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7630,7 +9206,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:844*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:935*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7647,7 +9223,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:848*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:939*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7664,12 +9240,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:852*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:943*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm_key_recipe.0:853*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:944*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7686,12 +9262,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:857*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:948*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm_key_recipe.0:858*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:949*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7708,7 +9284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:862*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:953*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7725,7 +9301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:866*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:957*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7742,7 +9318,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:870*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:961*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7759,7 +9335,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:874*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:965*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7776,7 +9352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:878*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:969*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7793,7 +9369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:882*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:973*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7810,7 +9386,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:886*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:977*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7827,7 +9403,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:890*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:981*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7844,7 +9420,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:894*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:985*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7861,7 +9437,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:898*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:989*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7878,7 +9454,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:902*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:993*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7895,7 +9471,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:906*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:997*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7912,7 +9488,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:910*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1001*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7929,7 +9505,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:914*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1005*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7946,7 +9522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:918*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1009*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7963,7 +9539,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:922*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1013*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7980,7 +9556,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:926*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1017*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7997,7 +9573,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:930*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1021*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8014,7 +9590,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:934*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1025*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8031,7 +9607,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:938*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1029*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8052,7 +9628,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:943*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1034*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8069,7 +9645,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:947*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1038*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8090,7 +9666,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:952*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1043*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -8107,7 +9683,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:956*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1047*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8120,7 +9696,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:959*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1050*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8133,7 +9709,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:962*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1053*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8146,7 +9722,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:965*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1056*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8159,7 +9735,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:968*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1059*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1060*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1063*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1064*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1067*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8176,7 +9788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:972*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1071*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8189,7 +9801,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:975*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1074*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8206,7 +9818,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:979*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1078*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8219,7 +9831,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:982*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1081*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8236,7 +9848,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:986*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1085*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8249,7 +9861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:989*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1088*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8266,7 +9878,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:993*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1092*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8279,7 +9891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:996*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1095*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8300,7 +9912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1001*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1100*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8317,7 +9929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1005*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1104*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8338,7 +9950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1010*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8355,7 +9967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1014*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1113*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8376,7 +9988,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1019*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1118*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8397,7 +10009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1024*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1123*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8414,7 +10026,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1028*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1127*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8431,7 +10043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1032*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1131*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8452,7 +10064,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1037*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1136*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8473,7 +10085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1042*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1141*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8490,7 +10102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1046*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1145*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8507,7 +10119,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1050*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1149*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -8528,7 +10140,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1055*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1154*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -8545,7 +10157,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1059*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1158*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -8566,7 +10178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1064*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1163*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -8583,7 +10195,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1068*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1167*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8600,7 +10212,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1072*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1171*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8613,7 +10225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1075*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1174*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8630,7 +10242,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1079*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1178*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8643,7 +10255,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1082*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1181*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8660,7 +10272,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1086*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1185*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8673,7 +10285,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1089*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1188*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8690,7 +10302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1093*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1192*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8703,7 +10315,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1096*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1195*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8720,7 +10332,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1100*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1199*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8733,7 +10345,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1103*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1202*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8750,7 +10362,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1107*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1206*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8763,7 +10375,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1110*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1209*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8780,7 +10392,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1114*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1213*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8793,7 +10405,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1117*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1216*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8810,7 +10422,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1121*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1220*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8823,7 +10435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1124*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1223*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8840,7 +10452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1128*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1227*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8857,7 +10469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1132*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1231*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8870,7 +10482,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1135*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1234*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8883,7 +10495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1138*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1237*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8900,7 +10512,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1142*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1241*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8917,7 +10529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1146*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1245*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8930,7 +10542,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1149*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1248*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8943,7 +10555,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1152*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1251*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8956,7 +10568,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1155*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1254*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8969,7 +10581,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1158*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1257*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8978,7 +10590,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1160*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1259*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8987,7 +10599,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1162*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1261*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9004,7 +10616,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1166*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1265*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9021,7 +10633,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1170*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1269*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9034,7 +10646,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1173*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1272*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9047,7 +10659,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1176*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1275*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9060,7 +10672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1179*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1278*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9073,7 +10685,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1182*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1281*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9082,7 +10694,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1184*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1283*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9091,7 +10703,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1186*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1285*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9108,7 +10720,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1190*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1289*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9125,7 +10737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1194*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1293*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9138,7 +10750,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1197*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1296*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9151,7 +10763,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1200*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1299*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9168,7 +10780,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1204*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1303*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9185,7 +10797,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1208*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1307*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9198,7 +10810,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1211*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1310*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9211,7 +10823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1214*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1313*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9228,7 +10840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1218*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1317*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9245,7 +10857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1222*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1321*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9258,7 +10870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1225*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1324*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9271,7 +10883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1228*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1327*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9288,7 +10900,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1232*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1331*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9305,7 +10917,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1236*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1335*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9318,7 +10930,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1239*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1338*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9331,7 +10943,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1242*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1341*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9340,7 +10952,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1244*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1343*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9357,7 +10969,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1248*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1347*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9374,7 +10986,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1252*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1351*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9387,7 +10999,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1255*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1354*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9400,7 +11012,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1258*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1357*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9409,7 +11021,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1260*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1359*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9426,7 +11038,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1264*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1363*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9443,7 +11055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1268*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1367*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9456,7 +11068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1271*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1370*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9469,7 +11081,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1274*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1373*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9478,7 +11090,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1276*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1375*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9495,7 +11107,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1280*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1379*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9512,7 +11124,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1284*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1383*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9525,7 +11137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1287*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1386*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9538,7 +11150,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1290*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1389*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -9547,7 +11159,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, proto_header_cache.wr:1292*/ + /* cond_execute: class_tid: 1, control.outer_present_mode_2:1391*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + /* field_cond: class_tid: 1, proto_header_cache.wr:1392*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -9556,7 +11173,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1294*/ + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -9573,7 +11190,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1298*/ + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1400*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -9582,12 +11208,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1300*/ + /* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1402*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1301*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1403*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9596,7 +11222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1303*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1405*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -9605,7 +11231,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1305*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1407*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -9614,12 +11240,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1307*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1409*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1308*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1410*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9640,7 +11266,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1313*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1415*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9657,7 +11283,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1317*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1419*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9678,7 +11304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1322*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1424*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9699,7 +11325,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1327*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1429*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9720,7 +11346,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1332*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1434*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -9741,7 +11367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1337*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1439*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9758,7 +11384,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1341*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1443*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9775,7 +11401,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1345*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1447*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9792,7 +11418,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1349*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1451*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9809,7 +11435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1353*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1455*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9826,7 +11452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1357*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1459*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9843,7 +11469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1361*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1463*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9860,7 +11486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1365*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1467*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9877,7 +11503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1369*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1471*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9894,7 +11520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1373*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1475*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9911,7 +11537,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1377*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1479*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9928,7 +11554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1381*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1483*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9945,7 +11571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1385*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1487*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9962,7 +11588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1389*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1491*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9979,7 +11605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1393*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1495*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9996,7 +11622,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1397*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1499*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10013,7 +11639,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1401*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1503*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10030,7 +11656,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1405*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1507*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10047,7 +11673,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1409*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1511*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10068,7 +11694,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1414*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1516*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10085,7 +11711,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1418*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1520*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10098,7 +11724,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1421*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1523*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10111,7 +11737,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1424*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1526*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1527*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1530*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10132,7 +11776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1429*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1535*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10149,7 +11793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1433*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1539*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10166,7 +11810,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1437*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1543*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10179,7 +11823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1440*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1546*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10200,7 +11844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1445*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1551*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10217,7 +11861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1449*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1555*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10238,7 +11882,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1454*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1560*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10259,7 +11903,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1459*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1565*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10276,7 +11920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1463*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1569*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10293,7 +11937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1467*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1573*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -10314,7 +11958,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1472*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1578*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -10331,7 +11975,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1476*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1582*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10348,7 +11992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1480*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1586*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10361,7 +12005,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1483*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1589*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10378,7 +12022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1487*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1593*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10391,7 +12035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1490*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1596*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10408,7 +12052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1494*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1600*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10421,7 +12065,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1497*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1603*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10438,7 +12082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1501*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1607*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10455,7 +12099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1505*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1611*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10468,7 +12112,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1508*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1614*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10481,7 +12125,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1511*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1617*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10498,7 +12142,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1515*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1621*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10511,7 +12155,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1518*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1624*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10528,7 +12172,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1522*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1628*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10541,7 +12185,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1525*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1631*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10558,7 +12202,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1529*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1635*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10571,7 +12215,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1532*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1638*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10588,7 +12232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1536*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1642*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10605,7 +12249,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1540*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1646*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10618,7 +12262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1543*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1649*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10631,7 +12275,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1546*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1652*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10648,7 +12292,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1550*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1656*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10665,7 +12309,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1554*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1660*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10678,7 +12322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1557*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1663*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10691,7 +12335,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1560*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1666*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10708,7 +12352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1564*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1670*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10725,7 +12369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1568*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1674*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10738,7 +12382,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1571*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1677*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10751,7 +12395,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1574*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1680*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10768,7 +12412,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1578*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1684*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10785,7 +12429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1582*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1688*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10798,7 +12442,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1585*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1691*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10811,7 +12455,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1588*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1694*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10828,7 +12472,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1592*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1698*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10845,7 +12489,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1596*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1702*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10858,7 +12502,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1599*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1705*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10871,7 +12515,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1602*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1708*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10888,7 +12532,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1606*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1712*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10905,7 +12549,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1610*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1716*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10918,7 +12562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1613*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1719*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10931,7 +12575,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1616*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1722*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10940,7 +12584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1618*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1724*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10949,7 +12593,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1620*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1726*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -10958,7 +12602,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1622*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1728*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -10967,17 +12611,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1624*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1730*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1625*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1731*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1626*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1732*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10998,7 +12642,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1631*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1737*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11019,7 +12663,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1636*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1742*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11036,7 +12680,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1640*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1746*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11053,7 +12697,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1644*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1750*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11074,7 +12718,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1649*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1755*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11095,7 +12739,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1654*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1760*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11116,7 +12760,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1659*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1765*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11137,7 +12781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1664*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1770*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11158,7 +12802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1669*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1775*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11179,7 +12823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1674*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1780*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11200,7 +12844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1679*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1785*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11221,7 +12865,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1684*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1790*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11238,7 +12882,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1688*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1794*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11255,7 +12899,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1692*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1798*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11272,7 +12916,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1696*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1802*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11289,7 +12933,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1700*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1806*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11306,7 +12950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1704*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1810*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11323,7 +12967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1708*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1814*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11340,7 +12984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1712*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1818*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11357,7 +13001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1716*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1822*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11374,7 +13018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1720*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1826*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11391,7 +13035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1724*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1830*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11408,7 +13052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1728*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1834*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11425,7 +13069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1732*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1838*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11442,7 +13086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1736*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1842*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11459,7 +13103,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1740*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1846*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11476,7 +13120,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1744*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1850*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11493,7 +13137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1748*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1854*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11510,7 +13154,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1752*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1858*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11527,7 +13171,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1756*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1862*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11544,7 +13188,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1760*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1866*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11561,7 +13205,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1764*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1870*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11578,7 +13222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1768*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1874*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11595,7 +13239,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1772*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1878*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11612,7 +13256,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1776*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1882*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11629,7 +13273,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1780*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1886*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11650,7 +13294,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1785*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1891*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11667,7 +13311,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1789*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1895*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11688,7 +13332,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1794*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1900*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -11705,7 +13349,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1798*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1904*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11718,7 +13362,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1801*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1907*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11731,7 +13375,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1804*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1910*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11744,7 +13388,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1807*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1913*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11757,7 +13401,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1810*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1916*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, em_key_recipe.0:1917*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, em_key_recipe.0:1920*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_SRV6 + }, + /* field_cond: class_tid: 1, em_key_recipe.0:1921*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, em_key_recipe.0:1924*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11778,7 +13458,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1815*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1929*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11795,7 +13475,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1819*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1933*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11816,7 +13496,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1824*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1938*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11833,7 +13513,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1828*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1942*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11850,7 +13530,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1832*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1946*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11863,7 +13543,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1835*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1949*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11880,7 +13560,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1839*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1953*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11893,7 +13573,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1842*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1956*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11914,7 +13594,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1847*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1961*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11931,7 +13611,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1851*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1965*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11952,7 +13632,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1856*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1970*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11969,7 +13649,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1860*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1974*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11990,7 +13670,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1865*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1979*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12011,7 +13691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1870*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1984*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12028,7 +13708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1874*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1988*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12045,7 +13725,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1878*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1992*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12066,7 +13746,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1883*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1997*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12087,7 +13767,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1888*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2002*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12104,7 +13784,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1892*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2006*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12121,7 +13801,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1896*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2010*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12142,7 +13822,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1901*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2015*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12159,7 +13839,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1905*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2019*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12180,7 +13860,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1910*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2024*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12197,7 +13877,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1914*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2028*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12214,7 +13894,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1918*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2032*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12227,7 +13907,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1921*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2035*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12244,7 +13924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1925*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2039*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12257,7 +13937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1928*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2042*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12274,7 +13954,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1932*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2046*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12287,7 +13967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1935*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2049*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12304,7 +13984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1939*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2053*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12317,7 +13997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1942*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2056*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12334,7 +14014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1946*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2060*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12347,7 +14027,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1949*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2063*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12364,7 +14044,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1953*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2067*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12377,7 +14057,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1956*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2070*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12394,7 +14074,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1960*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2074*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12407,7 +14087,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1963*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2077*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12424,7 +14104,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1967*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2081*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12437,7 +14117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1970*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2084*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12454,7 +14134,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1974*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2088*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12471,7 +14151,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1978*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2092*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12484,7 +14164,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1981*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2095*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12497,7 +14177,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1984*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2098*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12514,7 +14194,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1988*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2102*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12531,7 +14211,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1992*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2106*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12544,7 +14224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1995*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12557,7 +14237,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1998*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2112*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12574,7 +14254,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2002*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2116*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12591,7 +14271,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2006*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2120*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12604,7 +14284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2009*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2123*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12617,7 +14297,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2012*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2126*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12634,7 +14314,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2016*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2130*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12651,7 +14331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2020*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2134*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12664,7 +14344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2023*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2137*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12677,7 +14357,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2026*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2140*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12694,7 +14374,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2030*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2144*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12711,7 +14391,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2034*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2148*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12724,7 +14404,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2037*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2151*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12737,7 +14417,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2040*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2154*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12754,7 +14434,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2044*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2158*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12771,7 +14451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2048*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2162*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12784,7 +14464,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2051*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2165*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12797,7 +14477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2054*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2168*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12814,7 +14494,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2058*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2172*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12831,7 +14511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2062*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2176*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12844,7 +14524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2065*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2179*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12857,7 +14537,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2068*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2182*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12874,7 +14554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2072*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2186*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12891,7 +14571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2076*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2190*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12904,7 +14584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2079*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2193*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12917,7 +14597,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2082*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2196*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12934,7 +14614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2086*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2200*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12951,7 +14631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2090*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2204*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12964,7 +14644,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2093*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2207*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12977,7 +14657,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2096*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2210*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12994,7 +14674,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2100*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2214*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13011,7 +14691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2104*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2218*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13024,7 +14704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2107*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2221*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13037,7 +14717,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2110*/ + /* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2224*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13046,7 +14726,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.field_sig_validation:2112*/ + /* cond_execute: class_tid: 1, control.field_sig_validation:2226*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_CC @@ -13055,7 +14735,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID }, - /* cond_execute: class_tid: 1, control.outer_loop_add_check:2114*/ + /* cond_execute: class_tid: 1, control.outer_loop_add_check:2228*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13064,7 +14744,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD }, - /* cond_execute: class_tid: 1, control.em_wc_check:2116*/ + /* cond_execute: class_tid: 1, control.em_wc_check:2230*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -13077,37 +14757,68 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO }, - /* cond_execute: class_tid: 1, em_normal.ingress_generic_template:2119*/ + /* cond_execute: class_tid: 1, control.em_wc_check:2230*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* cond_execute: class_tid: 1, em_normal.ingress_generic_template:2235*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, em_recycle.ingress_generic_template_recycle:2120*/ + /* cond_execute: class_tid: 1, em_recycle.ingress_generic_template_recycle:2236*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, control.em_add_check:2121*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD + }, + /* cond_execute: class_tid: 1, control.em_add_check:2238*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL }, - /* cond_execute: class_tid: 1, wm_normal.ingress_generic_template:2122*/ + /* cond_execute: class_tid: 1, control.get_ha_priority_secondary:2239*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_HOT_UP_SECONDARY + }, + /* cond_execute: class_tid: 1, wm_normal.ingress_generic_template:2240*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, wm_recycle.ingress_generic_template_recycle:2123*/ + /* cond_execute: class_tid: 1, wm_recycle.ingress_generic_template_recycle:2241*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, control.outer_loop_check:2124*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD + }, + /* cond_execute: class_tid: 1, control.process_wc_priority:2243*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE + }, + /* cond_execute: class_tid: 1, control.outer_loop_check:2245*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.l2_only_check:2125*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13128,7 +14839,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* cond_execute: class_tid: 2, control.l2_only_check:2125*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13149,7 +14860,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -13170,7 +14881,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -13191,7 +14902,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2145*/ + /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2266*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -13200,7 +14911,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* cond_execute: class_tid: 2, control.multi_tunnel_check:2147*/ + /* cond_execute: class_tid: 2, control.multi_tunnel_check:2268*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY @@ -13209,7 +14920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2149*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2270*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13218,7 +14929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2151*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2272*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13227,7 +14938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2153*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2274*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13236,7 +14947,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2155*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2276*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13245,7 +14956,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2157*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2278*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13254,7 +14965,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2159*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2280*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13263,7 +14974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2161*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2282*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13272,7 +14983,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2163*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2284*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13281,7 +14992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2165*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2286*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13290,7 +15001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2167*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2288*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13299,7 +15010,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2169*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2290*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13308,7 +15019,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2171*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2292*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13317,7 +15028,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2173*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2294*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -13326,7 +15037,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2175*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2296*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -13335,12 +15046,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* cond_execute: class_tid: 2, control.multi_flow_cache_check:2177*/ + /* cond_execute: class_tid: 2, control.multi_flow_cache_check:2298*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2178*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2299*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13349,7 +15060,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2180*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2301*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13358,7 +15069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2182*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2303*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13367,7 +15078,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2184*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2305*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -13376,7 +15087,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2186*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2307*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13385,7 +15096,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2188*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2309*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13394,7 +15105,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2190*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2311*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13403,7 +15114,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2192*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2313*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -13412,7 +15123,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2194*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2315*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13421,7 +15132,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2196*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2317*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13430,7 +15141,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2198*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2319*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13439,7 +15150,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2200*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2321*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -13448,7 +15159,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2202*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2323*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -13457,7 +15168,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2204*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2325*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -13466,7 +15177,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, control.terminating_flow:2206*/ + /* field_cond: class_tid: 2, control.terminating_flow:2327*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13475,7 +15186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, control.terminating_flow:2208*/ + /* field_cond: class_tid: 2, control.terminating_flow:2329*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13484,7 +15195,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, control.terminating_flow:2210*/ + /* field_cond: class_tid: 2, control.terminating_flow:2331*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13493,7 +15204,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, control.terminating_flow:2212*/ + /* field_cond: class_tid: 2, control.terminating_flow:2333*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13502,17 +15213,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* cond_execute: class_tid: 2, control.group_id_check:2214*/ + /* cond_execute: class_tid: 2, control.group_id_check:2335*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* cond_execute: class_tid: 2, control.flow_chain_group_id:2215*/ + /* cond_execute: class_tid: 2, control.flow_chain_group_id:2336*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, proto_header_cache.rd:2216*/ + /* field_cond: class_tid: 2, proto_header_cache.rd:2337*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13521,12 +15232,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.proto_header_cache_miss:2218*/ + /* cond_execute: class_tid: 2, control.proto_header_cache_miss:2339*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2219*/ + /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2340*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13535,12 +15246,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.overlap_miss:2221*/ + /* cond_execute: class_tid: 2, control.overlap_miss:2342*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2222*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2343*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13549,7 +15260,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2224*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2345*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13558,7 +15269,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2226*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2347*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13567,12 +15278,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2228*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2349*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2229*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2350*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13589,7 +15300,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2233*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2354*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13606,7 +15317,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2237*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2358*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -13619,7 +15330,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2240*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2361*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13640,7 +15351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2245*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2366*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13661,7 +15372,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2250*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2371*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13682,7 +15393,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2255*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2376*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -13703,7 +15414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2260*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2381*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13724,7 +15435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2265*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2386*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13745,7 +15456,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2270*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2391*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13766,7 +15477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2275*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2396*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13783,12 +15494,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2279*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2400*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2280*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2401*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13805,7 +15516,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2284*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2405*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13822,7 +15533,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2288*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2409*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13839,7 +15550,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2292*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2413*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13856,7 +15567,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2296*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2417*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13873,7 +15584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2300*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2421*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13890,7 +15601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2304*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2425*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13907,7 +15618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2308*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2429*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13924,7 +15635,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2312*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2433*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13941,7 +15652,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2316*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2437*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13958,7 +15669,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2320*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2441*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13975,7 +15686,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2324*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2445*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13992,7 +15703,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2328*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2449*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14009,7 +15720,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2332*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2453*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14026,7 +15737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2336*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2457*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14047,7 +15758,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2341*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2462*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14064,7 +15775,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2345*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2466*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14077,7 +15788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2348*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2469*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14090,7 +15801,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2351*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2472*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14107,7 +15818,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2355*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2476*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14120,7 +15831,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2358*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2479*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14137,7 +15848,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2362*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2483*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14150,7 +15861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2365*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2486*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14171,7 +15882,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2370*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2491*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14188,7 +15899,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2374*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2495*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14209,7 +15920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2379*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2500*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14230,7 +15941,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2384*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2505*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14247,7 +15958,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2388*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2509*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14264,7 +15975,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2392*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2513*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14285,7 +15996,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2397*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2518*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14302,7 +16013,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2401*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2522*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14323,7 +16034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2406*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2527*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14340,7 +16051,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2410*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2531*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14361,7 +16072,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2415*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2536*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14378,7 +16089,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2419*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2540*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14399,7 +16110,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2424*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2545*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14416,7 +16127,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2428*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2549*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14437,7 +16148,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2433*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2554*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14458,7 +16169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2438*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2559*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14475,7 +16186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2442*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2563*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14492,7 +16203,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2446*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2567*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14513,7 +16224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2451*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2572*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14530,7 +16241,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2455*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2576*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14551,7 +16262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2460*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2581*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14568,7 +16279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2464*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2585*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14589,7 +16300,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2469*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2590*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14606,7 +16317,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2473*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2594*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14627,7 +16338,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2478*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2599*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14648,7 +16359,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2483*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2604*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14665,7 +16376,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2487*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2608*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14682,7 +16393,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2491*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2612*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14703,7 +16414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2496*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2617*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14724,7 +16435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2501*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2622*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14741,7 +16452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2505*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2626*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14758,7 +16469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2509*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2630*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14775,7 +16486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2513*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2634*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14792,7 +16503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2517*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2638*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14805,7 +16516,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2520*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2641*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14818,7 +16529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2523*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2644*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14839,7 +16550,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2528*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2649*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14860,7 +16571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2533*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2654*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14877,7 +16588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2537*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2658*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14894,7 +16605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2541*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2662*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14915,7 +16626,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2546*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2667*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14936,7 +16647,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2551*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2672*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14953,7 +16664,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2555*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2676*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14970,7 +16681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2559*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2680*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14979,7 +16690,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2561*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2682*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -14992,12 +16703,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2564*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2685*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2565*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2686*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15010,7 +16721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2568*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2689*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15019,7 +16730,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2570*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2691*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -15032,12 +16743,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2573*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2694*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2574*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2695*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15050,7 +16761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:2577*/ + /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:2698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -15059,12 +16770,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:2579*/ + /* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:2700*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2580*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2701*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15073,7 +16784,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2582*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2703*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15082,7 +16793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2584*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2705*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15091,7 +16802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2586*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2707*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15100,7 +16811,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2588*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2709*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15109,7 +16820,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2590*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2711*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15118,7 +16829,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2592*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2713*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15127,7 +16838,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2594*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:2715*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15136,7 +16847,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2596*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2717*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15145,7 +16856,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2598*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2719*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15154,7 +16865,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2600*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2721*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15163,7 +16874,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2602*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2723*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15172,7 +16883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2604*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2725*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15181,7 +16892,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2606*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2727*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15190,7 +16901,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2608*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2729*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15199,7 +16910,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2610*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2731*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15208,7 +16919,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2612*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2733*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15217,7 +16928,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2614*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2735*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15226,7 +16937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2616*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2737*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15235,7 +16946,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2618*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2739*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15244,7 +16955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2620*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2741*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15253,7 +16964,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2622*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2743*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15262,7 +16973,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2624*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2745*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15271,7 +16982,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2626*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2747*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15280,7 +16991,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2628*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2749*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15289,7 +17000,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2630*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2751*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15298,7 +17009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2632*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2753*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15307,7 +17018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2634*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2755*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15316,7 +17027,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2636*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2757*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15325,7 +17036,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2638*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2759*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15334,7 +17045,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2640*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2761*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15343,7 +17054,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2642*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2763*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15352,7 +17063,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2644*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2765*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15361,7 +17072,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2646*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2767*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15370,7 +17081,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2648*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2769*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15379,7 +17090,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2650*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2771*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15388,7 +17099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2652*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2773*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15397,7 +17108,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2654*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2775*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15406,7 +17117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2656*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2777*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15415,7 +17126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2658*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2779*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15424,7 +17135,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2660*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2781*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15433,7 +17144,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2662*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2783*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15442,7 +17153,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2664*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2785*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15451,7 +17162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2666*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2787*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15460,7 +17171,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2668*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2789*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15469,7 +17180,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2670*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2791*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15478,7 +17189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2672*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2793*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15487,7 +17198,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2674*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2795*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15496,7 +17207,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2676*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2797*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15505,7 +17216,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2678*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2799*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15514,7 +17225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2680*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2801*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15523,7 +17234,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2682*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2803*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15532,7 +17243,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2684*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2805*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15541,7 +17252,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2686*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2807*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15550,7 +17261,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2688*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2809*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15559,7 +17270,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2690*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2811*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15568,7 +17279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2692*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2813*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15577,7 +17288,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2694*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2815*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15586,7 +17297,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2696*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2817*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15595,7 +17306,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2698*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2819*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15604,7 +17315,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2700*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2821*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15613,7 +17324,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2702*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2823*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15622,7 +17333,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2704*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2825*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15631,7 +17342,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2706*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2827*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15640,7 +17351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2708*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2829*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15649,7 +17360,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2710*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2831*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15658,7 +17369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2712*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2833*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15667,7 +17378,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2714*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2835*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15676,7 +17387,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2716*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2837*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15685,7 +17396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2718*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2839*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15694,7 +17405,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2720*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2841*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15703,7 +17414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2722*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2843*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15712,7 +17423,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2724*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2845*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15725,7 +17436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2727*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2848*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15738,7 +17449,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2730*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2851*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15751,7 +17462,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2733*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2854*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15764,17 +17475,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2736*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2857*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2737*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2858*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2738*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2859*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15783,7 +17494,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2740*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2861*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15792,7 +17503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2742*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2863*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15801,7 +17512,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2744*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2865*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15810,7 +17521,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2746*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2867*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15819,7 +17530,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2748*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2869*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15828,7 +17539,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2750*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2871*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15837,7 +17548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2752*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2873*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15846,7 +17557,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2754*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2875*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15855,7 +17566,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2756*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2877*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15864,7 +17575,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2758*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2879*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15873,7 +17584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2760*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2881*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15882,7 +17593,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2762*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2883*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15891,7 +17602,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2764*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2885*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15900,7 +17611,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2766*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2887*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15909,7 +17620,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2768*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2889*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15918,7 +17629,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2770*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2891*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15927,7 +17638,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2772*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2893*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15936,22 +17647,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2774*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2895*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2775*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2896*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2776*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2897*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2777*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2898*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15960,7 +17671,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2779*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2900*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15969,7 +17680,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2781*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2902*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15978,7 +17689,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2783*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2904*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15987,7 +17698,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2785*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2906*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15996,7 +17707,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2787*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2908*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16005,7 +17716,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2789*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2910*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16014,7 +17725,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2791*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2912*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16023,7 +17734,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2793*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2914*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16032,7 +17743,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2795*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2916*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16041,7 +17752,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2797*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2918*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16050,7 +17761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2799*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2920*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16059,7 +17770,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2801*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2922*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16068,7 +17779,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2803*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2924*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16077,12 +17788,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2805*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2926*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2806*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2927*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16091,7 +17802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2808*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2929*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16100,12 +17811,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2810*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2931*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2811*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2932*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16114,7 +17825,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2813*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2934*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16123,7 +17834,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2815*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2936*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16132,7 +17843,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2817*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2938*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16141,7 +17852,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2819*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2940*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16150,7 +17861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2821*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2942*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16159,7 +17870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2823*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2944*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16168,7 +17879,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2825*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2946*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16177,7 +17888,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2827*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2948*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16186,7 +17897,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2829*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2950*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16195,7 +17906,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2831*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2952*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16204,7 +17915,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2833*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2954*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16213,7 +17924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2835*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2956*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16222,7 +17933,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2837*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2958*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16231,7 +17942,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2839*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2960*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16244,7 +17955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2842*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2963*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16257,17 +17968,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2845*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2966*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2846*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2967*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2847*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2968*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16276,7 +17987,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2849*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:2970*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -16285,7 +17996,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2851*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2972*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16294,7 +18005,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2853*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2974*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16303,7 +18014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2855*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2976*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -16312,7 +18023,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2857*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2978*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -16321,17 +18032,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2859*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2980*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2860*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2981*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2861*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2982*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16348,7 +18059,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2865*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2986*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16365,7 +18076,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2869*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2990*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16382,7 +18093,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2873*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2994*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -16395,7 +18106,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2876*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:2997*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16412,7 +18123,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2880*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3001*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -16425,7 +18136,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2883*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3004*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16446,7 +18157,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2888*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3009*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16467,7 +18178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2893*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3014*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16488,7 +18199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2898*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3019*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16509,7 +18220,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2903*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3024*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16530,7 +18241,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2908*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3029*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16551,7 +18262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2913*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3034*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16572,7 +18283,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2918*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3039*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16593,7 +18304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2923*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3044*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16610,7 +18321,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2927*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3048*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16627,7 +18338,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2931*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3052*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16644,12 +18355,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2935*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3056*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2936*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3057*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16666,12 +18377,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2940*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3061*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2941*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3062*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16688,7 +18399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2945*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3066*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16705,7 +18416,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2949*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3070*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16722,7 +18433,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2953*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3074*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16739,7 +18450,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2957*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3078*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16756,7 +18467,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2961*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3082*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16773,7 +18484,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2965*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3086*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16790,7 +18501,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2969*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3090*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16807,7 +18518,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2973*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3094*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16824,7 +18535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2977*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3098*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16841,7 +18552,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2981*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3102*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16858,7 +18569,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2985*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3106*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16875,7 +18586,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2989*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3110*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16892,7 +18603,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2993*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3114*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16909,7 +18620,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2997*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3118*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16926,7 +18637,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3001*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3122*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16943,7 +18654,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3005*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3126*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16960,7 +18671,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3009*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3130*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16977,7 +18688,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3013*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3134*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16994,7 +18705,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3017*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3138*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17011,7 +18722,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3021*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3142*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17032,7 +18743,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3026*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3147*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17049,7 +18760,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3030*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3151*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17070,7 +18781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3035*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3156*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17087,7 +18798,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3039*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3160*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17100,7 +18811,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3042*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3163*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17113,7 +18824,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3045*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3166*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17126,7 +18837,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3048*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3169*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17139,7 +18850,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3051*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3172*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17156,7 +18867,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3055*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3176*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17169,7 +18880,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3058*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3179*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17186,7 +18897,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3062*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3183*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17199,7 +18910,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3065*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3186*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17216,7 +18927,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3069*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3190*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17229,7 +18940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3072*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3193*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17246,7 +18957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3076*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3197*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17259,7 +18970,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3079*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3200*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17280,7 +18991,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3084*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3205*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17297,7 +19008,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3088*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3209*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17318,7 +19029,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3093*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3214*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17335,7 +19046,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3097*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3218*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17356,7 +19067,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3102*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3223*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17377,7 +19088,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3107*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3228*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17394,7 +19105,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3111*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3232*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17411,7 +19122,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3115*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3236*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17432,7 +19143,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3120*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3241*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17453,7 +19164,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3125*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17470,7 +19181,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3129*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3250*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17487,7 +19198,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3133*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3254*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17508,7 +19219,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3138*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3259*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17525,7 +19236,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3142*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3263*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17546,7 +19257,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3147*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3268*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17563,7 +19274,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3151*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3272*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17580,7 +19291,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3155*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3276*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17593,7 +19304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3158*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3279*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17610,7 +19321,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3162*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3283*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17623,7 +19334,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3165*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3286*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17640,7 +19351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3169*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3290*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17653,7 +19364,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3172*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3293*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17670,7 +19381,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3176*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3297*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17683,7 +19394,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3179*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3300*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17700,7 +19411,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3183*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3304*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17713,7 +19424,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3186*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3307*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17730,7 +19441,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3190*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3311*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17743,7 +19454,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3193*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3314*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17760,7 +19471,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3197*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3318*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17773,7 +19484,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3200*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3321*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17790,7 +19501,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3204*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3325*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17803,7 +19514,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3207*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3328*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17820,7 +19531,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3211*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3332*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17837,7 +19548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3215*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3336*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17850,7 +19561,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3218*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3339*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17863,7 +19574,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3221*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3342*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17880,7 +19591,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3225*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3346*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17897,7 +19608,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3229*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3350*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17910,7 +19621,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3232*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3353*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17923,7 +19634,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3235*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3356*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17936,7 +19647,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3238*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3359*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17949,7 +19660,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3241*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3362*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17958,7 +19669,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3243*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3364*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17967,7 +19678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3245*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3366*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17984,7 +19695,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3249*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3370*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18001,7 +19712,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3253*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3374*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18014,7 +19725,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3256*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3377*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18027,7 +19738,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3259*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3380*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18040,7 +19751,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3262*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3383*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18053,7 +19764,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3265*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3386*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18062,7 +19773,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3267*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3388*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18071,7 +19782,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3269*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3390*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18088,7 +19799,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3273*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3394*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18105,7 +19816,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3277*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3398*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18118,7 +19829,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3280*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3401*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18131,7 +19842,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3283*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3404*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18148,7 +19859,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3287*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3408*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18165,7 +19876,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3291*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3412*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18178,7 +19889,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3294*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3415*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18191,7 +19902,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3297*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3418*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18208,7 +19919,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3301*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3422*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18225,7 +19936,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3305*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3426*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18238,7 +19949,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3308*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3429*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18251,7 +19962,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3311*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3432*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18268,7 +19979,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3315*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3436*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18285,7 +19996,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3319*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3440*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18298,7 +20009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3322*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3443*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18311,7 +20022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3325*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3446*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18320,7 +20031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3327*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3448*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18337,7 +20048,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3331*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3452*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18354,7 +20065,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3335*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3456*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18367,7 +20078,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3338*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3459*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18380,7 +20091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3341*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3462*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18389,7 +20100,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3343*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3464*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18406,7 +20117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3347*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3468*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18423,7 +20134,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3351*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3472*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18436,7 +20147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3354*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3475*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18449,7 +20160,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3357*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3478*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18458,7 +20169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3359*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3480*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18475,7 +20186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3363*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3484*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18492,7 +20203,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3367*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3488*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18505,7 +20216,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3370*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3491*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18518,7 +20229,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3373*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3494*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18527,7 +20238,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, proto_header_cache.wr:3375*/ + /* field_cond: class_tid: 2, proto_header_cache.wr:3496*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -18536,7 +20247,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:3377*/ + /* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:3498*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -18553,7 +20264,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, em_flow_conflict_cache.rd:3381*/ + /* field_cond: class_tid: 2, em_flow_conflict_cache.rd:3502*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -18562,12 +20273,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:3383*/ + /* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:3504*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3384*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3505*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18576,7 +20287,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3386*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3507*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -18585,7 +20296,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3388*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3509*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -18594,12 +20305,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3390*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3511*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3391*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3512*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18620,7 +20331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3396*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3517*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18637,7 +20348,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3400*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3521*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18658,7 +20369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3405*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3526*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18679,7 +20390,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3410*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3531*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18700,7 +20411,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3415*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3536*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -18721,7 +20432,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3420*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3541*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18738,7 +20449,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3424*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3545*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18755,7 +20466,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3428*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3549*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18772,7 +20483,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3432*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3553*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18789,7 +20500,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3436*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3557*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18806,7 +20517,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3440*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3561*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18823,7 +20534,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3444*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3565*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18840,7 +20551,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3448*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3569*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18857,7 +20568,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3452*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3573*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18874,7 +20585,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3456*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3577*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18891,7 +20602,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3460*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3581*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18908,7 +20619,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3464*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3585*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18925,7 +20636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3468*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3589*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18942,7 +20653,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3472*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3593*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18959,7 +20670,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3476*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3597*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18976,7 +20687,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3480*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3601*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -18993,7 +20704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3484*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3605*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19010,7 +20721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3488*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3609*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19027,7 +20738,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3492*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3613*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19048,7 +20759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3497*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3618*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19065,7 +20776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3501*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3622*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19078,7 +20789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3504*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3625*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19091,7 +20802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3507*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3628*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19112,7 +20823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3512*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3633*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19129,7 +20840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3516*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3637*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19146,7 +20857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3520*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3641*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19159,7 +20870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3523*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3644*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19180,7 +20891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3528*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3649*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19197,7 +20908,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3532*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3653*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19218,7 +20929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3537*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3658*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19239,7 +20950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3542*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3663*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19256,7 +20967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3546*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3667*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19273,7 +20984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3550*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3671*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -19294,7 +21005,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3555*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3676*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -19311,7 +21022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3559*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3680*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19328,7 +21039,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3563*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3684*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19341,7 +21052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3566*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3687*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19358,7 +21069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3570*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3691*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19371,7 +21082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3573*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3694*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19388,7 +21099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3577*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19401,7 +21112,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3580*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3701*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19418,7 +21129,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3584*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3705*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19435,7 +21146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3588*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3709*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19448,7 +21159,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3591*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3712*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19461,7 +21172,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3594*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3715*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19478,7 +21189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3598*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3719*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19491,7 +21202,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3601*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3722*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19508,7 +21219,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3605*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3726*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19521,7 +21232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3608*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3729*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19538,7 +21249,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3612*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3733*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19551,7 +21262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3615*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3736*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19568,7 +21279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3619*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3740*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19585,7 +21296,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3623*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3744*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19598,7 +21309,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3626*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3747*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19611,7 +21322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3629*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3750*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19628,7 +21339,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3633*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3754*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19645,7 +21356,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3637*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3758*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19658,7 +21369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3640*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3761*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19671,7 +21382,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3643*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3764*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19688,7 +21399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3647*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3768*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19705,7 +21416,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3651*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3772*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19718,7 +21429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3654*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3775*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19731,7 +21442,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3657*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3778*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19748,7 +21459,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3661*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3782*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19765,7 +21476,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3665*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3786*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19778,7 +21489,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3668*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3789*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19791,7 +21502,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3671*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3792*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19808,7 +21519,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3675*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3796*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19825,7 +21536,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3679*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3800*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19838,7 +21549,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3682*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3803*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19851,7 +21562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3685*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3806*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19868,7 +21579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3689*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3810*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19885,7 +21596,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3693*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3814*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19898,7 +21609,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3696*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:3817*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19911,7 +21622,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3699*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3820*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19920,7 +21631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3701*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3822*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19929,7 +21640,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3703*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3824*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -19938,7 +21649,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3705*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3826*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -19947,17 +21658,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3707*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3828*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3708*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3829*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3709*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3830*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19978,7 +21689,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3714*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3835*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -19999,7 +21710,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3719*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3840*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20016,7 +21727,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3723*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3844*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20033,7 +21744,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3727*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3848*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20054,7 +21765,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3732*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3853*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20075,7 +21786,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3737*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3858*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20096,7 +21807,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3742*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3863*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20117,7 +21828,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3747*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3868*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20138,7 +21849,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3752*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3873*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20159,7 +21870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3757*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3878*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -20180,7 +21891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3762*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3883*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -20201,7 +21912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3767*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3888*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20218,7 +21929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3771*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3892*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20235,7 +21946,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3775*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3896*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20252,7 +21963,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3779*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3900*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20269,7 +21980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3783*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3904*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20286,7 +21997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3787*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3908*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20303,7 +22014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3791*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3912*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20320,7 +22031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3795*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3916*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20337,7 +22048,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3799*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3920*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20354,7 +22065,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3803*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3924*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20371,7 +22082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3807*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3928*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20388,7 +22099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3811*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3932*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20405,7 +22116,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3815*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3936*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20422,7 +22133,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3819*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3940*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20439,7 +22150,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3823*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3944*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20456,7 +22167,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3827*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3948*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20473,7 +22184,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3831*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3952*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20490,7 +22201,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3835*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3956*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20507,7 +22218,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3839*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3960*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20524,7 +22235,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3843*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3964*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20541,7 +22252,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3847*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3968*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20558,7 +22269,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3851*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3972*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20575,7 +22286,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3855*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3976*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20592,7 +22303,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3859*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3980*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20609,7 +22320,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3863*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3984*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20630,7 +22341,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3868*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3989*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20647,7 +22358,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3872*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3993*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20668,7 +22379,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3877*/ + /* field_cond: class_tid: 2, em_key_recipe.0:3998*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20685,7 +22396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3881*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4002*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20698,7 +22409,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:3884*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4005*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20711,7 +22422,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:3887*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4008*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20724,7 +22435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:3890*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4011*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20737,7 +22448,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:3893*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4014*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20758,7 +22469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3898*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4019*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20775,7 +22486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3902*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4023*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20796,7 +22507,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3907*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4028*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20813,7 +22524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3911*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4032*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20830,7 +22541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3915*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4036*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20843,7 +22554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3918*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4039*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20860,7 +22571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3922*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4043*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20873,7 +22584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3925*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4046*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20894,7 +22605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3930*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4051*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20911,7 +22622,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3934*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4055*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20932,7 +22643,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3939*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4060*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20949,7 +22660,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3943*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4064*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20970,7 +22681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3948*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4069*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20991,7 +22702,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3953*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4074*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21008,7 +22719,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3957*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4078*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21025,7 +22736,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3961*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4082*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21046,7 +22757,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3966*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4087*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21067,7 +22778,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3971*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4092*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21084,7 +22795,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3975*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4096*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21101,7 +22812,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3979*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4100*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21122,7 +22833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3984*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4105*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21139,7 +22850,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3988*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21160,7 +22871,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3993*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4114*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21177,7 +22888,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3997*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4118*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21194,7 +22905,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4001*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4122*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21207,7 +22918,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4004*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4125*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21224,7 +22935,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4008*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4129*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21237,7 +22948,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4011*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4132*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21254,7 +22965,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4015*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4136*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21267,7 +22978,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4018*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4139*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21284,7 +22995,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4022*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4143*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21297,7 +23008,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4025*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4146*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21314,7 +23025,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4029*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4150*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21327,7 +23038,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4032*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4153*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21344,7 +23055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4036*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4157*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21357,7 +23068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4039*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4160*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21374,7 +23085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4043*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4164*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21387,7 +23098,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4046*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4167*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21404,7 +23115,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4050*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4171*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21417,7 +23128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4053*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4174*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21434,7 +23145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4057*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4178*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21451,7 +23162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4061*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4182*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21464,7 +23175,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4064*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4185*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21477,7 +23188,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4067*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4188*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21494,7 +23205,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4071*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4192*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21511,7 +23222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4075*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4196*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21524,7 +23235,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4078*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4199*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21537,7 +23248,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4081*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4202*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21554,7 +23265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4085*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4206*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21571,7 +23282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4089*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4210*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21584,7 +23295,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4092*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4213*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21597,7 +23308,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4095*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4216*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21614,7 +23325,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4099*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4220*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21631,7 +23342,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4103*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4224*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21644,7 +23355,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4106*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4227*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21657,7 +23368,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4109*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4230*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21674,7 +23385,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4113*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4234*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21691,7 +23402,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4117*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4238*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21704,7 +23415,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4120*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4241*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21717,7 +23428,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4123*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4244*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21734,7 +23445,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4127*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4248*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21751,7 +23462,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4131*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4252*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21764,7 +23475,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4134*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4255*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21777,7 +23488,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4137*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4258*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21794,7 +23505,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4141*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4262*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21811,7 +23522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4145*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4266*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21824,7 +23535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4148*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4269*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21837,7 +23548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4151*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4272*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21854,7 +23565,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4155*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4276*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21871,7 +23582,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4159*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4280*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21884,7 +23595,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4162*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4283*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21897,7 +23608,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4165*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4286*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21914,7 +23625,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4169*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4290*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21931,7 +23642,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4173*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4294*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21944,7 +23655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4176*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4297*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21957,7 +23668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4179*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4300*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21974,7 +23685,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4183*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4304*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21991,7 +23702,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4187*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4308*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22004,7 +23715,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4190*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4311*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22017,7 +23728,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4193*/ + /* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4314*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -22026,7 +23737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.field_sig_validation:4195*/ + /* cond_execute: class_tid: 2, control.field_sig_validation:4316*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_CC @@ -22035,7 +23746,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID }, - /* cond_execute: class_tid: 2, control.outer_loop_add_check:4197*/ + /* cond_execute: class_tid: 2, control.outer_loop_add_check:4318*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22044,7 +23755,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD }, - /* cond_execute: class_tid: 2, control.em_wc_check:4199*/ + /* cond_execute: class_tid: 2, control.em_wc_check:4320*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -22057,62 +23768,157 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO }, - /* cond_execute: class_tid: 2, em_normal.egress_generic_template:4202*/ + /* cond_execute: class_tid: 2, em_normal.egress_generic_template:4323*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, em_recycle.egress_generic_template_recycle:4203*/ + /* cond_execute: class_tid: 2, em_recycle.egress_generic_template_recycle:4324*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.em_add_check:4204*/ + /* cond_execute: class_tid: 2, control.em_add_check:4325*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL }, - /* cond_execute: class_tid: 2, wm_normal.egress_generic_template:4205*/ + /* cond_execute: class_tid: 2, wm_normal.egress_generic_template:4326*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, wm_recycle.egress_generic_template_recycle:4206*/ + /* cond_execute: class_tid: 2, wm_recycle.egress_generic_template_recycle:4327*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.outer_loop_check:4207*/ + /* cond_execute: class_tid: 2, control.outer_loop_check:4328*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 3, control.ts_ing_rd_check:4208*/ + /* cond_execute: class_tid: 3, control.redirect_only_check:4329*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_REDIRECT_ONLY + }, + /* cond_execute: class_tid: 3, control.metadata_record_miss:4330*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, control.ing_rd_check:4209*/ + /* cond_execute: class_tid: 3, control.ts_ing_rd_check:4331*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, control.non_vfr_egr_rd_check:4210*/ + /* field_cond: class_tid: 3, cmm_full_act_record.ing_default_1:4332*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_RX_MISS_SEND_TO_PF + }, + /* cond_execute: class_tid: 3, profile_tcam_bypass.allocate_prof_func:4333*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* cond_execute: class_tid: 3, global_identifier_app_table.allocate_prof_func:4334*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* cond_execute: class_tid: 3, control.non_vfr_egr_rd_check:4335*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, control.tsid_vfr_rd_check:4211*/ + /* cond_execute: class_tid: 3, control.tsid_vfr_rd_check:4336*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 4, control.tsid_vfr_egr_check:4212*/ + /* cond_execute: class_tid: 4, control.tsid_vfr_egr_check:4337*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 4, control.endpoint_def_egr_rd_check:4213*/ + /* cond_execute: class_tid: 4, control.endpoint_def_egr_rd_check:4338*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 5, control.tsid_rd_check:4339*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 5, control.ing_rd_check:4340*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 5, l2_cntxt_tcam_cache.ing_rd_sock:4341*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam.svif_ing:4342*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam.svif_ing:4344*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4346*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4348*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* cond_execute: class_tid: 6, control.ing_rd_check:4350*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 6, control.l2_cache_cnt_check:4351*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* cond_execute: class_tid: 8, control.check_hot_upgrade:4352*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE + }, + /* cond_execute: class_tid: 8, control.hot_upgrade_cache_check:4354*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS @@ -22141,8 +23947,103 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, + /* class_tid: 1, , table: tunnel_gparse_cache.dynupar_tunnel_rd */ + { + .field_info_mask = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6} + } + }, + /* class_tid: 1, , table: tunnel_gparse_cache.dyn_upar_wr */ + { + .field_info_mask = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6} + } + }, /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */ { + .field_info_mask = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + { .field_info_mask = { .description = "tunnel_type", .field_bit_size = 8, @@ -22157,8 +24058,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (10 >> 8) & 0xff, - 10 & 0xff, + (18 >> 8) & 0xff, + 18 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -22169,6 +24070,25 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_wr */ { + .field_info_mask = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_port", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + { .field_info_mask = { .description = "tunnel_type", .field_bit_size = 8, @@ -22183,8 +24103,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (22 >> 8) & 0xff, - 22 & 0xff, + (30 >> 8) & 0xff, + 30 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -22217,6 +24137,44 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, + /* class_tid: 1, , table: table_scope_cache.tsid_ing_rd */ + { + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, + { + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ { .field_info_mask = { @@ -22354,8 +24312,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (40 >> 8) & 0xff, - 40 & 0xff, + (49 >> 8) & 0xff, + 49 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22370,8 +24328,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (42 >> 8) & 0xff, - 42 & 0xff, + (51 >> 8) & 0xff, + 51 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22412,8 +24370,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (44 >> 8) & 0xff, - 44 & 0xff, + (53 >> 8) & 0xff, + 53 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22428,8 +24386,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (46 >> 8) & 0xff, - 46 & 0xff, + (55 >> 8) & 0xff, + 55 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22446,8 +24404,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (48 >> 8) & 0xff, - 48 & 0xff, + (57 >> 8) & 0xff, + 57 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22462,8 +24420,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (50 >> 8) & 0xff, - 50 & 0xff, + (59 >> 8) & 0xff, + 59 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22480,8 +24438,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (52 >> 8) & 0xff, - 52 & 0xff, + (61 >> 8) & 0xff, + 61 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22496,8 +24454,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (54 >> 8) & 0xff, - 54 & 0xff, + (63 >> 8) & 0xff, + 63 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22514,8 +24472,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (56 >> 8) & 0xff, - 56 & 0xff, + (65 >> 8) & 0xff, + 65 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22530,8 +24488,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (58 >> 8) & 0xff, - 58 & 0xff, + (67 >> 8) & 0xff, + 67 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22548,8 +24506,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (60 >> 8) & 0xff, - 60 & 0xff, + (69 >> 8) & 0xff, + 69 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22564,8 +24522,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (62 >> 8) & 0xff, - 62 & 0xff, + (71 >> 8) & 0xff, + 71 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22632,8 +24590,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (65 >> 8) & 0xff, - 65 & 0xff, + (74 >> 8) & 0xff, + 74 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22648,8 +24606,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (67 >> 8) & 0xff, - 67 & 0xff, + (76 >> 8) & 0xff, + 76 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22666,8 +24624,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (69 >> 8) & 0xff, - 69 & 0xff, + (78 >> 8) & 0xff, + 78 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22682,8 +24640,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (71 >> 8) & 0xff, - 71 & 0xff, + (80 >> 8) & 0xff, + 80 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22700,8 +24658,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (73 >> 8) & 0xff, - 73 & 0xff, + (82 >> 8) & 0xff, + 82 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22716,8 +24674,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (75 >> 8) & 0xff, - 75 & 0xff, + (84 >> 8) & 0xff, + 84 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22734,8 +24692,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (77 >> 8) & 0xff, - 77 & 0xff, + (86 >> 8) & 0xff, + 86 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22750,8 +24708,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (79 >> 8) & 0xff, - 79 & 0xff, + (88 >> 8) & 0xff, + 88 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22768,8 +24726,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (81 >> 8) & 0xff, - 81 & 0xff, + (90 >> 8) & 0xff, + 90 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22784,8 +24742,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (83 >> 8) & 0xff, - 83 & 0xff, + (92 >> 8) & 0xff, + 92 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22802,8 +24760,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (85 >> 8) & 0xff, - 85 & 0xff, + (94 >> 8) & 0xff, + 94 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22818,8 +24776,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (87 >> 8) & 0xff, - 87 & 0xff, + (96 >> 8) & 0xff, + 96 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22836,8 +24794,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (89 >> 8) & 0xff, - 89 & 0xff, + (98 >> 8) & 0xff, + 98 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22852,8 +24810,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (91 >> 8) & 0xff, - 91 & 0xff, + (100 >> 8) & 0xff, + 100 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -22914,18 +24872,32 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { + (106 >> 8) & 0xff, + 106 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { + (107 >> 8) & 0xff, + 107 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } @@ -23240,8 +25212,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (98 >> 8) & 0xff, - 98 & 0xff, + (109 >> 8) & 0xff, + 109 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -23253,8 +25225,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (99 >> 8) & 0xff, - 99 & 0xff, + (110 >> 8) & 0xff, + 110 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_CONST @@ -23306,201 +25278,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 1} } }, - /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - /* class_tid: 1, , table: mac_addr_cache.l2_table_rd */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - { - .field_info_mask = { - .description = "tun_hdr", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tun_hdr", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "one_tag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "one_tag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "mac_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "mac_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, - BNXT_ULP_RF_IDX_O_DMAC & 0xff} - } - }, - { - .field_info_mask = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (102 >> 8) & 0xff, - 102 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (103 >> 8) & 0xff, - 103 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - (ULP_THOR2_SYM_CHAIN_META_VAL >> 24) & 0xff, - (ULP_THOR2_SYM_CHAIN_META_VAL >> 16) & 0xff, - (ULP_THOR2_SYM_CHAIN_META_VAL >> 8) & 0xff, - ULP_THOR2_SYM_CHAIN_META_VAL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */ + /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ { .field_info_mask = { .description = "etype", @@ -23618,23 +25396,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "addr0", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "addr0", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, - BNXT_ULP_RF_IDX_O_DMAC & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -23670,13 +25438,17 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "out_tun_hdr_type", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_NONE} }, .field_info_spec = { .description = "out_tun_hdr_type", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_NONE} } }, { @@ -23739,7 +25511,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_CHAIN_META_VAL >> 24) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL >> 16) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL >> 8) & 0xff, + ULP_THOR2_SYM_CHAIN_META_VAL & 0xff} } }, { @@ -23747,19 +25524,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + 0xff, + 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF & 0xff} } }, { @@ -23795,9 +25572,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "loopback", @@ -23813,8 +25588,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (108 >> 8) & 0xff, - 108 & 0xff, + (112 >> 8) & 0xff, + 112 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -23826,8 +25601,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (109 >> 8) & 0xff, - 109 & 0xff, + (113 >> 8) & 0xff, + 113 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_CONST @@ -23838,9 +25613,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "mpass_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 3} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mpass_cnt", @@ -23881,23 +25654,72 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 1} } }, - /* class_tid: 1, , table: mac_addr_cache.l2_table_wr */ + /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ { .field_info_mask = { .description = "svif", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { + (114 >> 8) & 0xff, + 114 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { + (115 >> 8) & 0xff, + 115 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + /* class_tid: 1, , table: mac_addr_cache.l2_table_rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (118 >> 8) & 0xff, + 118 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (119 >> 8) & 0xff, + 119 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } @@ -24002,8 +25824,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (110 >> 8) & 0xff, - 110 & 0xff, + (120 >> 8) & 0xff, + 120 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO @@ -24027,8 +25849,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (111 >> 8) & 0xff, - 111 & 0xff, + (121 >> 8) & 0xff, + 121 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -24054,56 +25876,63 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: proto_header_cache.rd */ + /* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (140 >> 8) & 0xff, - 140 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "mac_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { @@ -24112,1161 +25941,573 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff, 0xff, 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "mac_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "pad", + .field_bit_size = 65, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (143 >> 8) & 0xff, - 143 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "pad", + .field_bit_size = 65, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */ { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "l2_ivlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (498 >> 8) & 0xff, - 498 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ovlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ovlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, + .description = "two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, + .description = "two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_flags", - .field_bit_size = 9, + .description = "vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_flags", - .field_bit_size = 9, + .description = "vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, + .description = "addr1", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, + .description = "addr1", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (517 >> 8) & 0xff, - 517 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (66 >> 8) & 0xff, - 66 & 0xff} + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (525 >> 8) & 0xff, - 525 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (69 >> 8) & 0xff, - 69 & 0xff} + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (533 >> 8) & 0xff, - 533 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (72 >> 8) & 0xff, - 72 & 0xff} + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (541 >> 8) & 0xff, - 541 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (75 >> 8) & 0xff, - 75 & 0xff} + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (549 >> 8) & 0xff, - 549 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (78 >> 8) & 0xff, - 78 & 0xff} + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (557 >> 8) & 0xff, - 557 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (81 >> 8) & 0xff, - 81 & 0xff} + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (565 >> 8) & 0xff, - 565 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (84 >> 8) & 0xff, - 84 & 0xff} + .description = "out_tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (573 >> 8) & 0xff, - 573 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (87 >> 8) & 0xff, - 87 & 0xff} + .description = "out_tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_protocol", - .field_bit_size = 8, + .description = "llc", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3_protocol", - .field_bit_size = 8, + .description = "llc", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_isIP", + .description = "roce", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (581 >> 8) & 0xff, - 581 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (90 >> 8) & 0xff, - 90 & 0xff} + 1} }, .field_info_spec = { - .description = "l3_hdr_isIP", + .description = "roce", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (589 >> 8) & 0xff, - 589 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (93 >> 8) & 0xff, - 93 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (597 >> 8) & 0xff, - 597 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (96 >> 8) & 0xff, - 96 & 0xff} + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (605 >> 8) & 0xff, - 605 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (99 >> 8) & 0xff, - 99 & 0xff} + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (613 >> 8) & 0xff, - 613 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (102 >> 8) & 0xff, - 102 & 0xff} + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 24) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 16) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, + ULP_THOR2_SYM_CHAIN_META_VAL_MASK & 0xff} }, .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (621 >> 8) & 0xff, - 621 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (105 >> 8) & 0xff, - 105 & 0xff} + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { - (629 >> 8) & 0xff, - 629 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (108 >> 8) & 0xff, - 108 & 0xff} + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { - (637 >> 8) & 0xff, - 637 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (111 >> 8) & 0xff, - 111 & 0xff} + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, { .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "parif", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (645 >> 8) & 0xff, - 645 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (114 >> 8) & 0xff, - 114 & 0xff} + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "spif", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (651 >> 8) & 0xff, - 651 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (115 >> 8) & 0xff, - 115 & 0xff} + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "recycle_cnt", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (657 >> 8) & 0xff, - 657 & 0xff, + (130 >> 8) & 0xff, + 130 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "recycle_cnt", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (658 >> 8) & 0xff, - 658 & 0xff, + (131 >> 8) & 0xff, + 131 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_CONST } }, { .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (659 >> 8) & 0xff, - 659 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (116 >> 8) & 0xff, - 116 & 0xff} + 3} }, .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (663 >> 8) & 0xff, - 663 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (117 >> 8) & 0xff, - 117 & 0xff} + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "spare", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (667 >> 8) & 0xff, - 667 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (118 >> 8) & 0xff, - 118 & 0xff} + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_flags", - .field_bit_size = 8, + .description = "valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} }, .field_info_spec = { - .description = "tun_hdr_flags", - .field_bit_size = 8, + .description = "valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, + /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (671 >> 8) & 0xff, - 671 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (119 >> 8) & 0xff, - 119 & 0xff} + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (687 >> 8) & 0xff, - 687 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (125 >> 8) & 0xff, - 125 & 0xff} + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (703 >> 8) & 0xff, - 703 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (704 >> 8) & 0xff, - 704 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_valid", - .field_bit_size = 1, + .description = "l2_ivlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (705 >> 8) & 0xff, - 705 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (706 >> 8) & 0xff, - 706 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (131 >> 8) & 0xff, - 131 & 0xff} + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (710 >> 8) & 0xff, - 710 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (132 >> 8) & 0xff, - 132 & 0xff} + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (714 >> 8) & 0xff, - 714 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (133 >> 8) & 0xff, - 133 & 0xff} + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (718 >> 8) & 0xff, - 718 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (134 >> 8) & 0xff, - 134 & 0xff} + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_error", + .description = "two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (722 >> 8) & 0xff, - 722 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (135 >> 8) & 0xff, - 135 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_error", + .description = "two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (726 >> 8) & 0xff, - 726 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (136 >> 8) & 0xff, - 136 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_valid", + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (730 >> 8) & 0xff, - 730 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (137 >> 8) & 0xff, - 137 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_valid", + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (735 >> 8) & 0xff, - 735 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (139 >> 8) & 0xff, - 139 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, + .description = "addr1", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, + .description = "addr1", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (740 >> 8) & 0xff, - 740 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (141 >> 8) & 0xff, - 141 & 0xff} + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (744 >> 8) & 0xff, - 744 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (142 >> 8) & 0xff, - 142 & 0xff} + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (748 >> 8) & 0xff, - 748 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (143 >> 8) & 0xff, - 143 & 0xff} - }, - .field_info_spec = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (752 >> 8) & 0xff, - 752 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (144 >> 8) & 0xff, - 144 & 0xff} - } - }, - { - .field_info_mask = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (756 >> 8) & 0xff, - 756 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (145 >> 8) & 0xff, - 145 & 0xff} - } - }, - { - .field_info_mask = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (760 >> 8) & 0xff, - 760 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (763 >> 8) & 0xff, - 763 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (766 >> 8) & 0xff, - 766 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (767 >> 8) & 0xff, - 767 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (768 >> 8) & 0xff, - 768 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (146 >> 8) & 0xff, - 146 & 0xff} - } - }, - { - .field_info_mask = { - .description = "ot_hdr_flags", - .field_bit_size = 8, + .description = "tunnel_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "ot_hdr_flags", - .field_bit_size = 8, + .description = "tunnel_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "ot_hdr_type", + .description = "tun_hdr_type", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "ot_hdr_type", + .description = "tun_hdr_type", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25274,41 +26515,27 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "ot_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "ot_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "ot_hdr_valid", - .field_bit_size = 1, + .description = "out_tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "ot_hdr_valid", - .field_bit_size = 1, + .description = "out_tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl4_hdr_is_tcp_udp", + .description = "llc", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl4_hdr_is_tcp_udp", + .description = "llc", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25316,27 +26543,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "otl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "otl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "otl4_hdr_error", + .description = "roce", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} }, .field_info_spec = { - .description = "otl4_hdr_error", + .description = "roce", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25344,83 +26559,96 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, + .description = "l2ip_func", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, + .description = "l2ip_func", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, + .description = "metadata", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 24) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 16) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, + ULP_THOR2_SYM_CHAIN_META_VAL_MASK & 0xff} }, .field_info_spec = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, + .description = "metadata", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_type", - .field_bit_size = 4, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "otl3_hdr_type", - .field_bit_size = 4, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF & 0xff} } }, { .field_info_mask = { - .description = "otl3_hdr_error", - .field_bit_size = 1, + .description = "parif", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_error", - .field_bit_size = 1, + .description = "parif", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, + .description = "spif", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, + .description = "spif", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl2_two_vtags", + .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "otl2_two_vtags", + .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25428,27 +26656,42 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "recycle_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (133 >> 8) & 0xff, + 133 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "recycle_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (134 >> 8) & 0xff, + 134 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST } }, { .field_info_mask = { - .description = "otl2_uc_mc_bc", + .description = "mpass_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 3} }, .field_info_spec = { - .description = "otl2_uc_mc_bc", + .description = "mpass_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25456,13 +26699,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "otl2_hdr_type", + .description = "spare", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl2_hdr_type", + .description = "spare", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -25470,119 +26713,162 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "otl2_hdr_valid", + .description = "valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} }, .field_info_spec = { - .description = "otl2_hdr_valid", + .description = "valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, + /* class_tid: 1, , table: mac_addr_cache.l2_table_wr */ { .field_info_mask = { - .description = "int_ifa_tail", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (135 >> 8) & 0xff, + 135 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { - .description = "int_ifa_tail", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (136 >> 8) & 0xff, + 136 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, { .field_info_mask = { - .description = "int_hdr_group", - .field_bit_size = 2, + .description = "tun_hdr", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "int_hdr_group", - .field_bit_size = 2, + .description = "tun_hdr", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "one_tag", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "one_tag", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "mac_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "mac_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} } }, { .field_info_mask = { - .description = "l2ip_func_id", - .field_bit_size = 8, + .description = "etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "l2ip_func_id", - .field_bit_size = 8, + .description = "etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "agg_error", - .field_bit_size = 1, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "agg_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (137 >> 8) & 0xff, + 137 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -25603,3373 +26889,3210 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (772 >> 8) & 0xff, - 772 & 0xff, + (138 >> 8) & 0xff, + 138 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + (ULP_THOR2_SYM_CHAIN_META_VAL >> 24) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL >> 16) & 0xff, + (ULP_THOR2_SYM_CHAIN_META_VAL >> 8) & 0xff, + ULP_THOR2_SYM_CHAIN_META_VAL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "recycle_count", - .field_bit_size = 4, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_count", - .field_bit_size = 4, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 1, , table: proto_header_cache.rd */ { .field_info_mask = { - .description = "pkt_type", + .description = "group_metadata", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "pkt_type", + .description = "group_metadata", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (169 >> 8) & 0xff, + 169 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + { .field_info_mask = { - .description = "spare", - .field_bit_size = 2, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "spare", - .field_bit_size = 2, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "valid", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 1} + 0xff} }, .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - 1} + (172 >> 8) & 0xff, + 172 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "padding", - .field_bit_size = 72, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "padding", - .field_bit_size = 72, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, - /* class_tid: 1, , table: wm_key_recipe.0 */ + /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */ { .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (774 >> 8) & 0xff, - 774 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (776 >> 8) & 0xff, - 776 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_GLB_ID_WC_PROFILE_ID} } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "domain", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (778 >> 8) & 0xff, - 778 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "meta", - .field_bit_size = 32, + .description = "domain", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (780 >> 8) & 0xff, - 780 & 0xff, + (177 >> 8) & 0xff, + 177 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (782 >> 8) & 0xff, - 782 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (783 >> 8) & 0xff, - 783 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (784 >> 8) & 0xff, - 784 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (788 >> 8) & 0xff, - 788 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, { .field_info_mask = { - .description = "tl2_smac", + .description = "pad", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (792 >> 8) & 0xff, - 792 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_smac", + .description = "pad", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (796 >> 8) & 0xff, - 796 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (800 >> 8) & 0xff, - 800 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (805 >> 8) & 0xff, - 805 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (535 >> 8) & 0xff, + 535 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (810 >> 8) & 0xff, - 810 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (147 >> 8) & 0xff, - 147 & 0xff} + 0xff} }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (820 >> 8) & 0xff, - 820 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (148 >> 8) & 0xff, - 148 & 0xff} + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, + /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (830 >> 8) & 0xff, - 830 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (835 >> 8) & 0xff, - 835 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */ { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (840 >> 8) & 0xff, - 840 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (844 >> 8) & 0xff, - 844 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_GLB_ID_EM_PROFILE_ID} } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "domain", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (848 >> 8) & 0xff, - 848 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (149 >> 8) & 0xff, - 149 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (853 >> 8) & 0xff, - 853 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (150 >> 8) & 0xff, - 150 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "domain", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (858 >> 8) & 0xff, - 858 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (862 >> 8) & 0xff, - 862 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (556 >> 8) & 0xff, + 556 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (866 >> 8) & 0xff, - 866 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (870 >> 8) & 0xff, - 870 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (874 >> 8) & 0xff, - 874 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (151 >> 8) & 0xff, - 151 & 0xff} + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (882 >> 8) & 0xff, - 882 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (152 >> 8) & 0xff, - 152 & 0xff} + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, { .field_info_mask = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (890 >> 8) & 0xff, - 890 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (153 >> 8) & 0xff, - 153 & 0xff} + .description = "pad", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (898 >> 8) & 0xff, - 898 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (154 >> 8) & 0xff, - 154 & 0xff} + .description = "pad", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 1, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "tl3.qos", - .field_bit_size = 8, + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l4_hdr_flags", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l4_hdr_flags", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (906 >> 8) & 0xff, - 906 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (558 >> 8) & 0xff, + 558 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (155 >> 8) & 0xff, - 155 & 0xff} + (67 >> 8) & 0xff, + 67 & 0xff} }, .field_info_spec = { - .description = "tl3.qos", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (914 >> 8) & 0xff, - 914 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (566 >> 8) & 0xff, + 566 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (156 >> 8) & 0xff, - 156 & 0xff} + (70 >> 8) & 0xff, + 70 & 0xff} } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (922 >> 8) & 0xff, - 922 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (574 >> 8) & 0xff, + 574 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + (73 >> 8) & 0xff, + 73 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (157 >> 8) & 0xff, - 157 & 0xff} + (74 >> 8) & 0xff, + 74 & 0xff} }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (930 >> 8) & 0xff, - 930 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (586 >> 8) & 0xff, + 586 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + (78 >> 8) & 0xff, + 78 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (158 >> 8) & 0xff, - 158 & 0xff} + (79 >> 8) & 0xff, + 79 & 0xff} } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (938 >> 8) & 0xff, - 938 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (598 >> 8) & 0xff, + 598 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (159 >> 8) & 0xff, - 159 & 0xff} + (83 >> 8) & 0xff, + 83 & 0xff} }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (947 >> 8) & 0xff, - 947 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (606 >> 8) & 0xff, + 606 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (160 >> 8) & 0xff, - 160 & 0xff} + (86 >> 8) & 0xff, + 86 & 0xff} } }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (956 >> 8) & 0xff, - 956 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (614 >> 8) & 0xff, + 614 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + (89 >> 8) & 0xff, + 89 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (161 >> 8) & 0xff, - 161 & 0xff} + (90 >> 8) & 0xff, + 90 & 0xff} }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (962 >> 8) & 0xff, - 962 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (626 >> 8) & 0xff, + 626 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + (94 >> 8) & 0xff, + 94 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (162 >> 8) & 0xff, - 162 & 0xff} + (95 >> 8) & 0xff, + 95 & 0xff} } }, { .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (968 >> 8) & 0xff, - 968 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + (638 >> 8) & 0xff, + 638 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (163 >> 8) & 0xff, - 163 & 0xff} + (99 >> 8) & 0xff, + 99 & 0xff} }, .field_info_spec = { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (975 >> 8) & 0xff, - 975 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (648 >> 8) & 0xff, + 648 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (164 >> 8) & 0xff, - 164 & 0xff} + (103 >> 8) & 0xff, + 103 & 0xff} } }, { .field_info_mask = { - .description = "l2_smac", - .field_bit_size = 48, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (982 >> 8) & 0xff, - 982 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (658 >> 8) & 0xff, + 658 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + (107 >> 8) & 0xff, + 107 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (165 >> 8) & 0xff, - 165 & 0xff} + (108 >> 8) & 0xff, + 108 & 0xff} }, .field_info_spec = { - .description = "l2_smac", - .field_bit_size = 48, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (989 >> 8) & 0xff, - 989 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (670 >> 8) & 0xff, + 670 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + (112 >> 8) & 0xff, + 112 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (166 >> 8) & 0xff, - 166 & 0xff} + (113 >> 8) & 0xff, + 113 & 0xff} } }, { .field_info_mask = { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (996 >> 8) & 0xff, - 996 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + (682 >> 8) & 0xff, + 682 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (167 >> 8) & 0xff, - 167 & 0xff} + (117 >> 8) & 0xff, + 117 & 0xff} }, .field_info_spec = { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1005 >> 8) & 0xff, - 1005 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + (690 >> 8) & 0xff, + 690 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (168 >> 8) & 0xff, - 168 & 0xff} + (120 >> 8) & 0xff, + 120 & 0xff} } }, { .field_info_mask = { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1014 >> 8) & 0xff, - 1014 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (698 >> 8) & 0xff, + 698 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + (123 >> 8) & 0xff, + 123 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (169 >> 8) & 0xff, - 169 & 0xff} + (124 >> 8) & 0xff, + 124 & 0xff} }, .field_info_spec = { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1032 >> 8) & 0xff, - 1032 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (710 >> 8) & 0xff, + 710 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + (128 >> 8) & 0xff, + 128 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (172 >> 8) & 0xff, - 172 & 0xff} + (129 >> 8) & 0xff, + 129 & 0xff} } }, { .field_info_mask = { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1050 >> 8) & 0xff, - 1050 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (175 >> 8) & 0xff, - 175 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l2_etype", - .field_bit_size = 16, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1059 >> 8) & 0xff, - 1059 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (722 >> 8) & 0xff, + 722 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (176 >> 8) & 0xff, - 176 & 0xff} + (133 >> 8) & 0xff, + 133 & 0xff} } }, { .field_info_mask = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1068 >> 8) & 0xff, - 1068 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (177 >> 8) & 0xff, - 177 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1075 >> 8) & 0xff, - 1075 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (728 >> 8) & 0xff, + 728 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (178 >> 8) & 0xff, - 178 & 0xff} + (134 >> 8) & 0xff, + 134 & 0xff} } }, { .field_info_mask = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1082 >> 8) & 0xff, - 1082 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (179 >> 8) & 0xff, - 179 & 0xff} + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1089 >> 8) & 0xff, - 1089 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (180 >> 8) & 0xff, - 180 & 0xff} + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1096 >> 8) & 0xff, - 1096 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (181 >> 8) & 0xff, - 181 & 0xff} + (734 >> 8) & 0xff, + 734 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1103 >> 8) & 0xff, - 1103 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (182 >> 8) & 0xff, - 182 & 0xff} + (735 >> 8) & 0xff, + 735 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, + .description = "l2_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1110 >> 8) & 0xff, - 1110 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + (736 >> 8) & 0xff, + 736 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (183 >> 8) & 0xff, - 183 & 0xff} + (135 >> 8) & 0xff, + 135 & 0xff} }, .field_info_spec = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, + .description = "l2_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1117 >> 8) & 0xff, - 1117 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + (740 >> 8) & 0xff, + 740 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (184 >> 8) & 0xff, - 184 & 0xff} + (136 >> 8) & 0xff, + 136 & 0xff} } }, { .field_info_mask = { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1124 >> 8) & 0xff, - 1124 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (744 >> 8) & 0xff, + 744 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + (137 >> 8) & 0xff, + 137 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (185 >> 8) & 0xff, - 185 & 0xff} + (138 >> 8) & 0xff, + 138 & 0xff} }, .field_info_spec = { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1138 >> 8) & 0xff, - 1138 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (752 >> 8) & 0xff, + 752 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + (140 >> 8) & 0xff, + 140 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (188 >> 8) & 0xff, - 188 & 0xff} + (141 >> 8) & 0xff, + 141 & 0xff} } }, { .field_info_mask = { - .description = "l3.prot", + .description = "tun_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_flags", .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1152 >> 8) & 0xff, - 1152 & 0xff, + (760 >> 8) & 0xff, + 760 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (191 >> 8) & 0xff, - 191 & 0xff} + (143 >> 8) & 0xff, + 143 & 0xff} }, .field_info_spec = { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1176 >> 8) & 0xff, - 1176 & 0xff, + (777 >> 8) & 0xff, + 777 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_TCP}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (198 >> 8) & 0xff, - 198 & 0xff} + (150 >> 8) & 0xff, + 150 & 0xff} } }, { .field_info_mask = { - .description = "l3.qos", - .field_bit_size = 8, + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1200 >> 8) & 0xff, - 1200 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (205 >> 8) & 0xff, - 205 & 0xff} + (794 >> 8) & 0xff, + 794 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.qos", - .field_bit_size = 8, + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1214 >> 8) & 0xff, - 1214 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (208 >> 8) & 0xff, - 208 & 0xff} + (795 >> 8) & 0xff, + 795 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1228 >> 8) & 0xff, - 1228 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (211 >> 8) & 0xff, - 211 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l4.src", - .field_bit_size = 16, + .description = "tun_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1244 >> 8) & 0xff, - 1244 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (796 >> 8) & 0xff, + 796 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (215 >> 8) & 0xff, - 215 & 0xff} + ULP_THOR2_SYM_TUN_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1260 >> 8) & 0xff, - 1260 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + (797 >> 8) & 0xff, + 797 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (219 >> 8) & 0xff, - 219 & 0xff} + (157 >> 8) & 0xff, + 157 & 0xff} }, .field_info_spec = { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1276 >> 8) & 0xff, - 1276 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (801 >> 8) & 0xff, + 801 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (223 >> 8) & 0xff, - 223 & 0xff} + (158 >> 8) & 0xff, + 158 & 0xff} } }, - /* class_tid: 1, , table: proto_header_cache.wr */ { .field_info_mask = { - .description = "group_metadata", + .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (805 >> 8) & 0xff, + 805 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (159 >> 8) & 0xff, + 159 & 0xff} }, .field_info_spec = { - .description = "group_metadata", + .description = "tl4_hdr_type", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1292 >> 8) & 0xff, - 1292 & 0xff, + (809 >> 8) & 0xff, + 809 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (160 >> 8) & 0xff, + 160 & 0xff} } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (813 >> 8) & 0xff, + 813 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (161 >> 8) & 0xff, + 161 & 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (817 >> 8) & 0xff, + 817 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (162 >> 8) & 0xff, + 162 & 0xff} } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + (821 >> 8) & 0xff, + 821 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (163 >> 8) & 0xff, + 163 & 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + (826 >> 8) & 0xff, + 826 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (165 >> 8) & 0xff, + 165 & 0xff} } }, - /* class_tid: 1, , table: em_flow_conflict_cache.rd */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "group_metadata", + .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (831 >> 8) & 0xff, + 831 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (167 >> 8) & 0xff, + 167 & 0xff} }, .field_info_spec = { - .description = "group_metadata", + .description = "tl3_hdr_type", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1298 >> 8) & 0xff, - 1298 & 0xff, + (835 >> 8) & 0xff, + 835 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (168 >> 8) & 0xff, + 168 & 0xff} } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (839 >> 8) & 0xff, + 839 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (169 >> 8) & 0xff, + 169 & 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (843 >> 8) & 0xff, + 843 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (170 >> 8) & 0xff, + 170 & 0xff} } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "tl3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + (847 >> 8) & 0xff, + 847 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (171 >> 8) & 0xff, + 171 & 0xff} } }, - /* class_tid: 1, , table: em_key_recipe.0 */ { .field_info_mask = { - .description = "em_profile_id", - .field_bit_size = 8, + .description = "tl2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "em_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} - } - }, - { - .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + (851 >> 8) & 0xff, + 851 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1616 >> 8) & 0xff, - 1616 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 11, + .description = "tl2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1618 >> 8) & 0xff, - 1618 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + (854 >> 8) & 0xff, + 854 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1620 >> 8) & 0xff, - 1620 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "meta", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1622 >> 8) & 0xff, - 1622 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 4, + .description = "tl2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1624 >> 8) & 0xff, - 1624 & 0xff, + (857 >> 8) & 0xff, + 857 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 4, + .description = "tl2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1625 >> 8) & 0xff, - 1625 & 0xff, + (858 >> 8) & 0xff, + 858 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1626 >> 8) & 0xff, - 1626 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, + .description = "tl2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1631 >> 8) & 0xff, - 1631 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (859 >> 8) & 0xff, + 859 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TL2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (172 >> 8) & 0xff, + 172 & 0xff} } }, { .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1636 >> 8) & 0xff, - 1636 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1640 >> 8) & 0xff, - 1640 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1644 >> 8) & 0xff, - 1644 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1649 >> 8) & 0xff, - 1649 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1654 >> 8) & 0xff, - 1654 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (270 >> 8) & 0xff, - 270 & 0xff} + .description = "ot_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1664 >> 8) & 0xff, - 1664 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (271 >> 8) & 0xff, - 271 & 0xff} + .description = "ot_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1674 >> 8) & 0xff, - 1674 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1679 >> 8) & 0xff, - 1679 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "ot_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1684 >> 8) & 0xff, - 1684 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_is_tcp_udp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1688 >> 8) & 0xff, - 1688 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_is_tcp_udp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1692 >> 8) & 0xff, - 1692 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1696 >> 8) & 0xff, - 1696 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1700 >> 8) & 0xff, - 1700 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1704 >> 8) & 0xff, - 1704 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1708 >> 8) & 0xff, - 1708 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1712 >> 8) & 0xff, - 1712 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1716 >> 8) & 0xff, - 1716 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (272 >> 8) & 0xff, - 272 & 0xff} + .description = "otl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1724 >> 8) & 0xff, - 1724 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (273 >> 8) & 0xff, - 273 & 0xff} + .description = "otl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1732 >> 8) & 0xff, - 1732 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (274 >> 8) & 0xff, - 274 & 0xff} + .description = "otl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1740 >> 8) & 0xff, - 1740 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (275 >> 8) & 0xff, - 275 & 0xff} + .description = "otl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1748 >> 8) & 0xff, - 1748 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (276 >> 8) & 0xff, - 276 & 0xff} + .description = "otl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1756 >> 8) & 0xff, - 1756 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (277 >> 8) & 0xff, - 277 & 0xff} + .description = "otl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1764 >> 8) & 0xff, - 1764 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (278 >> 8) & 0xff, - 278 & 0xff} + .description = "otl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1772 >> 8) & 0xff, - 1772 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (279 >> 8) & 0xff, - 279 & 0xff} + .description = "otl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1780 >> 8) & 0xff, - 1780 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (280 >> 8) & 0xff, - 280 & 0xff} + .description = "otl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1789 >> 8) & 0xff, - 1789 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (281 >> 8) & 0xff, - 281 & 0xff} + .description = "otl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, + .description = "otl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "otl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "otl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2ip_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2ip_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (863 >> 8) & 0xff, + 863 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + } + }, + { + .field_info_mask = { + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 1, , table: wm_key_recipe.0 */ + { + .field_info_mask = { + .description = "wc_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "wc_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_cntxt_id", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1798 >> 8) & 0xff, - 1798 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (865 >> 8) & 0xff, + 865 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (282 >> 8) & 0xff, - 282 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, + .description = "l2_cntxt_id", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1804 >> 8) & 0xff, - 1804 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (867 >> 8) & 0xff, + 867 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (283 >> 8) & 0xff, - 283 & 0xff} + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (869 >> 8) & 0xff, + 869 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (871 >> 8) & 0xff, + 871 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "rcyc_cnt", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1810 >> 8) & 0xff, - 1810 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (873 >> 8) & 0xff, + 873 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (284 >> 8) & 0xff, - 284 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_dmac", + .description = "rcyc_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (874 >> 8) & 0xff, + 874 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_dmac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1819 >> 8) & 0xff, - 1819 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (875 >> 8) & 0xff, + 875 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (285 >> 8) & 0xff, - 285 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (879 >> 8) & 0xff, + 879 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_smac", + .description = "tl2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1828 >> 8) & 0xff, - 1828 & 0xff, + (883 >> 8) & 0xff, + 883 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (286 >> 8) & 0xff, - 286 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_smac", + .description = "tl2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1835 >> 8) & 0xff, - 1835 & 0xff, + (887 >> 8) & 0xff, + 887 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (287 >> 8) & 0xff, - 287 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ovv", + .description = "tl2_ovv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1842 >> 8) & 0xff, - 1842 & 0xff, + (891 >> 8) & 0xff, + 891 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (288 >> 8) & 0xff, - 288 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_ovv", + .description = "tl2_ovv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1851 >> 8) & 0xff, - 1851 & 0xff, + (896 >> 8) & 0xff, + 896 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (289 >> 8) & 0xff, - 289 & 0xff} + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ivv", + .description = "tl2_ivv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1860 >> 8) & 0xff, - 1860 & 0xff, + (901 >> 8) & 0xff, + 901 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (290 >> 8) & 0xff, - 290 & 0xff} + (173 >> 8) & 0xff, + 173 & 0xff} }, .field_info_spec = { - .description = "l2_ivv", + .description = "tl2_ivv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1878 >> 8) & 0xff, - 1878 & 0xff, + (911 >> 8) & 0xff, + 911 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (293 >> 8) & 0xff, - 293 & 0xff} + (174 >> 8) & 0xff, + 174 & 0xff} } }, { .field_info_mask = { - .description = "l2_etype", + .description = "tl2_etype", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1896 >> 8) & 0xff, - 1896 & 0xff, + (921 >> 8) & 0xff, + 921 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (296 >> 8) & 0xff, - 296 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_etype", + .description = "tl2_etype", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1905 >> 8) & 0xff, - 1905 & 0xff, + (926 >> 8) & 0xff, + 926 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (297 >> 8) & 0xff, - 297 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.sip.ipv4", + .description = "tl3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1914 >> 8) & 0xff, - 1914 & 0xff, + (931 >> 8) & 0xff, + 931 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (298 >> 8) & 0xff, - 298 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.sip.ipv4", + .description = "tl3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1921 >> 8) & 0xff, - 1921 & 0xff, + (935 >> 8) & 0xff, + 935 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (299 >> 8) & 0xff, - 299 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.sip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1928 >> 8) & 0xff, - 1928 & 0xff, + (939 >> 8) & 0xff, + 939 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (300 >> 8) & 0xff, - 300 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (175 >> 8) & 0xff, + 175 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.sip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1935 >> 8) & 0xff, - 1935 & 0xff, + (944 >> 8) & 0xff, + 944 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (301 >> 8) & 0xff, - 301 & 0xff} + (176 >> 8) & 0xff, + 176 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.dip.ipv4", + .description = "tl3.dip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1942 >> 8) & 0xff, - 1942 & 0xff, + (949 >> 8) & 0xff, + 949 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (302 >> 8) & 0xff, - 302 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.dip.ipv4", + .description = "tl3.dip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1949 >> 8) & 0xff, - 1949 & 0xff, + (953 >> 8) & 0xff, + 953 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (303 >> 8) & 0xff, - 303 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.dip.ipv6", + .description = "tl3.dip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1956 >> 8) & 0xff, - 1956 & 0xff, + (957 >> 8) & 0xff, + 957 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (304 >> 8) & 0xff, - 304 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.dip.ipv6", + .description = "tl3.dip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1963 >> 8) & 0xff, - 1963 & 0xff, + (961 >> 8) & 0xff, + 961 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (305 >> 8) & 0xff, - 305 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1970 >> 8) & 0xff, - 1970 & 0xff, + (965 >> 8) & 0xff, + 965 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (306 >> 8) & 0xff, - 306 & 0xff} + (177 >> 8) & 0xff, + 177 & 0xff} }, .field_info_spec = { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1984 >> 8) & 0xff, - 1984 & 0xff, + (973 >> 8) & 0xff, + 973 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (309 >> 8) & 0xff, - 309 & 0xff} + (178 >> 8) & 0xff, + 178 & 0xff} } }, { .field_info_mask = { - .description = "l3.prot", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1998 >> 8) & 0xff, - 1998 & 0xff, + (981 >> 8) & 0xff, + 981 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (312 >> 8) & 0xff, - 312 & 0xff} + (179 >> 8) & 0xff, + 179 & 0xff} }, .field_info_spec = { - .description = "l3.prot", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2012 >> 8) & 0xff, - 2012 & 0xff, + (989 >> 8) & 0xff, + 989 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (315 >> 8) & 0xff, - 315 & 0xff} + (180 >> 8) & 0xff, + 180 & 0xff} } }, { .field_info_mask = { - .description = "l3.qos", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2026 >> 8) & 0xff, - 2026 & 0xff, + (997 >> 8) & 0xff, + 997 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (318 >> 8) & 0xff, - 318 & 0xff} + (181 >> 8) & 0xff, + 181 & 0xff} }, .field_info_spec = { - .description = "l3.qos", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2040 >> 8) & 0xff, - 2040 & 0xff, + (1005 >> 8) & 0xff, + 1005 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (321 >> 8) & 0xff, - 321 & 0xff} + (182 >> 8) & 0xff, + 182 & 0xff} } }, { .field_info_mask = { - .description = "l4.src", + .description = "tl4.src", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2054 >> 8) & 0xff, - 2054 & 0xff, + (1013 >> 8) & 0xff, + 1013 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (324 >> 8) & 0xff, - 324 & 0xff} + (183 >> 8) & 0xff, + 183 & 0xff} }, .field_info_spec = { - .description = "l4.src", + .description = "tl4.src", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2068 >> 8) & 0xff, - 2068 & 0xff, + (1021 >> 8) & 0xff, + 1021 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (327 >> 8) & 0xff, - 327 & 0xff} + (184 >> 8) & 0xff, + 184 & 0xff} } }, { .field_info_mask = { - .description = "l4.dst", + .description = "tl4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2082 >> 8) & 0xff, - 2082 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (1029 >> 8) & 0xff, + 1029 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (330 >> 8) & 0xff, - 330 & 0xff} + (185 >> 8) & 0xff, + 185 & 0xff} }, .field_info_spec = { - .description = "l4.dst", + .description = "tl4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2096 >> 8) & 0xff, - 2096 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1038 >> 8) & 0xff, + 1038 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (333 >> 8) & 0xff, - 333 & 0xff} - } - }, - /* class_tid: 1, , table: em_flow_conflict_cache.wr */ - { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + (186 >> 8) & 0xff, + 186 & 0xff} } }, { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2110 >> 8) & 0xff, - 2110 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + (1047 >> 8) & 0xff, + 1047 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} - } - }, - { - .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} - } - }, - /* class_tid: 2, , table: port_table.get_def_rd */ - { - .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} - } - }, - /* class_tid: 2, , table: l2_cntxt_tcam_cache.def_rd */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - /* class_tid: 2, , table: multi_flow_tunnel_cache.rd */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (187 >> 8) & 0xff, + 187 & 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (1053 >> 8) & 0xff, + 1053 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (188 >> 8) & 0xff, + 188 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1059 >> 8) & 0xff, + 1059 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (189 >> 8) & 0xff, + 189 & 0xff} }, .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1063 >> 8) & 0xff, + 1063 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, .field_opr2 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_SRV6_T_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_SRV6_T_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (190 >> 8) & 0xff, + 190 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_smac", + .description = "l2_dmac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2149 >> 8) & 0xff, - 2149 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1067 >> 8) & 0xff, + 1067 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (191 >> 8) & 0xff, + 191 & 0xff} }, .field_info_spec = { - .description = "tunnel_smac", + .description = "l2_dmac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2151 >> 8) & 0xff, - 2151 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1074 >> 8) & 0xff, + 1074 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (192 >> 8) & 0xff, + 192 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dmac", + .description = "l2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2153 >> 8) & 0xff, - 2153 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1081 >> 8) & 0xff, + 1081 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (193 >> 8) & 0xff, + 193 & 0xff} }, .field_info_spec = { - .description = "tunnel_dmac", + .description = "l2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2155 >> 8) & 0xff, - 2155 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1088 >> 8) & 0xff, + 1088 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (194 >> 8) & 0xff, + 194 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2157 >> 8) & 0xff, - 2157 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1095 >> 8) & 0xff, + 1095 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (195 >> 8) & 0xff, + 195 & 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2159 >> 8) & 0xff, - 2159 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1104 >> 8) & 0xff, + 1104 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (196 >> 8) & 0xff, + 196 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2161 >> 8) & 0xff, - 2161 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1113 >> 8) & 0xff, + 1113 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (197 >> 8) & 0xff, + 197 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2163 >> 8) & 0xff, - 2163 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1131 >> 8) & 0xff, + 1131 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (200 >> 8) & 0xff, + 200 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2165 >> 8) & 0xff, - 2165 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1149 >> 8) & 0xff, + 1149 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (203 >> 8) & 0xff, + 203 & 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2167 >> 8) & 0xff, - 2167 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1158 >> 8) & 0xff, + 1158 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (204 >> 8) & 0xff, + 204 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v4", + .description = "l3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2169 >> 8) & 0xff, - 2169 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1167 >> 8) & 0xff, + 1167 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (205 >> 8) & 0xff, + 205 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v4", + .description = "l3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2171 >> 8) & 0xff, - 2171 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1174 >> 8) & 0xff, + 1174 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (206 >> 8) & 0xff, + 206 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sport", - .field_bit_size = 16, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2173 >> 8) & 0xff, - 2173 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1181 >> 8) & 0xff, + 1181 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (207 >> 8) & 0xff, + 207 & 0xff} }, .field_info_spec = { - .description = "tunnel_sport", - .field_bit_size = 16, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2175 >> 8) & 0xff, - 2175 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1188 >> 8) & 0xff, + 1188 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 2, , table: multi_flow_tunnel_cache.wr */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - { - .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, - .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (208 >> 8) & 0xff, + 208 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_smac", - .field_bit_size = 48, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2178 >> 8) & 0xff, - 2178 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1195 >> 8) & 0xff, + 1195 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (209 >> 8) & 0xff, + 209 & 0xff} }, .field_info_spec = { - .description = "tunnel_smac", - .field_bit_size = 48, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2180 >> 8) & 0xff, - 2180 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1202 >> 8) & 0xff, + 1202 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (210 >> 8) & 0xff, + 210 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dmac", - .field_bit_size = 48, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2182 >> 8) & 0xff, - 2182 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1209 >> 8) & 0xff, + 1209 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (211 >> 8) & 0xff, + 211 & 0xff} }, .field_info_spec = { - .description = "tunnel_dmac", - .field_bit_size = 48, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2184 >> 8) & 0xff, - 2184 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1216 >> 8) & 0xff, + 1216 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (212 >> 8) & 0xff, + 212 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2186 >> 8) & 0xff, - 2186 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1223 >> 8) & 0xff, + 1223 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (213 >> 8) & 0xff, + 213 & 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2188 >> 8) & 0xff, - 2188 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1237 >> 8) & 0xff, + 1237 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (216 >> 8) & 0xff, + 216 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2190 >> 8) & 0xff, - 2190 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1251 >> 8) & 0xff, + 1251 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (219 >> 8) & 0xff, + 219 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2192 >> 8) & 0xff, - 2192 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (1275 >> 8) & 0xff, + 1275 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR2_SYM_IP_PROTO_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (226 >> 8) & 0xff, + 226 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2194 >> 8) & 0xff, - 2194 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1299 >> 8) & 0xff, + 1299 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (233 >> 8) & 0xff, + 233 & 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2196 >> 8) & 0xff, - 2196 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1313 >> 8) & 0xff, + 1313 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (236 >> 8) & 0xff, + 236 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2198 >> 8) & 0xff, - 2198 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1327 >> 8) & 0xff, + 1327 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (239 >> 8) & 0xff, + 239 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2200 >> 8) & 0xff, - 2200 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1343 >> 8) & 0xff, + 1343 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (243 >> 8) & 0xff, + 243 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sport", + .description = "l4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2202 >> 8) & 0xff, - 2202 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1359 >> 8) & 0xff, + 1359 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (247 >> 8) & 0xff, + 247 & 0xff} }, .field_info_spec = { - .description = "tunnel_sport", + .description = "l4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2204 >> 8) & 0xff, - 2204 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1375 >> 8) & 0xff, + 1375 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 2, , table: flow_chain_cache.group_check */ - { - .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_GROUP_ID & 0xff} - } - }, - /* class_tid: 2, , table: flow_chain_cache.write */ - { - .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (251 >> 8) & 0xff, + 251 & 0xff} } }, - /* class_tid: 2, , table: proto_header_cache.rd */ + /* class_tid: 1, , table: proto_header_cache.wr */ { .field_info_mask = { .description = "group_metadata", @@ -28985,8 +30108,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2216 >> 8) & 0xff, - 2216 & 0xff, + (1392 >> 8) & 0xff, + 1392 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -29041,7 +30164,21 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ + /* class_tid: 1, , table: em_flow_conflict_cache.rd */ + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { .field_info_mask = { .description = "group_metadata", @@ -29057,8 +30194,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2219 >> 8) & 0xff, - 2219 & 0xff, + (1400 >> 8) & 0xff, + 1400 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -29087,7 +30224,6 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { .description = "hdr_bitmap", @@ -29110,1016 +30246,1195 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ + /* class_tid: 1, , table: em_key_recipe.0 */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "em_profile_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "em_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (2577 >> 8) & 0xff, - 2577 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1722 >> 8) & 0xff, + 1722 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (1724 >> 8) & 0xff, + 1724 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + (1726 >> 8) & 0xff, + 1726 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + (1728 >> 8) & 0xff, + 1728 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, - /* class_tid: 2, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "rcyc_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1730 >> 8) & 0xff, + 1730 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "rcyc_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1731 >> 8) & 0xff, + 1731 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1732 >> 8) & 0xff, + 1732 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1737 >> 8) & 0xff, + 1737 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1742 >> 8) & 0xff, + 1742 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1746 >> 8) & 0xff, + 1746 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2596 >> 8) & 0xff, - 2596 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1750 >> 8) & 0xff, + 1750 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (397 >> 8) & 0xff, - 397 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2604 >> 8) & 0xff, - 2604 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1755 >> 8) & 0xff, + 1755 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (400 >> 8) & 0xff, - 400 & 0xff} + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2612 >> 8) & 0xff, - 2612 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1760 >> 8) & 0xff, + 1760 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (403 >> 8) & 0xff, - 403 & 0xff} + (299 >> 8) & 0xff, + 299 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2620 >> 8) & 0xff, - 2620 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1770 >> 8) & 0xff, + 1770 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (406 >> 8) & 0xff, - 406 & 0xff} + (300 >> 8) & 0xff, + 300 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tl2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2628 >> 8) & 0xff, - 2628 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1780 >> 8) & 0xff, + 1780 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (409 >> 8) & 0xff, - 409 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tl2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2636 >> 8) & 0xff, - 2636 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (412 >> 8) & 0xff, - 412 & 0xff} + (1785 >> 8) & 0xff, + 1785 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "tl3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2644 >> 8) & 0xff, - 2644 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1790 >> 8) & 0xff, + 1790 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (415 >> 8) & 0xff, - 415 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "tl3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2652 >> 8) & 0xff, - 2652 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1794 >> 8) & 0xff, + 1794 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (418 >> 8) & 0xff, - 418 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3_protocol", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1798 >> 8) & 0xff, + 1798 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3_protocol", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1802 >> 8) & 0xff, + 1802 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "tl3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2660 >> 8) & 0xff, - 2660 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1806 >> 8) & 0xff, + 1806 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (421 >> 8) & 0xff, - 421 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "tl3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2668 >> 8) & 0xff, - 2668 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1810 >> 8) & 0xff, + 1810 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (424 >> 8) & 0xff, - 424 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "tl3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2676 >> 8) & 0xff, - 2676 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1814 >> 8) & 0xff, + 1814 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (427 >> 8) & 0xff, - 427 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "tl3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2684 >> 8) & 0xff, - 2684 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1818 >> 8) & 0xff, + 1818 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (430 >> 8) & 0xff, - 430 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "tl3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2692 >> 8) & 0xff, - 2692 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1822 >> 8) & 0xff, + 1822 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (433 >> 8) & 0xff, - 433 & 0xff} + (301 >> 8) & 0xff, + 301 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "tl3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2700 >> 8) & 0xff, - 2700 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1830 >> 8) & 0xff, + 1830 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (436 >> 8) & 0xff, - 436 & 0xff} + (302 >> 8) & 0xff, + 302 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "tl3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2708 >> 8) & 0xff, - 2708 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1838 >> 8) & 0xff, + 1838 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (439 >> 8) & 0xff, - 439 & 0xff} + (303 >> 8) & 0xff, + 303 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "tl3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2716 >> 8) & 0xff, - 2716 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1846 >> 8) & 0xff, + 1846 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (442 >> 8) & 0xff, - 442 & 0xff} + (304 >> 8) & 0xff, + 304 & 0xff} } }, { .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1854 >> 8) & 0xff, + 1854 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (305 >> 8) & 0xff, + 305 & 0xff} }, .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "tl3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2724 >> 8) & 0xff, - 2724 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1862 >> 8) & 0xff, + 1862 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (445 >> 8) & 0xff, - 445 & 0xff} + (306 >> 8) & 0xff, + 306 & 0xff} } }, { .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1870 >> 8) & 0xff, + 1870 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (307 >> 8) & 0xff, + 307 & 0xff} }, .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2730 >> 8) & 0xff, - 2730 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1878 >> 8) & 0xff, + 1878 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (446 >> 8) & 0xff, - 446 & 0xff} + (308 >> 8) & 0xff, + 308 & 0xff} } }, { .field_info_mask = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1886 >> 8) & 0xff, + 1886 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (309 >> 8) & 0xff, + 309 & 0xff} }, .field_info_spec = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1895 >> 8) & 0xff, + 1895 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (310 >> 8) & 0xff, + 310 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2736 >> 8) & 0xff, - 2736 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (1904 >> 8) & 0xff, + 1904 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (311 >> 8) & 0xff, + 311 & 0xff} }, .field_info_spec = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2737 >> 8) & 0xff, - 2737 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1910 >> 8) & 0xff, + 1910 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (312 >> 8) & 0xff, + 312 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2738 >> 8) & 0xff, - 2738 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1916 >> 8) & 0xff, + 1916 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (447 >> 8) & 0xff, - 447 & 0xff} + (313 >> 8) & 0xff, + 313 & 0xff} }, .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2742 >> 8) & 0xff, - 2742 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1920 >> 8) & 0xff, + 1920 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { + (BNXT_ULP_CF_IDX_SRV6_T_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_SRV6_T_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (448 >> 8) & 0xff, - 448 & 0xff} + (314 >> 8) & 0xff, + 314 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1924 >> 8) & 0xff, + 1924 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (315 >> 8) & 0xff, + 315 & 0xff} }, .field_info_spec = { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2746 >> 8) & 0xff, - 2746 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1933 >> 8) & 0xff, + 1933 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L2_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (449 >> 8) & 0xff, - 449 & 0xff} - } - }, - { - .field_info_mask = { - .description = "tun_hdr_flags", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tun_hdr_flags", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + (316 >> 8) & 0xff, + 316 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2750 >> 8) & 0xff, - 2750 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1942 >> 8) & 0xff, + 1942 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (450 >> 8) & 0xff, - 450 & 0xff} + (317 >> 8) & 0xff, + 317 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2762 >> 8) & 0xff, - 2762 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1949 >> 8) & 0xff, + 1949 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (455 >> 8) & 0xff, - 455 & 0xff} + (318 >> 8) & 0xff, + 318 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2774 >> 8) & 0xff, - 2774 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (1956 >> 8) & 0xff, + 1956 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (319 >> 8) & 0xff, + 319 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2775 >> 8) & 0xff, - 2775 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1965 >> 8) & 0xff, + 1965 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (320 >> 8) & 0xff, + 320 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1974 >> 8) & 0xff, + 1974 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (321 >> 8) & 0xff, + 321 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_valid", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2776 >> 8) & 0xff, - 2776 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1992 >> 8) & 0xff, + 1992 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (324 >> 8) & 0xff, + 324 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2777 >> 8) & 0xff, - 2777 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2010 >> 8) & 0xff, + 2010 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (460 >> 8) & 0xff, - 460 & 0xff} + (327 >> 8) & 0xff, + 327 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2781 >> 8) & 0xff, - 2781 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2019 >> 8) & 0xff, + 2019 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (461 >> 8) & 0xff, - 461 & 0xff} + (328 >> 8) & 0xff, + 328 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_type", - .field_bit_size = 4, + .description = "l3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2785 >> 8) & 0xff, - 2785 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2028 >> 8) & 0xff, + 2028 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (462 >> 8) & 0xff, - 462 & 0xff} + (329 >> 8) & 0xff, + 329 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_type", - .field_bit_size = 4, + .description = "l3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2789 >> 8) & 0xff, - 2789 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (2035 >> 8) & 0xff, + 2035 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (463 >> 8) & 0xff, - 463 & 0xff} + (330 >> 8) & 0xff, + 330 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_error", - .field_bit_size = 1, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2793 >> 8) & 0xff, - 2793 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2042 >> 8) & 0xff, + 2042 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (464 >> 8) & 0xff, - 464 & 0xff} + (331 >> 8) & 0xff, + 331 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_error", - .field_bit_size = 1, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2797 >> 8) & 0xff, - 2797 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (2049 >> 8) & 0xff, + 2049 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (465 >> 8) & 0xff, - 465 & 0xff} + (332 >> 8) & 0xff, + 332 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2801 >> 8) & 0xff, - 2801 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2056 >> 8) & 0xff, + 2056 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (466 >> 8) & 0xff, - 466 & 0xff} + (333 >> 8) & 0xff, + 333 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2806 >> 8) & 0xff, - 2806 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2063 >> 8) & 0xff, + 2063 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (468 >> 8) & 0xff, - 468 & 0xff} + (334 >> 8) & 0xff, + 334 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2811 >> 8) & 0xff, - 2811 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2070 >> 8) & 0xff, + 2070 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (470 >> 8) & 0xff, - 470 & 0xff} + (335 >> 8) & 0xff, + 335 & 0xff} }, .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2815 >> 8) & 0xff, - 2815 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2077 >> 8) & 0xff, + 2077 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_ISIP_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (471 >> 8) & 0xff, - 471 & 0xff} + (336 >> 8) & 0xff, + 336 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2819 >> 8) & 0xff, - 2819 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2084 >> 8) & 0xff, + 2084 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (472 >> 8) & 0xff, - 472 & 0xff} + (337 >> 8) & 0xff, + 337 & 0xff} }, .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2823 >> 8) & 0xff, - 2823 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2098 >> 8) & 0xff, + 2098 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6}, + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (473 >> 8) & 0xff, - 473 & 0xff} + (340 >> 8) & 0xff, + 340 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_error", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2827 >> 8) & 0xff, - 2827 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2112 >> 8) & 0xff, + 2112 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (474 >> 8) & 0xff, - 474 & 0xff} + (343 >> 8) & 0xff, + 343 & 0xff} }, .field_info_spec = { - .description = "tl3_hdr_error", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2831 >> 8) & 0xff, - 2831 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (2126 >> 8) & 0xff, + 2126 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (475 >> 8) & 0xff, - 475 & 0xff} + (346 >> 8) & 0xff, + 346 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (2140 >> 8) & 0xff, + 2140 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (349 >> 8) & 0xff, + 349 & 0xff} }, .field_info_spec = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2835 >> 8) & 0xff, - 2835 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2154 >> 8) & 0xff, + 2154 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (476 >> 8) & 0xff, - 476 & 0xff} + (352 >> 8) & 0xff, + 352 & 0xff} } }, { .field_info_mask = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (2168 >> 8) & 0xff, + 2168 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (355 >> 8) & 0xff, + 355 & 0xff} }, .field_info_spec = { - .description = "tl2_two_vtags", - .field_bit_size = 1, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2839 >> 8) & 0xff, - 2839 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2182 >> 8) & 0xff, + 2182 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (358 >> 8) & 0xff, + 358 & 0xff} } }, { .field_info_mask = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (2196 >> 8) & 0xff, + 2196 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (361 >> 8) & 0xff, + 361 & 0xff} }, .field_info_spec = { - .description = "tl2_vtag_present", - .field_bit_size = 1, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2842 >> 8) & 0xff, - 2842 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2210 >> 8) & 0xff, + 2210 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (364 >> 8) & 0xff, + 364 & 0xff} } }, + /* class_tid: 1, , table: em_flow_conflict_cache.wr */ { .field_info_mask = { - .description = "tl2_uc_mc_bc", + .description = "recycle_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_uc_mc_bc", + .description = "recycle_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -30127,418 +31442,850 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2845 >> 8) & 0xff, - 2845 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2846 >> 8) & 0xff, - 2846 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2847 >> 8) & 0xff, - 2847 & 0xff, + (2224 >> 8) & 0xff, + 2224 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_TL2_HDR_VALID_YES}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "ot_hdr_flags", + .description = "prof_func_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "ot_hdr_flags", + .description = "prof_func_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "ot_hdr_type", - .field_bit_size = 5, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "ot_hdr_type", - .field_bit_size = 5, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 1, , table: hot_upgrade_tcam_cache.wr */ { .field_info_mask = { - .description = "ot_hdr_error", - .field_bit_size = 1, + .description = "tcam_id", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "ot_hdr_error", - .field_bit_size = 1, + .description = "tcam_id", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 & 0xff} } }, + /* class_tid: 2, , table: port_table.get_def_rd */ { .field_info_mask = { - .description = "ot_hdr_valid", - .field_bit_size = 1, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { - .description = "ot_hdr_valid", - .field_bit_size = 1, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, + /* class_tid: 2, , table: l2_cntxt_tcam_cache.def_rd */ { .field_info_mask = { - .description = "otl4_hdr_is_tcp_udp", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_is_tcp_udp", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, + /* class_tid: 2, , table: multi_flow_tunnel_cache.rd */ { .field_info_mask = { - .description = "otl4_hdr_type", - .field_bit_size = 4, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_type", - .field_bit_size = 4, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, { .field_info_mask = { - .description = "otl4_hdr_error", - .field_bit_size = 1, + .description = "tunnel_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "otl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2270 >> 8) & 0xff, + 2270 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2272 >> 8) & 0xff, + 2272 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2274 >> 8) & 0xff, + 2274 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2276 >> 8) & 0xff, + 2276 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2278 >> 8) & 0xff, + 2278 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2280 >> 8) & 0xff, + 2280 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2282 >> 8) & 0xff, + 2282 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2284 >> 8) & 0xff, + 2284 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2286 >> 8) & 0xff, + 2286 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2288 >> 8) & 0xff, + 2288 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2290 >> 8) & 0xff, + 2290 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2292 >> 8) & 0xff, + 2292 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2294 >> 8) & 0xff, + 2294 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2296 >> 8) & 0xff, + 2296 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 2, , table: multi_flow_tunnel_cache.wr */ { .field_info_mask = { - .description = "otl2_uc_mc_bc", - .field_bit_size = 2, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} }, .field_info_spec = { - .description = "otl2_uc_mc_bc", - .field_bit_size = 2, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} } }, { .field_info_mask = { - .description = "otl2_hdr_type", - .field_bit_size = 2, + .description = "tunnel_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "otl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "otl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2299 >> 8) & 0xff, + 2299 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "otl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2301 >> 8) & 0xff, + 2301 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_ifa_tail", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2303 >> 8) & 0xff, + 2303 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "int_ifa_tail", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2305 >> 8) & 0xff, + 2305 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_hdr_group", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2307 >> 8) & 0xff, + 2307 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "int_hdr_group", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2309 >> 8) & 0xff, + 2309 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2311 >> 8) & 0xff, + 2311 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2313 >> 8) & 0xff, + 2313 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2315 >> 8) & 0xff, + 2315 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2317 >> 8) & 0xff, + 2317 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2319 >> 8) & 0xff, + 2319 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2321 >> 8) & 0xff, + 2321 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2323 >> 8) & 0xff, + 2323 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2325 >> 8) & 0xff, + 2325 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 2, , table: flow_chain_cache.group_check */ + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} } }, + /* class_tid: 2, , table: flow_chain_cache.write */ { .field_info_mask = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} } }, + /* class_tid: 2, , table: proto_header_cache.rd */ { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (2337 >> 8) & 0xff, + 2337 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2ip_func_id", + .description = "prof_func_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2ip_func_id", + .description = "prof_func_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "agg_error", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "agg_error", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "metadata", - .field_bit_size = 32, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "metadata", - .field_bit_size = 32, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2849 >> 8) & 0xff, - 2849 & 0xff, + (2340 >> 8) & 0xff, + 2340 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -30550,591 +32297,664 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "recycle_count", - .field_bit_size = 4, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "recycle_count", - .field_bit_size = 4, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "pkt_type", - .field_bit_size = 4, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "pkt_type", - .field_bit_size = 4, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2698 >> 8) & 0xff, + 2698 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "spare", - .field_bit_size = 2, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "spare", - .field_bit_size = 2, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "valid", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 1} + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "valid", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - 1} + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, + /* class_tid: 2, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "padding", - .field_bit_size = 72, + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "padding", - .field_bit_size = 72, + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: wm_key_recipe.0 */ { .field_info_mask = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "l4_hdr_flags", + .field_bit_size = 9, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "l4_hdr_flags", + .field_bit_size = 9, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 11, + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2851 >> 8) & 0xff, - 2851 & 0xff, + (2717 >> 8) & 0xff, + 2717 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (428 >> 8) & 0xff, + 428 & 0xff} }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 11, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2853 >> 8) & 0xff, - 2853 & 0xff, + (2725 >> 8) & 0xff, + 2725 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (431 >> 8) & 0xff, + 431 & 0xff} } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2855 >> 8) & 0xff, - 2855 & 0xff, + (2733 >> 8) & 0xff, + 2733 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (434 >> 8) & 0xff, + 434 & 0xff} }, .field_info_spec = { - .description = "meta", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2857 >> 8) & 0xff, - 2857 & 0xff, + (2741 >> 8) & 0xff, + 2741 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (437 >> 8) & 0xff, + 437 & 0xff} } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 4, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2859 >> 8) & 0xff, - 2859 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (2749 >> 8) & 0xff, + 2749 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (440 >> 8) & 0xff, + 440 & 0xff} }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 4, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2860 >> 8) & 0xff, - 2860 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2757 >> 8) & 0xff, + 2757 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (443 >> 8) & 0xff, + 443 & 0xff} } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2861 >> 8) & 0xff, - 2861 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2765 >> 8) & 0xff, + 2765 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (446 >> 8) & 0xff, + 446 & 0xff} }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2865 >> 8) & 0xff, - 2865 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2773 >> 8) & 0xff, + 2773 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (449 >> 8) & 0xff, + 449 & 0xff} } }, { .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2869 >> 8) & 0xff, - 2869 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (477 >> 8) & 0xff, - 477 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2781 >> 8) & 0xff, + 2781 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (452 >> 8) & 0xff, + 452 & 0xff} }, .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2876 >> 8) & 0xff, - 2876 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (2789 >> 8) & 0xff, + 2789 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (478 >> 8) & 0xff, - 478 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (455 >> 8) & 0xff, + 455 & 0xff} } }, { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2883 >> 8) & 0xff, - 2883 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2797 >> 8) & 0xff, + 2797 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (458 >> 8) & 0xff, + 458 & 0xff} }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2888 >> 8) & 0xff, - 2888 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2805 >> 8) & 0xff, + 2805 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (461 >> 8) & 0xff, + 461 & 0xff} } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2893 >> 8) & 0xff, - 2893 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + (2813 >> 8) & 0xff, + 2813 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (479 >> 8) & 0xff, - 479 & 0xff} + (464 >> 8) & 0xff, + 464 & 0xff} }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2903 >> 8) & 0xff, - 2903 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + (2821 >> 8) & 0xff, + 2821 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (480 >> 8) & 0xff, - 480 & 0xff} + (467 >> 8) & 0xff, + 467 & 0xff} } }, { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2913 >> 8) & 0xff, - 2913 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2829 >> 8) & 0xff, + 2829 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (470 >> 8) & 0xff, + 470 & 0xff} }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2918 >> 8) & 0xff, - 2918 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2837 >> 8) & 0xff, + 2837 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (473 >> 8) & 0xff, + 473 & 0xff} } }, { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2923 >> 8) & 0xff, - 2923 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2927 >> 8) & 0xff, - 2927 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2845 >> 8) & 0xff, + 2845 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (476 >> 8) & 0xff, + 476 & 0xff} } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2931 >> 8) & 0xff, - 2931 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (481 >> 8) & 0xff, - 481 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2936 >> 8) & 0xff, - 2936 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (2851 >> 8) & 0xff, + 2851 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (482 >> 8) & 0xff, - 482 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (477 >> 8) & 0xff, + 477 & 0xff} } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2941 >> 8) & 0xff, - 2941 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2857 >> 8) & 0xff, + 2857 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2945 >> 8) & 0xff, - 2945 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2858 >> 8) & 0xff, + 2858 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, + .description = "l2_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2949 >> 8) & 0xff, - 2949 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2859 >> 8) & 0xff, + 2859 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (478 >> 8) & 0xff, + 478 & 0xff} }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, + .description = "l2_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2953 >> 8) & 0xff, - 2953 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2863 >> 8) & 0xff, + 2863 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (479 >> 8) & 0xff, + 479 & 0xff} } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2957 >> 8) & 0xff, - 2957 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (483 >> 8) & 0xff, - 483 & 0xff} + 0xff} }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2965 >> 8) & 0xff, - 2965 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2867 >> 8) & 0xff, + 2867 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + ULP_THOR2_SYM_L2_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (484 >> 8) & 0xff, - 484 & 0xff} + (480 >> 8) & 0xff, + 480 & 0xff} } }, { .field_info_mask = { - .description = "tl3.prot", + .description = "tun_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_flags", .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2973 >> 8) & 0xff, - 2973 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + (2871 >> 8) & 0xff, + 2871 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (485 >> 8) & 0xff, - 485 & 0xff} + (481 >> 8) & 0xff, + 481 & 0xff} }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2981 >> 8) & 0xff, - 2981 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + (2883 >> 8) & 0xff, + 2883 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (486 >> 8) & 0xff, @@ -31143,118 +32963,87 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "tl3.qos", - .field_bit_size = 8, + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2989 >> 8) & 0xff, - 2989 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (487 >> 8) & 0xff, - 487 & 0xff} - }, - .field_info_spec = { - .description = "tl3.qos", - .field_bit_size = 8, + (2895 >> 8) & 0xff, + 2895 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2997 >> 8) & 0xff, - 2997 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (488 >> 8) & 0xff, - 488 & 0xff} + (2896 >> 8) & 0xff, + 2896 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3005 >> 8) & 0xff, - 3005 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (489 >> 8) & 0xff, - 489 & 0xff} + 0xff} }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, + .description = "tun_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3013 >> 8) & 0xff, - 3013 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2897 >> 8) & 0xff, + 2897 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (490 >> 8) & 0xff, - 490 & 0xff} + ULP_THOR2_SYM_TUN_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3021 >> 8) & 0xff, - 3021 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (2898 >> 8) & 0xff, + 2898 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (491 >> 8) & 0xff, 491 & 0xff} }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3030 >> 8) & 0xff, - 3030 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2902 >> 8) & 0xff, + 2902 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (492 >> 8) & 0xff, @@ -31263,38 +33052,32 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3039 >> 8) & 0xff, - 3039 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + (2906 >> 8) & 0xff, + 2906 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (493 >> 8) & 0xff, 493 & 0xff} }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3045 >> 8) & 0xff, - 3045 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + (2910 >> 8) & 0xff, + 2910 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (494 >> 8) & 0xff, @@ -31303,38 +33086,32 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "tl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3051 >> 8) & 0xff, - 3051 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + (2914 >> 8) & 0xff, + 2914 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (495 >> 8) & 0xff, 495 & 0xff} }, .field_info_spec = { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "tl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3058 >> 8) & 0xff, - 3058 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + (2918 >> 8) & 0xff, + 2918 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (496 >> 8) & 0xff, @@ -31343,118 +33120,106 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_smac", - .field_bit_size = 48, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3065 >> 8) & 0xff, - 3065 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + (2922 >> 8) & 0xff, + 2922 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (497 >> 8) & 0xff, 497 & 0xff} }, .field_info_spec = { - .description = "l2_smac", - .field_bit_size = 48, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3072 >> 8) & 0xff, - 3072 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2927 >> 8) & 0xff, + 2927 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + ULP_THOR2_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (498 >> 8) & 0xff, - 498 & 0xff} + (499 >> 8) & 0xff, + 499 & 0xff} } }, { .field_info_mask = { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3079 >> 8) & 0xff, - 3079 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + (2932 >> 8) & 0xff, + 2932 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (499 >> 8) & 0xff, - 499 & 0xff} + (501 >> 8) & 0xff, + 501 & 0xff} }, .field_info_spec = { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3088 >> 8) & 0xff, - 3088 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2936 >> 8) & 0xff, + 2936 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + ULP_THOR2_SYM_TL3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (500 >> 8) & 0xff, - 500 & 0xff} + (502 >> 8) & 0xff, + 502 & 0xff} } }, { .field_info_mask = { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3097 >> 8) & 0xff, - 3097 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + (2940 >> 8) & 0xff, + 2940 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (501 >> 8) & 0xff, - 501 & 0xff} + (503 >> 8) & 0xff, + 503 & 0xff} }, .field_info_spec = { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3115 >> 8) & 0xff, - 3115 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2944 >> 8) & 0xff, + 2944 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { (504 >> 8) & 0xff, @@ -31463,2026 +33228,1944 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_etype", - .field_bit_size = 16, + .description = "tl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3133 >> 8) & 0xff, - 3133 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + (2948 >> 8) & 0xff, + 2948 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (507 >> 8) & 0xff, - 507 & 0xff} + (505 >> 8) & 0xff, + 505 & 0xff} }, .field_info_spec = { - .description = "l2_etype", - .field_bit_size = 16, + .description = "tl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3142 >> 8) & 0xff, - 3142 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + (2952 >> 8) & 0xff, + 2952 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (508 >> 8) & 0xff, - 508 & 0xff} + (506 >> 8) & 0xff, + 506 & 0xff} } }, { .field_info_mask = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3151 >> 8) & 0xff, - 3151 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (509 >> 8) & 0xff, - 509 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "tl3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3158 >> 8) & 0xff, - 3158 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2956 >> 8) & 0xff, + 2956 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + ULP_THOR2_SYM_TL3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (510 >> 8) & 0xff, - 510 & 0xff} + (507 >> 8) & 0xff, + 507 & 0xff} } }, { .field_info_mask = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3165 >> 8) & 0xff, - 3165 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (511 >> 8) & 0xff, - 511 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, + .description = "tl2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3172 >> 8) & 0xff, - 3172 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2960 >> 8) & 0xff, + 2960 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (512 >> 8) & 0xff, - 512 & 0xff} + ULP_THOR2_SYM_TL2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3179 >> 8) & 0xff, - 3179 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (513 >> 8) & 0xff, - 513 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "tl2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3186 >> 8) & 0xff, - 3186 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2963 >> 8) & 0xff, + 2963 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (514 >> 8) & 0xff, - 514 & 0xff} + ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3193 >> 8) & 0xff, - 3193 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (515 >> 8) & 0xff, - 515 & 0xff} + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3200 >> 8) & 0xff, - 3200 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (516 >> 8) & 0xff, - 516 & 0xff} + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "tl2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3207 >> 8) & 0xff, - 3207 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (517 >> 8) & 0xff, - 517 & 0xff} + (2966 >> 8) & 0xff, + 2966 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "tl2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3221 >> 8) & 0xff, - 3221 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (520 >> 8) & 0xff, - 520 & 0xff} + (2967 >> 8) & 0xff, + 2967 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3235 >> 8) & 0xff, - 3235 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (523 >> 8) & 0xff, - 523 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tl2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3259 >> 8) & 0xff, - 3259 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2968 >> 8) & 0xff, + 2968 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_TCP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (530 >> 8) & 0xff, - 530 & 0xff} + ULP_THOR2_SYM_TL2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.qos", + .description = "ot_hdr_flags", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3283 >> 8) & 0xff, - 3283 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (537 >> 8) & 0xff, - 537 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.qos", + .description = "ot_hdr_flags", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3297 >> 8) & 0xff, - 3297 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (540 >> 8) & 0xff, - 540 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3311 >> 8) & 0xff, - 3311 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (543 >> 8) & 0xff, - 543 & 0xff} + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3327 >> 8) & 0xff, - 3327 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (547 >> 8) & 0xff, - 547 & 0xff} + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3343 >> 8) & 0xff, - 3343 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (551 >> 8) & 0xff, - 551 & 0xff} + .description = "ot_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3359 >> 8) & 0xff, - 3359 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (555 >> 8) & 0xff, - 555 & 0xff} + .description = "ot_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: proto_header_cache.wr */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "ot_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3375 >> 8) & 0xff, - 3375 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "ot_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "otl4_hdr_is_tcp_udp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "otl4_hdr_is_tcp_udp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "otl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "otl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: em_flow_conflict_cache.rd */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "otl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "otl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "otl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3381 >> 8) & 0xff, - 3381 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "otl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "otl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, + .description = "otl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "otl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "otl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: em_key_recipe.0 */ { .field_info_mask = { - .description = "em_profile_id", - .field_bit_size = 8, + .description = "otl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "em_profile_id", - .field_bit_size = 8, + .description = "otl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3699 >> 8) & 0xff, - 3699 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3701 >> 8) & 0xff, - 3701 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3703 >> 8) & 0xff, - 3703 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "meta", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3705 >> 8) & 0xff, - 3705 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3707 >> 8) & 0xff, - 3707 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3708 >> 8) & 0xff, - 3708 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3709 >> 8) & 0xff, - 3709 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3714 >> 8) & 0xff, - 3714 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3719 >> 8) & 0xff, - 3719 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3723 >> 8) & 0xff, - 3723 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3727 >> 8) & 0xff, - 3727 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3732 >> 8) & 0xff, - 3732 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "otl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3737 >> 8) & 0xff, - 3737 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (602 >> 8) & 0xff, - 602 & 0xff} + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3747 >> 8) & 0xff, - 3747 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (603 >> 8) & 0xff, - 603 & 0xff} + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3757 >> 8) & 0xff, - 3757 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3762 >> 8) & 0xff, - 3762 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3767 >> 8) & 0xff, - 3767 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3771 >> 8) & 0xff, - 3771 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3775 >> 8) & 0xff, - 3775 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff} }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (3779 >> 8) & 0xff, - 3779 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", + .description = "l2ip_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2ip_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3783 >> 8) & 0xff, - 3783 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl3.dip.ipv4", + .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3787 >> 8) & 0xff, - 3787 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2970 >> 8) & 0xff, + 2970 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3791 >> 8) & 0xff, - 3791 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3795 >> 8) & 0xff, - 3795 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3799 >> 8) & 0xff, - 3799 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (604 >> 8) & 0xff, - 604 & 0xff} + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3807 >> 8) & 0xff, - 3807 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (605 >> 8) & 0xff, - 605 & 0xff} + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3815 >> 8) & 0xff, - 3815 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (606 >> 8) & 0xff, - 606 & 0xff} + 1} }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3823 >> 8) & 0xff, - 3823 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (607 >> 8) & 0xff, - 607 & 0xff} + 1} } }, { .field_info_mask = { - .description = "tl3.qos", + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 2, , table: wm_key_recipe.0 */ + { + .field_info_mask = { + .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3831 >> 8) & 0xff, - 3831 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (608 >> 8) & 0xff, - 608 & 0xff} + 0xff} }, .field_info_spec = { - .description = "tl3.qos", + .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (3839 >> 8) & 0xff, - 3839 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (609 >> 8) & 0xff, - 609 & 0xff} + (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, + .description = "l2_cntxt_id", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3847 >> 8) & 0xff, - 3847 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (2972 >> 8) & 0xff, + 2972 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (610 >> 8) & 0xff, - 610 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, + .description = "l2_cntxt_id", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3855 >> 8) & 0xff, - 3855 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2974 >> 8) & 0xff, + 2974 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (611 >> 8) & 0xff, - 611 & 0xff} + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "meta", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3863 >> 8) & 0xff, - 3863 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (2976 >> 8) & 0xff, + 2976 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (612 >> 8) & 0xff, - 612 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "meta", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3872 >> 8) & 0xff, - 3872 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2978 >> 8) & 0xff, + 2978 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (613 >> 8) & 0xff, - 613 & 0xff} + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, + .description = "rcyc_cnt", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3881 >> 8) & 0xff, - 3881 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2980 >> 8) & 0xff, + 2980 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (614 >> 8) & 0xff, - 614 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, + .description = "rcyc_cnt", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3887 >> 8) & 0xff, - 3887 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2981 >> 8) & 0xff, + 2981 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (615 >> 8) & 0xff, - 615 & 0xff} + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_dmac", + .description = "tl2_dmac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3893 >> 8) & 0xff, - 3893 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (616 >> 8) & 0xff, - 616 & 0xff} + (2982 >> 8) & 0xff, + 2982 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_dmac", + .description = "tl2_dmac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3902 >> 8) & 0xff, - 3902 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (2986 >> 8) & 0xff, + 2986 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (617 >> 8) & 0xff, - 617 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_smac", + .description = "tl2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3911 >> 8) & 0xff, - 3911 & 0xff, + (2990 >> 8) & 0xff, + 2990 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (618 >> 8) & 0xff, - 618 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (508 >> 8) & 0xff, + 508 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_smac", + .description = "tl2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3918 >> 8) & 0xff, - 3918 & 0xff, + (2997 >> 8) & 0xff, + 2997 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (619 >> 8) & 0xff, - 619 & 0xff} + (509 >> 8) & 0xff, + 509 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ovv", + .description = "tl2_ovv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3925 >> 8) & 0xff, - 3925 & 0xff, + (3004 >> 8) & 0xff, + 3004 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (620 >> 8) & 0xff, - 620 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_ovv", + .description = "tl2_ovv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3934 >> 8) & 0xff, - 3934 & 0xff, + (3009 >> 8) & 0xff, + 3009 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (621 >> 8) & 0xff, - 621 & 0xff} + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ivv", + .description = "tl2_ivv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3943 >> 8) & 0xff, - 3943 & 0xff, + (3014 >> 8) & 0xff, + 3014 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (622 >> 8) & 0xff, - 622 & 0xff} + (510 >> 8) & 0xff, + 510 & 0xff} }, .field_info_spec = { - .description = "l2_ivv", + .description = "tl2_ivv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3961 >> 8) & 0xff, - 3961 & 0xff, + (3024 >> 8) & 0xff, + 3024 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (625 >> 8) & 0xff, - 625 & 0xff} + (511 >> 8) & 0xff, + 511 & 0xff} } }, { .field_info_mask = { - .description = "l2_etype", + .description = "tl2_etype", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3979 >> 8) & 0xff, - 3979 & 0xff, + (3034 >> 8) & 0xff, + 3034 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (628 >> 8) & 0xff, - 628 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_etype", + .description = "tl2_etype", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3988 >> 8) & 0xff, - 3988 & 0xff, + (3039 >> 8) & 0xff, + 3039 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (629 >> 8) & 0xff, - 629 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.sip.ipv4", + .description = "tl3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3997 >> 8) & 0xff, - 3997 & 0xff, + (3044 >> 8) & 0xff, + 3044 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (630 >> 8) & 0xff, - 630 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.sip.ipv4", + .description = "tl3.sip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4004 >> 8) & 0xff, - 4004 & 0xff, + (3048 >> 8) & 0xff, + 3048 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (631 >> 8) & 0xff, - 631 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.sip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4011 >> 8) & 0xff, - 4011 & 0xff, + (3052 >> 8) & 0xff, + 3052 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (632 >> 8) & 0xff, - 632 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (512 >> 8) & 0xff, + 512 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.sip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4018 >> 8) & 0xff, - 4018 & 0xff, + (3057 >> 8) & 0xff, + 3057 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (633 >> 8) & 0xff, - 633 & 0xff} + (513 >> 8) & 0xff, + 513 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.dip.ipv4", + .description = "tl3.dip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4025 >> 8) & 0xff, - 4025 & 0xff, + (3062 >> 8) & 0xff, + 3062 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (634 >> 8) & 0xff, - 634 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.dip.ipv4", + .description = "tl3.dip.ipv4", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4032 >> 8) & 0xff, - 4032 & 0xff, + (3066 >> 8) & 0xff, + 3066 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (635 >> 8) & 0xff, - 635 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.dip.ipv6", + .description = "tl3.dip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4039 >> 8) & 0xff, - 4039 & 0xff, + (3070 >> 8) & 0xff, + 3070 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (636 >> 8) & 0xff, - 636 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3.dip.ipv6", + .description = "tl3.dip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4046 >> 8) & 0xff, - 4046 & 0xff, + (3074 >> 8) & 0xff, + 3074 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (637 >> 8) & 0xff, - 637 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4053 >> 8) & 0xff, - 4053 & 0xff, + (3078 >> 8) & 0xff, + 3078 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (638 >> 8) & 0xff, - 638 & 0xff} + (514 >> 8) & 0xff, + 514 & 0xff} }, .field_info_spec = { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4067 >> 8) & 0xff, - 4067 & 0xff, + (3086 >> 8) & 0xff, + 3086 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (641 >> 8) & 0xff, - 641 & 0xff} + (515 >> 8) & 0xff, + 515 & 0xff} } }, { .field_info_mask = { - .description = "l3.prot", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4081 >> 8) & 0xff, - 4081 & 0xff, + (3094 >> 8) & 0xff, + 3094 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (644 >> 8) & 0xff, - 644 & 0xff} + (516 >> 8) & 0xff, + 516 & 0xff} }, .field_info_spec = { - .description = "l3.prot", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4095 >> 8) & 0xff, - 4095 & 0xff, + (3102 >> 8) & 0xff, + 3102 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (647 >> 8) & 0xff, - 647 & 0xff} + (517 >> 8) & 0xff, + 517 & 0xff} } }, { .field_info_mask = { - .description = "l3.qos", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4109 >> 8) & 0xff, - 4109 & 0xff, + (3110 >> 8) & 0xff, + 3110 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (650 >> 8) & 0xff, - 650 & 0xff} + (518 >> 8) & 0xff, + 518 & 0xff} }, .field_info_spec = { - .description = "l3.qos", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4123 >> 8) & 0xff, - 4123 & 0xff, + (3118 >> 8) & 0xff, + 3118 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (653 >> 8) & 0xff, - 653 & 0xff} + (519 >> 8) & 0xff, + 519 & 0xff} } }, { .field_info_mask = { - .description = "l4.src", + .description = "tl4.src", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4137 >> 8) & 0xff, - 4137 & 0xff, + (3126 >> 8) & 0xff, + 3126 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (656 >> 8) & 0xff, - 656 & 0xff} + (520 >> 8) & 0xff, + 520 & 0xff} }, .field_info_spec = { - .description = "l4.src", + .description = "tl4.src", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4151 >> 8) & 0xff, - 4151 & 0xff, + (3134 >> 8) & 0xff, + 3134 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (659 >> 8) & 0xff, - 659 & 0xff} + (521 >> 8) & 0xff, + 521 & 0xff} } }, { .field_info_mask = { - .description = "l4.dst", + .description = "tl4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4165 >> 8) & 0xff, - 4165 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (3142 >> 8) & 0xff, + 3142 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (662 >> 8) & 0xff, - 662 & 0xff} + (522 >> 8) & 0xff, + 522 & 0xff} }, .field_info_spec = { - .description = "l4.dst", + .description = "tl4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4179 >> 8) & 0xff, - 4179 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (3151 >> 8) & 0xff, + 3151 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (665 >> 8) & 0xff, - 665 & 0xff} + (523 >> 8) & 0xff, + 523 & 0xff} } }, - /* class_tid: 2, , table: em_flow_conflict_cache.wr */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3160 >> 8) & 0xff, + 3160 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (524 >> 8) & 0xff, + 524 & 0xff} }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3166 >> 8) & 0xff, + 3166 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (525 >> 8) & 0xff, + 525 & 0xff} } }, { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3172 >> 8) & 0xff, + 3172 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (526 >> 8) & 0xff, + 526 & 0xff} }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4193 >> 8) & 0xff, - 4193 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, + (3179 >> 8) & 0xff, + 3179 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (527 >> 8) & 0xff, + 527 & 0xff} } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3186 >> 8) & 0xff, + 3186 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (528 >> 8) & 0xff, + 528 & 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (3193 >> 8) & 0xff, + 3193 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (529 >> 8) & 0xff, + 529 & 0xff} } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + (3200 >> 8) & 0xff, + 3200 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (530 >> 8) & 0xff, + 530 & 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + (3209 >> 8) & 0xff, + 3209 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (531 >> 8) & 0xff, + 531 & 0xff} } }, - /* class_tid: 3, , table: table_scope_cache.tsid_ing_rd */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3218 >> 8) & 0xff, + 3218 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (532 >> 8) & 0xff, + 532 & 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (3236 >> 8) & 0xff, + 3236 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (535 >> 8) & 0xff, + 535 & 0xff} } }, { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3254 >> 8) & 0xff, + 3254 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (538 >> 8) & 0xff, + 538 & 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3263 >> 8) & 0xff, + 3263 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (539 >> 8) & 0xff, + 539 & 0xff} } }, - /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */ { .field_info_mask = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3272 >> 8) & 0xff, + 3272 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (540 >> 8) & 0xff, + 540 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3279 >> 8) & 0xff, + 3279 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (541 >> 8) & 0xff, + 541 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3286 >> 8) & 0xff, + 3286 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (542 >> 8) & 0xff, + 542 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3293 >> 8) & 0xff, + 3293 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (543 >> 8) & 0xff, + 543 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3300 >> 8) & 0xff, + 3300 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (544 >> 8) & 0xff, + 544 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3307 >> 8) & 0xff, + 3307 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (545 >> 8) & 0xff, + 545 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3314 >> 8) & 0xff, + 3314 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (546 >> 8) & 0xff, + 546 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3321 >> 8) & 0xff, + 3321 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (547 >> 8) & 0xff, + 547 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3328 >> 8) & 0xff, + 3328 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (548 >> 8) & 0xff, + 548 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3342 >> 8) & 0xff, + 3342 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (551 >> 8) & 0xff, + 551 & 0xff} } }, { .field_info_mask = { - .description = "l3_protocol", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3356 >> 8) & 0xff, + 3356 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (554 >> 8) & 0xff, + 554 & 0xff} }, .field_info_spec = { - .description = "l3_protocol", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3380 >> 8) & 0xff, + 3380 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (561 >> 8) & 0xff, + 561 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3404 >> 8) & 0xff, + 3404 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (568 >> 8) & 0xff, + 568 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3418 >> 8) & 0xff, + 3418 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (571 >> 8) & 0xff, + 571 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3432 >> 8) & 0xff, + 3432 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (574 >> 8) & 0xff, + 574 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3448 >> 8) & 0xff, + 3448 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (578 >> 8) & 0xff, + 578 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3464 >> 8) & 0xff, + 3464 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (582 >> 8) & 0xff, + 582 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3480 >> 8) & 0xff, + 3480 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (586 >> 8) & 0xff, + 586 & 0xff} } }, + /* class_tid: 2, , table: proto_header_cache.wr */ { .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3496 >> 8) & 0xff, + 3496 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 2, , table: em_flow_conflict_cache.rd */ { .field_info_mask = { - .description = "l2_uc_mc_bc", + .description = "recycle_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_uc_mc_bc", + .description = "recycle_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -33490,583 +35173,1303 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "l2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3502 >> 8) & 0xff, + 3502 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 2, , table: em_key_recipe.0 */ { .field_info_mask = { - .description = "tun_hdr_flags", + .description = "em_profile_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "tun_hdr_flags", + .description = "em_profile_id", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3820 >> 8) & 0xff, + 3820 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3822 >> 8) & 0xff, + 3822 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3824 >> 8) & 0xff, + 3824 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "meta", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3826 >> 8) & 0xff, + 3826 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "rcyc_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3828 >> 8) & 0xff, + 3828 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "rcyc_cnt", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3829 >> 8) & 0xff, + 3829 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3830 >> 8) & 0xff, + 3830 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3835 >> 8) & 0xff, + 3835 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3840 >> 8) & 0xff, + 3840 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3844 >> 8) & 0xff, + 3844 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3848 >> 8) & 0xff, + 3848 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3853 >> 8) & 0xff, + 3853 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3858 >> 8) & 0xff, + 3858 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (633 >> 8) & 0xff, + 633 & 0xff} }, .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3868 >> 8) & 0xff, + 3868 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (634 >> 8) & 0xff, + 634 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3878 >> 8) & 0xff, + 3878 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3883 >> 8) & 0xff, + 3883 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3888 >> 8) & 0xff, + 3888 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3892 >> 8) & 0xff, + 3892 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3896 >> 8) & 0xff, + 3896 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3900 >> 8) & 0xff, + 3900 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3904 >> 8) & 0xff, + 3904 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3908 >> 8) & 0xff, + 3908 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3912 >> 8) & 0xff, + 3912 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3916 >> 8) & 0xff, + 3916 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3920 >> 8) & 0xff, + 3920 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (635 >> 8) & 0xff, + 635 & 0xff} }, .field_info_spec = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3928 >> 8) & 0xff, + 3928 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (636 >> 8) & 0xff, + 636 & 0xff} } }, { .field_info_mask = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3936 >> 8) & 0xff, + 3936 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (637 >> 8) & 0xff, + 637 & 0xff} }, .field_info_spec = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3944 >> 8) & 0xff, + 3944 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (638 >> 8) & 0xff, + 638 & 0xff} } }, { .field_info_mask = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3952 >> 8) & 0xff, + 3952 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (639 >> 8) & 0xff, + 639 & 0xff} }, .field_info_spec = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3960 >> 8) & 0xff, + 3960 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (640 >> 8) & 0xff, + 640 & 0xff} } }, { .field_info_mask = { - .description = "ot_hdr_flags", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3968 >> 8) & 0xff, + 3968 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (641 >> 8) & 0xff, + 641 & 0xff} }, .field_info_spec = { - .description = "ot_hdr_flags", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3976 >> 8) & 0xff, + 3976 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (642 >> 8) & 0xff, + 642 & 0xff} } }, { .field_info_mask = { - .description = "ot_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3984 >> 8) & 0xff, + 3984 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (643 >> 8) & 0xff, + 643 & 0xff} }, .field_info_spec = { - .description = "ot_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3993 >> 8) & 0xff, + 3993 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (644 >> 8) & 0xff, + 644 & 0xff} } }, { .field_info_mask = { - .description = "ot_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4002 >> 8) & 0xff, + 4002 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (645 >> 8) & 0xff, + 645 & 0xff} }, .field_info_spec = { - .description = "ot_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4008 >> 8) & 0xff, + 4008 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (646 >> 8) & 0xff, + 646 & 0xff} } }, { .field_info_mask = { - .description = "ot_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4014 >> 8) & 0xff, + 4014 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (647 >> 8) & 0xff, + 647 & 0xff} }, .field_info_spec = { - .description = "ot_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4023 >> 8) & 0xff, + 4023 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (648 >> 8) & 0xff, + 648 & 0xff} } }, { .field_info_mask = { - .description = "otl4_hdr_is_tcp_udp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4032 >> 8) & 0xff, + 4032 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (649 >> 8) & 0xff, + 649 & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_is_tcp_udp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4039 >> 8) & 0xff, + 4039 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (650 >> 8) & 0xff, + 650 & 0xff} } }, { .field_info_mask = { - .description = "otl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4046 >> 8) & 0xff, + 4046 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (651 >> 8) & 0xff, + 651 & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4055 >> 8) & 0xff, + 4055 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (652 >> 8) & 0xff, + 652 & 0xff} } }, { .field_info_mask = { - .description = "otl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4064 >> 8) & 0xff, + 4064 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (653 >> 8) & 0xff, + 653 & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4082 >> 8) & 0xff, + 4082 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (656 >> 8) & 0xff, + 656 & 0xff} } }, { .field_info_mask = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4100 >> 8) & 0xff, + 4100 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (659 >> 8) & 0xff, + 659 & 0xff} }, .field_info_spec = { - .description = "otl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4109 >> 8) & 0xff, + 4109 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (660 >> 8) & 0xff, + 660 & 0xff} } }, { .field_info_mask = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4118 >> 8) & 0xff, + 4118 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (661 >> 8) & 0xff, + 661 & 0xff} }, .field_info_spec = { - .description = "otl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4125 >> 8) & 0xff, + 4125 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (662 >> 8) & 0xff, + 662 & 0xff} } }, { .field_info_mask = { - .description = "otl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4132 >> 8) & 0xff, + 4132 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (663 >> 8) & 0xff, + 663 & 0xff} }, .field_info_spec = { - .description = "otl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4139 >> 8) & 0xff, + 4139 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (664 >> 8) & 0xff, + 664 & 0xff} } }, { .field_info_mask = { - .description = "otl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4146 >> 8) & 0xff, + 4146 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (665 >> 8) & 0xff, + 665 & 0xff} }, .field_info_spec = { - .description = "otl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4153 >> 8) & 0xff, + 4153 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (666 >> 8) & 0xff, + 666 & 0xff} } }, { .field_info_mask = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4160 >> 8) & 0xff, + 4160 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (667 >> 8) & 0xff, + 667 & 0xff} }, .field_info_spec = { - .description = "otl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4167 >> 8) & 0xff, + 4167 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (668 >> 8) & 0xff, + 668 & 0xff} } }, { .field_info_mask = { - .description = "otl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4174 >> 8) & 0xff, + 4174 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (669 >> 8) & 0xff, + 669 & 0xff} }, .field_info_spec = { - .description = "otl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4188 >> 8) & 0xff, + 4188 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (672 >> 8) & 0xff, + 672 & 0xff} } }, { .field_info_mask = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4202 >> 8) & 0xff, + 4202 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (675 >> 8) & 0xff, + 675 & 0xff} }, .field_info_spec = { - .description = "otl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4216 >> 8) & 0xff, + 4216 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (678 >> 8) & 0xff, + 678 & 0xff} } }, { .field_info_mask = { - .description = "otl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4230 >> 8) & 0xff, + 4230 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (681 >> 8) & 0xff, + 681 & 0xff} }, .field_info_spec = { - .description = "otl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4244 >> 8) & 0xff, + 4244 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (684 >> 8) & 0xff, + 684 & 0xff} } }, { .field_info_mask = { - .description = "otl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4258 >> 8) & 0xff, + 4258 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (687 >> 8) & 0xff, + 687 & 0xff} }, .field_info_spec = { - .description = "otl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4272 >> 8) & 0xff, + 4272 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (690 >> 8) & 0xff, + 690 & 0xff} } }, { .field_info_mask = { - .description = "otl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4286 >> 8) & 0xff, + 4286 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (693 >> 8) & 0xff, + 693 & 0xff} }, .field_info_spec = { - .description = "otl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4300 >> 8) & 0xff, + 4300 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (696 >> 8) & 0xff, + 696 & 0xff} } }, + /* class_tid: 2, , table: em_flow_conflict_cache.wr */ { .field_info_mask = { - .description = "int_ifa_tail", - .field_bit_size = 1, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "int_ifa_tail", - .field_bit_size = 1, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_hdr_group", - .field_bit_size = 2, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "int_hdr_group", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (4314 >> 8) & 0xff, + 4314 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "int_hdr_type", - .field_bit_size = 2, + .description = "prof_func_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "hrec_next", - .field_bit_size = 2, + .description = "hdr_bitmap", + .field_bit_size = 64, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 3, , table: global_regfiles_cache.metadata_record_rd */ { .field_info_mask = { - .description = "prof_func_id", + .description = "index", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -34074,38 +36477,42 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "prof_func_id", + .description = "index", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_rx */ { .field_info_mask = { - .description = "l2ip_func_id", - .field_bit_size = 8, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2ip_func_id", - .field_bit_size = 8, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_GLB_IDX_META_REC_ACT} } }, { .field_info_mask = { - .description = "agg_error", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "agg_error", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -34113,21 +36520,23 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "metadata", - .field_bit_size = 32, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "metadata", - .field_bit_size = 32, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "recycle_count", + .description = "app_id", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -34135,7 +36544,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "recycle_count", + .description = "app_id", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -34143,51 +36552,56 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "pkt_type", - .field_bit_size = 4, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "pkt_type", - .field_bit_size = 4, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_rx */ { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_GLB_IDX_META_REC_PROF} } }, { .field_info_mask = { - .description = "spare", - .field_bit_size = 2, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "spare", - .field_bit_size = 2, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "valid", + .description = "dir", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -34195,53 +36609,64 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "valid", + .description = "dir", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "app_id", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 1} + 0xff} + }, + .field_info_spec = { + .description = "app_id", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "padding", - .field_bit_size = 72, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "padding", - .field_bit_size = 72, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: table_scope_cache.tsid_ing_wr */ + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_rx */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + ULP_THOR2_SYM_GLB_IDX_META_REC_LKUP} } }, { .field_info_mask = { - .description = "loopback", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -34249,232 +36674,254 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "loopback", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: port_table.ing_wr */ { .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam.svif_ing */ { .field_info_mask = { - .description = "etype", - .field_bit_size = 16, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "etype", - .field_bit_size = 16, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_tx */ { .field_info_mask = { - .description = "l2_ivlan_tpid_sel", + .description = "type", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_ivlan_tpid_sel", + .description = "type", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_GLB_IDX_META_REC_ACT} } }, { .field_info_mask = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, { .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "two_vtags", - .field_bit_size = 1, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "two_vtags", - .field_bit_size = 1, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_tx */ { .field_info_mask = { - .description = "vtag_present", - .field_bit_size = 1, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "vtag_present", - .field_bit_size = 1, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_GLB_IDX_META_REC_PROF} } }, { .field_info_mask = { - .description = "addr1", - .field_bit_size = 48, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "addr1", - .field_bit_size = 48, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "addr0", - .field_bit_size = 48, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "addr0", - .field_bit_size = 48, + .description = "dir", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, { .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 32, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 32, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_tx */ { .field_info_mask = { - .description = "out_tun_hdr_type", - .field_bit_size = 5, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "out_tun_hdr_type", - .field_bit_size = 5, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_GLB_IDX_META_REC_LKUP} } }, { .field_info_mask = { - .description = "llc", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "llc", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -34482,7 +36929,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "roce", + .description = "dir", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, @@ -34490,86 +36937,81 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "roce", + .description = "dir", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, { .field_info_mask = { - .description = "l2ip_func", - .field_bit_size = 8, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2ip_func", - .field_bit_size = 8, + .description = "app_id", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "metadata", - .field_bit_size = 32, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "metadata", - .field_bit_size = 32, + .description = "pad", + .field_bit_size = 119, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_regfiles_cache.metadata_record_wr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "index", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "index", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: table_scope_cache.tsid_ing_rd */ { .field_info_mask = { - .description = "parif", + .description = "tbl_scope", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "parif", + .description = "tbl_scope", .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, { @@ -34588,71 +37030,39 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 4, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 4, + .description = "type", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "mpass_cnt", - .field_bit_size = 2, + .description = "domain", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "spare", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "spare", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - .field_info_spec = { - .description = "valid", + .description = "domain", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */ { .field_info_mask = { .description = "svif", @@ -34673,72 +37083,58 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} } }, - /* class_tid: 3, , table: port_table.egr_wr_0 */ { .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "pad", + .field_bit_size = 113, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "pad", + .field_bit_size = 113, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.no_vfr_egr_rd */ + /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_svif_egr */ { .field_info_mask = { - .description = "etype", - .field_bit_size = 16, + .description = "l4_hdr_flags", + .field_bit_size = 9, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "etype", - .field_bit_size = 16, + .description = "l4_hdr_flags", + .field_bit_size = 9, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ivlan_tpid_sel", + .description = "l4_hdr_subtype", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivlan_tpid_sel", + .description = "l4_hdr_subtype", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -34746,55 +37142,55 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "two_vtags", + .description = "l4_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "two_vtags", + .description = "l4_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -34802,456 +37198,91 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { }, { .field_info_mask = { - .description = "vtag_present", - .field_bit_size = 1, + .description = "l3_protocol", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "vtag_present", - .field_bit_size = 1, + .description = "l3_protocol", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "addr1", - .field_bit_size = 48, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "addr1", - .field_bit_size = 48, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "addr0", - .field_bit_size = 48, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "addr0", - .field_bit_size = 48, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 32, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 32, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "out_tun_hdr_type", - .field_bit_size = 5, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "out_tun_hdr_type", - .field_bit_size = 5, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - .field_info_spec = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2ip_func", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2ip_func", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} - } - }, - { - .field_info_mask = { - .description = "parif", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "parif", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "spare", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "spare", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } - }, - /* class_tid: 3, , table: profile_tcam_bypass.non_vfr_egr_catch_all */ - { - .field_info_mask = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_dcn_present", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_subtype", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_protocol", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_protocol", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_vtag_present", + .description = "l2_vtag_present", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -35282,9 +37313,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "l2_hdr_type", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_hdr_type", @@ -35919,7 +37948,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "recycle_count", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "recycle_count", @@ -35947,7 +37978,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "loopback", @@ -36002,11 +38035,49 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ + /* class_tid: 3, , table: table_scope_cache.tsid_ing_wr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, + { + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 3, , table: port_table.ing_wr */ + { + .field_info_mask = { + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { @@ -36014,56 +38085,58 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, - /* class_tid: 3, , table: table_scope_cache.tsid_vfr_rd */ + /* class_tid: 3, , table: port_table.egr_wr_0 */ { .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff} }, .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, + /* class_tid: 3, , table: l2_cntxt_tcam_cache.no_vfr_egr_rd */ { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - 1} + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, - /* class_tid: 3, , table: l2_cntxt_tcam.vf2vf_ing */ + /* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_svif_egr */ { .field_info_mask = { .description = "etype", @@ -36281,23 +38354,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 24) & 0xff, - (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 16) & 0xff, - (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 8) & 0xff, - ULP_THOR2_SYM_VF_2_VFR_META_MASK & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 24) & 0xff, - (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 16) & 0xff, - (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 8) & 0xff, - ULP_THOR2_SYM_VF_2_VF_META_VAL & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -36305,13 +38368,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, { @@ -36347,17 +38416,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -36379,7 +38444,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "mpass_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "mpass_cnt", @@ -36420,83 +38487,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 1} } }, - /* class_tid: 3, , table: table_scope_cache.tsid_vfr_wr */ - { - .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} - } - }, - { - .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } - }, - /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_rd */ - { - .field_info_mask = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tbl_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} - } - }, - { - .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 4, , table: profile_tcam_bypass.tsid_vfr_egr_catch_all */ + /* class_tid: 3, , table: profile_tcam_bypass.non_vfr_egr_catch_all */ { .field_info_mask = { .description = "l4_hdr_dcn_present", @@ -37432,7 +39423,28 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_wr */ + /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} + } + }, + /* class_tid: 3, , table: table_scope_cache.tsid_vfr_rd */ { .field_info_mask = { .description = "tbl_scope", @@ -37459,37 +39471,20 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_rd */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + 1} } }, - /* class_tid: 4, , table: l2_cntxt_tcam.vf2vf_egr */ + /* class_tid: 3, , table: l2_cntxt_tcam.vf2vf_ing */ { .field_info_mask = { .description = "etype", @@ -37707,13 +39702,23 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 24) & 0xff, + (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 16) & 0xff, + (ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 8) & 0xff, + ULP_THOR2_SYM_VF_2_VFR_META_MASK & 0xff} }, .field_info_spec = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 24) & 0xff, + (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 16) & 0xff, + (ULP_THOR2_SYM_VF_2_VF_META_VAL >> 8) & 0xff, + ULP_THOR2_SYM_VF_2_VF_META_VAL & 0xff} } }, { @@ -37721,19 +39726,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "svif", .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -37769,13 +39768,17 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }, { @@ -37838,5844 +39841,6122 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 1} } }, - /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_wr */ + /* class_tid: 3, , table: table_scope_cache.tsid_vfr_wr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "tbl_scope", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} } }, - /* class_tid: 4, , table: port_table.egr_wr_0 */ { .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + 1} } - } -}; - -struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { + }, + /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_rd */ { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (12 >> 8) & 0xff, - 12 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE} + 0xff} }, - { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (24 >> 8) & 0xff, - 24 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE} - }, - /* class_tid: 1, , table: control.dmac_calculation */ - { - .description = "", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (31 >> 8) & 0xff, - 31 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (3 >> 8) & 0xff, - 3 & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } }, { - .description = "", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (33 >> 8) & 0xff, - 33 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr2 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (4 >> 8) & 0xff, - 4 & 0xff} + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 4, , table: profile_tcam_bypass.tsid_vfr_egr_catch_all */ { - .description = "", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (34 >> 8) & 0xff, - 34 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr2 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 1, , table: control.terminating_flow */ - { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (129 >> 8) & 0xff, - 129 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (6 >> 8) & 0xff, - 6 & 0xff} + .field_info_spec = { + .description = "l4_hdr_dcn_present", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (132 >> 8) & 0xff, - 132 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (7 >> 8) & 0xff, - 7 & 0xff} + .field_info_mask = { + .description = "l4_hdr_flags", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l4_hdr_flags", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (135 >> 8) & 0xff, - 135 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (8 >> 8) & 0xff, - 8 & 0xff} + .field_info_mask = { + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l4_hdr_subtype", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (137 >> 8) & 0xff, - 137 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (9 >> 8) & 0xff, - 9 & 0xff} + .field_info_mask = { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (139 >> 8) & 0xff, - 139 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl2_ivv.en", + .field_info_mask = { + .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (171 >> 8) & 0xff, - 171 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "tl3_sip0.en", + .field_info_spec = { + .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (200 >> 8) & 0xff, - 200 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl3_sip0.en", + .field_info_mask = { + .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (201 >> 8) & 0xff, - 201 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "tl3_dip0.en", + .field_info_spec = { + .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (221 >> 8) & 0xff, - 221 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l3_protocol", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl3_ttl.en", + .field_info_mask = { + .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (229 >> 8) & 0xff, - 229 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "tl3_prot.en", + .field_info_spec = { + .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (237 >> 8) & 0xff, - 237 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl3_qos.en", + .field_info_mask = { + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (245 >> 8) & 0xff, - 245 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_src.en", + .field_info_mask = { + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (253 >> 8) & 0xff, - 253 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_dst.en", + .field_info_mask = { + .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (262 >> 8) & 0xff, - 262 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tids.en", + .field_info_mask = { + .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (269 >> 8) & 0xff, - 269 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l2_dmac.en", + .field_info_spec = { + .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (276 >> 8) & 0xff, - 276 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (283 >> 8) & 0xff, - 283 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, + .field_info_spec = { + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_ovv.en", + .field_info_mask = { + .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (291 >> 8) & 0xff, - 291 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_ivv.en", + .field_info_mask = { + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (300 >> 8) & 0xff, - 300 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (24 >> 8) & 0xff, - 24 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l2_ivv.en", + .field_info_spec = { + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (305 >> 8) & 0xff, - 305 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (25 >> 8) & 0xff, - 25 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tun_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (309 >> 8) & 0xff, - 309 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_etype.en", + .field_info_mask = { + .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (318 >> 8) & 0xff, - 318 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tun_hdr_err", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_sip3.en", + .field_info_mask = { + .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (327 >> 8) & 0xff, - 327 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_sip2.en", + .field_info_mask = { + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (336 >> 8) & 0xff, - 336 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_sip1.en", + .field_info_spec = { + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (345 >> 8) & 0xff, - 345 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_sip0.en", + .field_info_mask = { + .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (354 >> 8) & 0xff, - 354 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (31 >> 8) & 0xff, - 31 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_sip0.en", + .field_info_mask = { + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (359 >> 8) & 0xff, - 359 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (32 >> 8) & 0xff, - 32 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_sip0.en", + .field_info_mask = { + .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (363 >> 8) & 0xff, - 363 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_dip3.en", + .field_info_spec = { + .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (372 >> 8) & 0xff, - 372 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_dip2.en", + .field_info_mask = { + .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (381 >> 8) & 0xff, - 381 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_dip1.en", + .field_info_mask = { + .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (390 >> 8) & 0xff, - 390 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_dip0.en", + .field_info_mask = { + .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (399 >> 8) & 0xff, - 399 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (37 >> 8) & 0xff, - 37 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_dip0.en", + .field_info_mask = { + .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (404 >> 8) & 0xff, - 404 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (38 >> 8) & 0xff, - 38 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_dip0.en", + .field_info_spec = { + .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (408 >> 8) & 0xff, - 408 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (417 >> 8) & 0xff, - 417 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (40 >> 8) & 0xff, - 40 & 0xff} + .field_info_mask = { + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_ttl.en", + .field_info_mask = { + .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (422 >> 8) & 0xff, - 422 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (41 >> 8) & 0xff, - 41 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_ttl.en", + .field_info_spec = { + .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (426 >> 8) & 0xff, - 426 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "ot_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "ot_hdr_flags", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (434 >> 8) & 0xff, - 434 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (43 >> 8) & 0xff, - 43 & 0xff} + .field_info_mask = { + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "ot_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", + .field_info_mask = { + .description = "ot_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (438 >> 8) & 0xff, - 438 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (44 >> 8) & 0xff, - 44 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "ot_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", + .field_info_mask = { + .description = "ot_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (441 >> 8) & 0xff, - 441 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (45 >> 8) & 0xff, - 45 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "ot_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", + .field_info_mask = { + .description = "otl4_hdr_is_tcp_udp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (444 >> 8) & 0xff, - 444 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (46 >> 8) & 0xff, - 46 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_prot.en", + .field_info_spec = { + .description = "otl4_hdr_is_tcp_udp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (449 >> 8) & 0xff, - 449 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (47 >> 8) & 0xff, - 47 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", + .field_info_mask = { + .description = "otl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (454 >> 8) & 0xff, - 454 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (48 >> 8) & 0xff, - 48 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_prot.en", + .field_info_mask = { + .description = "otl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (458 >> 8) & 0xff, - 458 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_qos.en", + .field_info_mask = { + .description = "otl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (467 >> 8) & 0xff, - 467 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (50 >> 8) & 0xff, - 50 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_qos.en", + .field_info_spec = { + .description = "otl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (472 >> 8) & 0xff, - 472 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (51 >> 8) & 0xff, - 51 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_qos.en", + .field_info_mask = { + .description = "otl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (476 >> 8) & 0xff, - 476 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_src.en", + .field_info_mask = { + .description = "otl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (482 >> 8) & 0xff, - 482 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_src.en", + .field_info_mask = { + .description = "otl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (485 >> 8) & 0xff, - 485 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (54 >> 8) & 0xff, - 54 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_src.en", + .field_info_mask = { + .description = "otl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (486 >> 8) & 0xff, - 486 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l4_dst.en", + .field_info_spec = { + .description = "otl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (491 >> 8) & 0xff, - 491 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (494 >> 8) & 0xff, - 494 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (57 >> 8) & 0xff, - 57 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "otl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_dst.en", + .field_info_mask = { + .description = "otl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (495 >> 8) & 0xff, - 495 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 1, , table: control.profile_tcam_priority */ + .field_info_spec = { + .description = "otl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (501 >> 8) & 0xff, - 501 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (59 >> 8) & 0xff, - 59 & 0xff} + .field_info_mask = { + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "int_ifa_tail", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (503 >> 8) & 0xff, - 503 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (60 >> 8) & 0xff, - 60 & 0xff} + .field_info_mask = { + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "int_hdr_group", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (505 >> 8) & 0xff, - 505 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (61 >> 8) & 0xff, - 61 & 0xff} + .field_info_mask = { + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "int_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (507 >> 8) & 0xff, - 507 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (62 >> 8) & 0xff, - 62 & 0xff} + .field_info_mask = { + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "hrec_next", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", + .field_info_mask = { + .description = "prof_func_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (509 >> 8) & 0xff, - 509 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (63 >> 8) & 0xff, - 63 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, { - .description = "", + .field_info_mask = { + .description = "l2ip_func_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (511 >> 8) & 0xff, - 511 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (64 >> 8) & 0xff, - 64 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "", + .field_info_spec = { + .description = "l2ip_func_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (513 >> 8) & 0xff, - 513 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (65 >> 8) & 0xff, - 65 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (515 >> 8) & 0xff, - 515 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L2} + .field_info_mask = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (519 >> 8) & 0xff, - 519 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (67 >> 8) & 0xff, - 67 & 0xff} + .field_info_mask = { + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "recycle_count", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (521 >> 8) & 0xff, - 521 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (68 >> 8) & 0xff, - 68 & 0xff} + .field_info_mask = { + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "pkt_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_is_udp_tcp", + .field_info_mask = { + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (523 >> 8) & 0xff, - 523 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l4_hdr_is_udp_tcp", + .field_info_spec = { + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (527 >> 8) & 0xff, - 527 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (70 >> 8) & 0xff, - 70 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_is_udp_tcp", + .field_info_mask = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (529 >> 8) & 0xff, - 529 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (71 >> 8) & 0xff, - 71 & 0xff} + 0xff} }, - { - .description = "l4_hdr_is_udp_tcp", + .field_info_spec = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (531 >> 8) & 0xff, - 531 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + 1} + } + }, { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (535 >> 8) & 0xff, - 535 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (73 >> 8) & 0xff, - 73 & 0xff} + .field_info_mask = { + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "padding", + .field_bit_size = 72, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_wr */ { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (537 >> 8) & 0xff, - 537 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (74 >> 8) & 0xff, - 74 & 0xff} + 0xff} }, - { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, .field_opr1 = { - (539 >> 8) & 0xff, - 539 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (543 >> 8) & 0xff, - 543 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (76 >> 8) & 0xff, - 76 & 0xff} + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_rd */ { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (545 >> 8) & 0xff, - 545 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (77 >> 8) & 0xff, - 77 & 0xff} + 0xff, + 0xff} }, - { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (547 >> 8) & 0xff, - 547 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + } + }, + /* class_tid: 4, , table: l2_cntxt_tcam.vf2vf_egr */ { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (551 >> 8) & 0xff, - 551 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (79 >> 8) & 0xff, - 79 & 0xff} + .field_info_mask = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (553 >> 8) & 0xff, - 553 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (80 >> 8) & 0xff, - 80 & 0xff} + .field_info_mask = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (555 >> 8) & 0xff, - 555 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (559 >> 8) & 0xff, - 559 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (82 >> 8) & 0xff, - 82 & 0xff} + .field_info_mask = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (561 >> 8) & 0xff, - 561 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (83 >> 8) & 0xff, - 83 & 0xff} + .field_info_mask = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_error", + .field_info_mask = { + .description = "two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (563 >> 8) & 0xff, - 563 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_valid", + .field_info_mask = { + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (567 >> 8) & 0xff, - 567 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (85 >> 8) & 0xff, - 85 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l4_hdr_valid", + .field_info_spec = { + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (569 >> 8) & 0xff, - 569 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (86 >> 8) & 0xff, - 86 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "addr1", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "addr1", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (571 >> 8) & 0xff, - 571 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (575 >> 8) & 0xff, - 575 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (88 >> 8) & 0xff, - 88 & 0xff} + .field_info_mask = { + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (577 >> 8) & 0xff, - 577 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (89 >> 8) & 0xff, - 89 & 0xff} + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (579 >> 8) & 0xff, - 579 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "out_tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "out_tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_isIP", + .field_info_mask = { + .description = "llc", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (583 >> 8) & 0xff, - 583 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (91 >> 8) & 0xff, - 91 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_isIP", + .field_info_mask = { + .description = "roce", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (585 >> 8) & 0xff, - 585 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (92 >> 8) & 0xff, - 92 & 0xff} + 1} }, - { - .description = "l3_hdr_isIP", + .field_info_spec = { + .description = "roce", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (587 >> 8) & 0xff, - 587 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (591 >> 8) & 0xff, - 591 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (94 >> 8) & 0xff, - 94 & 0xff} + .field_info_mask = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (593 >> 8) & 0xff, - 593 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (95 >> 8) & 0xff, - 95 & 0xff} + 0xff, + 0xff} }, - { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (595 >> 8) & 0xff, - 595 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + } + }, + { + .field_info_mask = { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (599 >> 8) & 0xff, - 599 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (97 >> 8) & 0xff, - 97 & 0xff} + .field_info_mask = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (601 >> 8) & 0xff, - 601 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (98 >> 8) & 0xff, - 98 & 0xff} + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_type", + .field_info_mask = { + .description = "recycle_cnt", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (603 >> 8) & 0xff, - 603 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l3_hdr_type", + .field_info_spec = { + .description = "recycle_cnt", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (607 >> 8) & 0xff, - 607 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (100 >> 8) & 0xff, - 100 & 0xff} - }, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (609 >> 8) & 0xff, - 609 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (101 >> 8) & 0xff, - 101 & 0xff} + .field_info_mask = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (611 >> 8) & 0xff, - 611 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_error", + .field_info_mask = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (615 >> 8) & 0xff, - 615 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (103 >> 8) & 0xff, - 103 & 0xff} + 1} }, - { - .description = "l3_hdr_error", + .field_info_spec = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (617 >> 8) & 0xff, - 617 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (104 >> 8) & 0xff, - 104 & 0xff} - }, + 1} + } + }, + /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_wr */ { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (619 >> 8) & 0xff, - 619 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff, + 0xff} }, - { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (623 >> 8) & 0xff, - 623 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (106 >> 8) & 0xff, - 106 & 0xff} - }, + (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + } + }, + /* class_tid: 4, , table: port_table.egr_wr_0 */ { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "dev.port_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (625 >> 8) & 0xff, - 625 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (107 >> 8) & 0xff, - 107 & 0xff} + 0xff, + 0xff} }, + .field_info_spec = { + .description = "dev.port_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + /* class_tid: 5, , table: table_scope_cache.tsid_ing_rd */ { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (627 >> 8) & 0xff, - 627 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, + .field_info_spec = { + .description = "tbl_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + } + }, { - .description = "l3_hdr_valid", + .field_info_mask = { + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (631 >> 8) & 0xff, - 631 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (109 >> 8) & 0xff, - 109 & 0xff} + 0xff} }, - { - .description = "l3_hdr_valid", + .field_info_spec = { + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (633 >> 8) & 0xff, - 633 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (110 >> 8) & 0xff, - 110 & 0xff} + 0xff, + 0xff} }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */ { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (635 >> 8) & 0xff, - 635 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff, + 0xff} }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */ { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (639 >> 8) & 0xff, - 639 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (112 >> 8) & 0xff, - 112 & 0xff} + .field_info_mask = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (641 >> 8) & 0xff, - 641 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (113 >> 8) & 0xff, - 113 & 0xff} + .field_info_mask = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (643 >> 8) & 0xff, - 643 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (648 >> 8) & 0xff, - 648 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (654 >> 8) & 0xff, - 654 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_hdr_error", + .field_info_mask = { + .description = "two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (661 >> 8) & 0xff, - 661 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "l2_hdr_error", + .field_info_mask = { + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (665 >> 8) & 0xff, - 665 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "l2_hdr_valid", + .field_info_spec = { + .description = "vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (669 >> 8) & 0xff, - 669 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "addr1", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "addr1", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (674 >> 8) & 0xff, - 674 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (120 >> 8) & 0xff, - 120 & 0xff} + .field_info_mask = { + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "addr0", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (677 >> 8) & 0xff, - 677 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (121 >> 8) & 0xff, - 121 & 0xff} + .field_info_mask = { + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "tunnel_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { + .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (679 >> 8) & 0xff, - 679 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (122 >> 8) & 0xff, - 122 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { + .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (681 >> 8) & 0xff, - 681 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (123 >> 8) & 0xff, - 123 & 0xff} - }, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", + .field_info_mask = { + .description = "out_tun_hdr_type", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (683 >> 8) & 0xff, - 683 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (124 >> 8) & 0xff, - 124 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - { - .description = "tun_hdr_type", + .field_info_spec = { + .description = "out_tun_hdr_type", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (685 >> 8) & 0xff, - 685 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (690 >> 8) & 0xff, - 690 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_IP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (126 >> 8) & 0xff, - 126 & 0xff} + .field_info_mask = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (693 >> 8) & 0xff, - 693 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (127 >> 8) & 0xff, - 127 & 0xff} + 0xff} }, + .field_info_spec = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (695 >> 8) & 0xff, - 695 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (128 >> 8) & 0xff, - 128 & 0xff} + .field_info_mask = { + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "l2ip_func", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (697 >> 8) & 0xff, - 697 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_GRE}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (129 >> 8) & 0xff, - 129 & 0xff} + .field_info_mask = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tun_hdr_type", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (699 >> 8) & 0xff, - 699 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (130 >> 8) & 0xff, - 130 & 0xff} + 0xff, + 0xff} }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, { - .description = "tun_hdr_type", + .field_info_mask = { + .description = "parif", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (701 >> 8) & 0xff, - 701 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (708 >> 8) & 0xff, - 708 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_is_udp_tcp", + .field_info_mask = { + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (712 >> 8) & 0xff, - 712 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_type", + .field_info_mask = { + .description = "recycle_cnt", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (716 >> 8) & 0xff, - 716 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, - { - .description = "tl4_hdr_type", + .field_info_spec = { + .description = "recycle_cnt", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (720 >> 8) & 0xff, - 720 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (724 >> 8) & 0xff, - 724 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, + .field_info_spec = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (728 >> 8) & 0xff, - 728 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_info_mask = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + .field_info_spec = { + .description = "spare", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { - .description = "tl4_hdr_valid", + .field_info_mask = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (732 >> 8) & 0xff, - 732 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (138 >> 8) & 0xff, - 138 & 0xff} + 1} }, - { - .description = "tl4_hdr_valid", + .field_info_spec = { + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (734 >> 8) & 0xff, - 734 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ONES - }, + 1} + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (737 >> 8) & 0xff, - 737 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (140 >> 8) & 0xff, - 140 & 0xff} + 0xff, + 0xff} }, - { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (739 >> 8) & 0xff, - 739 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + /* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */ { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (742 >> 8) & 0xff, - 742 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff, + 0xff} }, - { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (746 >> 8) & 0xff, - 746 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + /* class_tid: 8, , table: hot_upgrade_tcam_cache.iterate_read */ { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_mask = { + .description = "tcam_id", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (750 >> 8) & 0xff, - 750 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff, + 0xff} }, - { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_info_spec = { + .description = "tcam_id", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (754 >> 8) & 0xff, - 754 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, + (BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 & 0xff} + } + } +}; + +struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { { - .description = "tl3_hdr_valid", - .field_bit_size = 1, + .description = "tunnel_type", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (758 >> 8) & 0xff, - 758 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (20 >> 8) & 0xff, + 20 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE} }, { - .description = "tl2_hdr_valid", - .field_bit_size = 1, + .description = "tunnel_type", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (770 >> 8) & 0xff, - 770 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (32 >> 8) & 0xff, + 32 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_TL2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE} }, + /* class_tid: 1, , table: control.dmac_calculation */ { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (815 >> 8) & 0xff, - 815 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (40 >> 8) & 0xff, + 40 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (3 >> 8) & 0xff, + 3 & 0xff} + }, { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (825 >> 8) & 0xff, - 825 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (42 >> 8) & 0xff, + 42 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr2 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (4 >> 8) & 0xff, + 4 & 0xff} }, { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (852 >> 8) & 0xff, - 852 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (43 >> 8) & 0xff, + 43 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr2 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: control.terminating_flow */ { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (857 >> 8) & 0xff, - 857 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (158 >> 8) & 0xff, + 158 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (6 >> 8) & 0xff, + 6 & 0xff} + }, { - .description = "tl3.ttl", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (878 >> 8) & 0xff, - 878 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (161 >> 8) & 0xff, + 161 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (7 >> 8) & 0xff, + 7 & 0xff} }, { - .description = "tl3.ttl", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (886 >> 8) & 0xff, - 886 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (164 >> 8) & 0xff, + 164 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (8 >> 8) & 0xff, + 8 & 0xff} }, { - .description = "tl3.prot", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (894 >> 8) & 0xff, - 894 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (166 >> 8) & 0xff, + 166 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (9 >> 8) & 0xff, + 9 & 0xff} }, { - .description = "tl3.prot", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (902 >> 8) & 0xff, - 902 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (168 >> 8) & 0xff, + 168 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (910 >> 8) & 0xff, - 910 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (204 >> 8) & 0xff, + 204 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (918 >> 8) & 0xff, - 918 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (233 >> 8) & 0xff, + 233 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (926 >> 8) & 0xff, - 926 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (234 >> 8) & 0xff, + 234 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (934 >> 8) & 0xff, - 934 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (254 >> 8) & 0xff, + 254 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (943 >> 8) & 0xff, - 943 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (262 >> 8) & 0xff, + 262 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (952 >> 8) & 0xff, - 952 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (270 >> 8) & 0xff, + 270 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (959 >> 8) & 0xff, - 959 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (278 >> 8) & 0xff, + 278 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (965 >> 8) & 0xff, - 965 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (286 >> 8) & 0xff, + 286 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (972 >> 8) & 0xff, - 972 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (295 >> 8) & 0xff, + 295 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (979 >> 8) & 0xff, - 979 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tids.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (302 >> 8) & 0xff, + 302 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (986 >> 8) & 0xff, - 986 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tid.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (306 >> 8) & 0xff, + 306 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (993 >> 8) & 0xff, - 993 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_dmac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (313 >> 8) & 0xff, + 313 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1001 >> 8) & 0xff, - 1001 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1010 >> 8) & 0xff, - 1010 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_smac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (320 >> 8) & 0xff, + 320 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1019 >> 8) & 0xff, - 1019 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (170 >> 8) & 0xff, - 170 & 0xff} + .description = "l2_ovv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (328 >> 8) & 0xff, + 328 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1024 >> 8) & 0xff, - 1024 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (171 >> 8) & 0xff, - 171 & 0xff} + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (337 >> 8) & 0xff, + 337 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (25 >> 8) & 0xff, + 25 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1028 >> 8) & 0xff, - 1028 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (342 >> 8) & 0xff, + 342 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (26 >> 8) & 0xff, + 26 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1037 >> 8) & 0xff, - 1037 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (173 >> 8) & 0xff, - 173 & 0xff} + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (346 >> 8) & 0xff, + 346 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1042 >> 8) & 0xff, - 1042 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (174 >> 8) & 0xff, - 174 & 0xff} + .description = "l2_etype.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (355 >> 8) & 0xff, + 355 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1046 >> 8) & 0xff, - 1046 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (364 >> 8) & 0xff, + 364 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1055 >> 8) & 0xff, - 1055 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (373 >> 8) & 0xff, + 373 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1064 >> 8) & 0xff, - 1064 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (382 >> 8) & 0xff, + 382 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1072 >> 8) & 0xff, - 1072 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (391 >> 8) & 0xff, + 391 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (32 >> 8) & 0xff, + 32 & 0xff} }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1079 >> 8) & 0xff, - 1079 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (396 >> 8) & 0xff, + 396 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (33 >> 8) & 0xff, + 33 & 0xff} }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1086 >> 8) & 0xff, - 1086 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (400 >> 8) & 0xff, + 400 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1093 >> 8) & 0xff, - 1093 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (409 >> 8) & 0xff, + 409 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1100 >> 8) & 0xff, - 1100 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (418 >> 8) & 0xff, + 418 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1107 >> 8) & 0xff, - 1107 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (427 >> 8) & 0xff, + 427 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1114 >> 8) & 0xff, - 1114 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (436 >> 8) & 0xff, + 436 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (38 >> 8) & 0xff, + 38 & 0xff} }, { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1121 >> 8) & 0xff, - 1121 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (441 >> 8) & 0xff, + 441 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (39 >> 8) & 0xff, + 39 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1128 >> 8) & 0xff, - 1128 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (186 >> 8) & 0xff, - 186 & 0xff} + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (445 >> 8) & 0xff, + 445 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1132 >> 8) & 0xff, - 1132 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (187 >> 8) & 0xff, - 187 & 0xff} + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (454 >> 8) & 0xff, + 454 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (41 >> 8) & 0xff, + 41 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1135 >> 8) & 0xff, - 1135 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (459 >> 8) & 0xff, + 459 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (42 >> 8) & 0xff, + 42 & 0xff} }, { - .description = "l3.ttl", + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (463 >> 8) & 0xff, + 463 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (471 >> 8) & 0xff, + 471 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (44 >> 8) & 0xff, + 44 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (475 >> 8) & 0xff, + 475 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (45 >> 8) & 0xff, + 45 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (478 >> 8) & 0xff, + 478 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (46 >> 8) & 0xff, + 46 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (481 >> 8) & 0xff, + 481 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (47 >> 8) & 0xff, + 47 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (486 >> 8) & 0xff, + 486 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (48 >> 8) & 0xff, + 48 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (491 >> 8) & 0xff, + 491 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (49 >> 8) & 0xff, + 49 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (495 >> 8) & 0xff, + 495 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (504 >> 8) & 0xff, + 504 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (51 >> 8) & 0xff, + 51 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (509 >> 8) & 0xff, + 509 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (52 >> 8) & 0xff, + 52 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (513 >> 8) & 0xff, + 513 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (519 >> 8) & 0xff, + 519 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (522 >> 8) & 0xff, + 522 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (55 >> 8) & 0xff, + 55 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (523 >> 8) & 0xff, + 523 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (528 >> 8) & 0xff, + 528 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (531 >> 8) & 0xff, + 531 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (58 >> 8) & 0xff, + 58 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (532 >> 8) & 0xff, + 532 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 1, , table: control.profile_tcam_priority */ + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (538 >> 8) & 0xff, + 538 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (60 >> 8) & 0xff, + 60 & 0xff} + }, + { + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1142 >> 8) & 0xff, - 1142 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (189 >> 8) & 0xff, - 189 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (540 >> 8) & 0xff, + 540 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (61 >> 8) & 0xff, + 61 & 0xff} }, { - .description = "l3.ttl", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1146 >> 8) & 0xff, - 1146 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (190 >> 8) & 0xff, - 190 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (542 >> 8) & 0xff, + 542 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (62 >> 8) & 0xff, + 62 & 0xff} }, { - .description = "l3.ttl", + .description = "", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1149 >> 8) & 0xff, - 1149 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (544 >> 8) & 0xff, + 544 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (63 >> 8) & 0xff, + 63 & 0xff} }, { - .description = "l3.prot", + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (546 >> 8) & 0xff, + 546 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (64 >> 8) & 0xff, + 64 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (548 >> 8) & 0xff, + 548 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (65 >> 8) & 0xff, + 65 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (550 >> 8) & 0xff, + 550 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (66 >> 8) & 0xff, + 66 & 0xff} + }, + { + .description = "", .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (552 >> 8) & 0xff, + 552 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L2} + }, + { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1155 >> 8) & 0xff, - 1155 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (560 >> 8) & 0xff, + 560 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (192 >> 8) & 0xff, - 192 & 0xff} + (68 >> 8) & 0xff, + 68 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1158 >> 8) & 0xff, - 1158 & 0xff, + (562 >> 8) & 0xff, + 562 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (193 >> 8) & 0xff, - 193 & 0xff} + (69 >> 8) & 0xff, + 69 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1160 >> 8) & 0xff, - 1160 & 0xff, + (564 >> 8) & 0xff, + 564 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (194 >> 8) & 0xff, - 194 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1162 >> 8) & 0xff, - 1162 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (568 >> 8) & 0xff, + 568 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (195 >> 8) & 0xff, - 195 & 0xff} + (71 >> 8) & 0xff, + 71 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1166 >> 8) & 0xff, - 1166 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (570 >> 8) & 0xff, + 570 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (196 >> 8) & 0xff, - 196 & 0xff} + (72 >> 8) & 0xff, + 72 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1170 >> 8) & 0xff, - 1170 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (572 >> 8) & 0xff, + 572 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (197 >> 8) & 0xff, - 197 & 0xff} + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1173 >> 8) & 0xff, - 1173 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (576 >> 8) & 0xff, + 576 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1179 >> 8) & 0xff, - 1179 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_UDP}, + (578 >> 8) & 0xff, + 578 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (199 >> 8) & 0xff, - 199 & 0xff} + (75 >> 8) & 0xff, + 75 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1182 >> 8) & 0xff, - 1182 & 0xff, + (580 >> 8) & 0xff, + 580 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_TCP}, + (76 >> 8) & 0xff, + 76 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (200 >> 8) & 0xff, - 200 & 0xff} + (77 >> 8) & 0xff, + 77 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (582 >> 8) & 0xff, + 582 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1184 >> 8) & 0xff, - 1184 & 0xff, + (584 >> 8) & 0xff, + 584 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (201 >> 8) & 0xff, - 201 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (588 >> 8) & 0xff, + 588 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1186 >> 8) & 0xff, - 1186 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + (590 >> 8) & 0xff, + 590 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (202 >> 8) & 0xff, - 202 & 0xff} + (80 >> 8) & 0xff, + 80 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1190 >> 8) & 0xff, - 1190 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (592 >> 8) & 0xff, + 592 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + (81 >> 8) & 0xff, + 81 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (203 >> 8) & 0xff, - 203 & 0xff} + (82 >> 8) & 0xff, + 82 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1194 >> 8) & 0xff, - 1194 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (594 >> 8) & 0xff, + 594 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (204 >> 8) & 0xff, - 204 & 0xff} + ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1197 >> 8) & 0xff, - 1197 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (596 >> 8) & 0xff, + 596 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1204 >> 8) & 0xff, - 1204 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + (600 >> 8) & 0xff, + 600 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (206 >> 8) & 0xff, - 206 & 0xff} + (84 >> 8) & 0xff, + 84 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1208 >> 8) & 0xff, - 1208 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (602 >> 8) & 0xff, + 602 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (207 >> 8) & 0xff, - 207 & 0xff} + (85 >> 8) & 0xff, + 85 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1211 >> 8) & 0xff, - 1211 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (604 >> 8) & 0xff, + 604 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1218 >> 8) & 0xff, - 1218 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + (608 >> 8) & 0xff, + 608 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (209 >> 8) & 0xff, - 209 & 0xff} + (87 >> 8) & 0xff, + 87 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1222 >> 8) & 0xff, - 1222 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (610 >> 8) & 0xff, + 610 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (210 >> 8) & 0xff, - 210 & 0xff} + (88 >> 8) & 0xff, + 88 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1225 >> 8) & 0xff, - 1225 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (612 >> 8) & 0xff, + 612 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1232 >> 8) & 0xff, - 1232 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (212 >> 8) & 0xff, - 212 & 0xff} + (616 >> 8) & 0xff, + 616 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1236 >> 8) & 0xff, - 1236 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + (618 >> 8) & 0xff, + 618 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (213 >> 8) & 0xff, - 213 & 0xff} + (91 >> 8) & 0xff, + 91 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1239 >> 8) & 0xff, - 1239 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (620 >> 8) & 0xff, + 620 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + (92 >> 8) & 0xff, + 92 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (214 >> 8) & 0xff, - 214 & 0xff} + (93 >> 8) & 0xff, + 93 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1242 >> 8) & 0xff, - 1242 & 0xff, + (622 >> 8) & 0xff, + 622 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1248 >> 8) & 0xff, - 1248 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (624 >> 8) & 0xff, + 624 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (628 >> 8) & 0xff, + 628 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (216 >> 8) & 0xff, - 216 & 0xff} + ULP_THOR2_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1252 >> 8) & 0xff, - 1252 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (630 >> 8) & 0xff, + 630 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + ULP_THOR2_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (217 >> 8) & 0xff, - 217 & 0xff} + (96 >> 8) & 0xff, + 96 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1255 >> 8) & 0xff, - 1255 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (632 >> 8) & 0xff, + 632 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + (97 >> 8) & 0xff, + 97 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (218 >> 8) & 0xff, - 218 & 0xff} + (98 >> 8) & 0xff, + 98 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1258 >> 8) & 0xff, - 1258 & 0xff, + (634 >> 8) & 0xff, + 634 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1264 >> 8) & 0xff, - 1264 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (636 >> 8) & 0xff, + 636 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + ULP_THOR2_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (640 >> 8) & 0xff, + 640 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (220 >> 8) & 0xff, - 220 & 0xff} + (100 >> 8) & 0xff, + 100 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1268 >> 8) & 0xff, - 1268 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (642 >> 8) & 0xff, + 642 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (221 >> 8) & 0xff, - 221 & 0xff} + (101 >> 8) & 0xff, + 101 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1271 >> 8) & 0xff, - 1271 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + (644 >> 8) & 0xff, + 644 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (222 >> 8) & 0xff, - 222 & 0xff} + (102 >> 8) & 0xff, + 102 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1274 >> 8) & 0xff, - 1274 & 0xff, + (646 >> 8) & 0xff, + 646 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1280 >> 8) & 0xff, - 1280 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (650 >> 8) & 0xff, + 650 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (224 >> 8) & 0xff, - 224 & 0xff} + (104 >> 8) & 0xff, + 104 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1284 >> 8) & 0xff, - 1284 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (652 >> 8) & 0xff, + 652 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (225 >> 8) & 0xff, - 225 & 0xff} + (105 >> 8) & 0xff, + 105 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1287 >> 8) & 0xff, - 1287 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (654 >> 8) & 0xff, + 654 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (226 >> 8) & 0xff, - 226 & 0xff} + (106 >> 8) & 0xff, + 106 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1290 >> 8) & 0xff, - 1290 & 0xff, + (656 >> 8) & 0xff, + 656 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1327 >> 8) & 0xff, - 1327 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (660 >> 8) & 0xff, + 660 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1353 >> 8) & 0xff, - 1353 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (662 >> 8) & 0xff, + 662 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (109 >> 8) & 0xff, + 109 & 0xff} }, { - .description = "tl3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1373 >> 8) & 0xff, - 1373 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (664 >> 8) & 0xff, + 664 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (110 >> 8) & 0xff, + 110 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (111 >> 8) & 0xff, + 111 & 0xff} }, { - .description = "tl3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1381 >> 8) & 0xff, - 1381 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (666 >> 8) & 0xff, + 666 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1389 >> 8) & 0xff, - 1389 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (668 >> 8) & 0xff, + 668 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1397 >> 8) & 0xff, - 1397 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (672 >> 8) & 0xff, + 672 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1405 >> 8) & 0xff, - 1405 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (674 >> 8) & 0xff, + 674 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (114 >> 8) & 0xff, + 114 & 0xff} }, { - .description = "tl4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1414 >> 8) & 0xff, - 1414 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (676 >> 8) & 0xff, + 676 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (115 >> 8) & 0xff, + 115 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (116 >> 8) & 0xff, + 116 & 0xff} }, { - .description = "tids.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1421 >> 8) & 0xff, - 1421 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (678 >> 8) & 0xff, + 678 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dmac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1429 >> 8) & 0xff, - 1429 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (680 >> 8) & 0xff, + 680 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1437 >> 8) & 0xff, - 1437 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (684 >> 8) & 0xff, + 684 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (118 >> 8) & 0xff, + 118 & 0xff} }, { - .description = "l2_ovv.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1445 >> 8) & 0xff, - 1445 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (686 >> 8) & 0xff, + 686 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (119 >> 8) & 0xff, + 119 & 0xff} }, { - .description = "l2_ivv.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1454 >> 8) & 0xff, - 1454 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (240 >> 8) & 0xff, - 240 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (688 >> 8) & 0xff, + 688 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1459 >> 8) & 0xff, - 1459 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (241 >> 8) & 0xff, - 241 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (692 >> 8) & 0xff, + 692 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (121 >> 8) & 0xff, + 121 & 0xff} }, { - .description = "l2_ivv.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1463 >> 8) & 0xff, - 1463 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (694 >> 8) & 0xff, + 694 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (122 >> 8) & 0xff, + 122 & 0xff} }, { - .description = "l2_etype.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1472 >> 8) & 0xff, - 1472 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (696 >> 8) & 0xff, + 696 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip3.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1480 >> 8) & 0xff, - 1480 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (700 >> 8) & 0xff, + 700 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip2.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1487 >> 8) & 0xff, - 1487 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (702 >> 8) & 0xff, + 702 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (125 >> 8) & 0xff, + 125 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (126 >> 8) & 0xff, + 126 & 0xff} }, { - .description = "l3_sip1.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1494 >> 8) & 0xff, - 1494 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (704 >> 8) & 0xff, + 704 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1501 >> 8) & 0xff, - 1501 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (247 >> 8) & 0xff, - 247 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (706 >> 8) & 0xff, + 706 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (127 >> 8) & 0xff, + 127 & 0xff} }, { - .description = "l3_sip0.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1505 >> 8) & 0xff, - 1505 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (248 >> 8) & 0xff, - 248 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (708 >> 8) & 0xff, + 708 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1508 >> 8) & 0xff, - 1508 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (712 >> 8) & 0xff, + 712 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip3.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1515 >> 8) & 0xff, - 1515 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_dip2.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1522 >> 8) & 0xff, - 1522 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_dip1.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1529 >> 8) & 0xff, - 1529 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1536 >> 8) & 0xff, - 1536 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (253 >> 8) & 0xff, - 253 & 0xff} - }, - { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1540 >> 8) & 0xff, - 1540 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (254 >> 8) & 0xff, - 254 & 0xff} - }, - { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1543 >> 8) & 0xff, - 1543 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1550 >> 8) & 0xff, - 1550 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (256 >> 8) & 0xff, - 256 & 0xff} - }, - { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1554 >> 8) & 0xff, - 1554 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (257 >> 8) & 0xff, - 257 & 0xff} - }, - { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1557 >> 8) & 0xff, - 1557 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (714 >> 8) & 0xff, + 714 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (130 >> 8) & 0xff, + 130 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (131 >> 8) & 0xff, + 131 & 0xff} }, { - .description = "l3_prot.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1564 >> 8) & 0xff, - 1564 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (259 >> 8) & 0xff, - 259 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (716 >> 8) & 0xff, + 716 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1568 >> 8) & 0xff, - 1568 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (260 >> 8) & 0xff, - 260 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (718 >> 8) & 0xff, + 718 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (132 >> 8) & 0xff, + 132 & 0xff} }, { - .description = "l3_prot.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1571 >> 8) & 0xff, - 1571 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (720 >> 8) & 0xff, + 720 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1578 >> 8) & 0xff, - 1578 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (262 >> 8) & 0xff, - 262 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (725 >> 8) & 0xff, + 725 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1582 >> 8) & 0xff, - 1582 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (263 >> 8) & 0xff, - 263 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (731 >> 8) & 0xff, + 731 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1585 >> 8) & 0xff, - 1585 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (738 >> 8) & 0xff, + 738 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", + .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1592 >> 8) & 0xff, - 1592 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (265 >> 8) & 0xff, - 265 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (742 >> 8) & 0xff, + 742 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1596 >> 8) & 0xff, - 1596 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (266 >> 8) & 0xff, - 266 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (746 >> 8) & 0xff, + 746 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1599 >> 8) & 0xff, - 1599 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (748 >> 8) & 0xff, + 748 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (139 >> 8) & 0xff, + 139 & 0xff} }, { - .description = "l4_dst.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1606 >> 8) & 0xff, - 1606 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (268 >> 8) & 0xff, - 268 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (750 >> 8) & 0xff, + 750 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES} }, { - .description = "l4_dst.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1610 >> 8) & 0xff, - 1610 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (269 >> 8) & 0xff, - 269 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (754 >> 8) & 0xff, + 754 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_dst.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1613 >> 8) & 0xff, - 1613 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivv", - .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1659 >> 8) & 0xff, - 1659 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (756 >> 8) & 0xff, + 756 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (142 >> 8) & 0xff, + 142 & 0xff} }, { - .description = "tl2_ivv", - .field_bit_size = 12, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1669 >> 8) & 0xff, - 1669 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (758 >> 8) & 0xff, + 758 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.ttl", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1720 >> 8) & 0xff, - 1720 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (763 >> 8) & 0xff, + 763 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (144 >> 8) & 0xff, + 144 & 0xff} }, { - .description = "tl3.ttl", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1728 >> 8) & 0xff, - 1728 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (766 >> 8) & 0xff, + 766 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (145 >> 8) & 0xff, + 145 & 0xff} }, { - .description = "tl3.prot", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1736 >> 8) & 0xff, - 1736 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (768 >> 8) & 0xff, + 768 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (146 >> 8) & 0xff, + 146 & 0xff} }, { - .description = "tl3.prot", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1744 >> 8) & 0xff, - 1744 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (770 >> 8) & 0xff, + 770 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (147 >> 8) & 0xff, + 147 & 0xff} }, { - .description = "tl3.qos", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1752 >> 8) & 0xff, - 1752 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (772 >> 8) & 0xff, + 772 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (148 >> 8) & 0xff, + 148 & 0xff} }, { - .description = "tl3.qos", - .field_bit_size = 8, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1760 >> 8) & 0xff, - 1760 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (774 >> 8) & 0xff, + 774 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (149 >> 8) & 0xff, + 149 & 0xff} }, { - .description = "tl4.src", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1768 >> 8) & 0xff, - 1768 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (776 >> 8) & 0xff, + 776 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.src", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1776 >> 8) & 0xff, - 1776 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (780 >> 8) & 0xff, + 780 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_IP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (151 >> 8) & 0xff, + 151 & 0xff} }, { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1785 >> 8) & 0xff, - 1785 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (783 >> 8) & 0xff, + 783 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (152 >> 8) & 0xff, + 152 & 0xff} }, { - .description = "tl4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1794 >> 8) & 0xff, - 1794 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (785 >> 8) & 0xff, + 785 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (153 >> 8) & 0xff, + 153 & 0xff} }, { - .description = "tids", - .field_bit_size = 24, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1801 >> 8) & 0xff, - 1801 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (787 >> 8) & 0xff, + 787 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_GRE}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (154 >> 8) & 0xff, + 154 & 0xff} }, { - .description = "tids", - .field_bit_size = 24, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1807 >> 8) & 0xff, - 1807 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (789 >> 8) & 0xff, + 789 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (155 >> 8) & 0xff, + 155 & 0xff} }, { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1815 >> 8) & 0xff, - 1815 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (791 >> 8) & 0xff, + 791 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (156 >> 8) & 0xff, + 156 & 0xff} }, { - .description = "l2_dmac", - .field_bit_size = 48, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1824 >> 8) & 0xff, - 1824 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (793 >> 8) & 0xff, + 793 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_DYN_UPAR_ID >> 8) & 0xff, + BNXT_ULP_RF_IDX_DYN_UPAR_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac", - .field_bit_size = 48, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1832 >> 8) & 0xff, - 1832 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (799 >> 8) & 0xff, + 799 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac", - .field_bit_size = 48, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1839 >> 8) & 0xff, - 1839 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (803 >> 8) & 0xff, + 803 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1847 >> 8) & 0xff, - 1847 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (807 >> 8) & 0xff, + 807 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovv", - .field_bit_size = 12, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1856 >> 8) & 0xff, - 1856 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (811 >> 8) & 0xff, + 811 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TL4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1865 >> 8) & 0xff, - 1865 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (815 >> 8) & 0xff, + 815 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (291 >> 8) & 0xff, - 291 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1870 >> 8) & 0xff, - 1870 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (292 >> 8) & 0xff, - 292 & 0xff} + (819 >> 8) & 0xff, + 819 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1874 >> 8) & 0xff, - 1874 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (823 >> 8) & 0xff, + 823 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (164 >> 8) & 0xff, + 164 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1883 >> 8) & 0xff, - 1883 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (294 >> 8) & 0xff, - 294 & 0xff} + (825 >> 8) & 0xff, + 825 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ONES }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1888 >> 8) & 0xff, - 1888 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (828 >> 8) & 0xff, + 828 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + ULP_THOR2_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (295 >> 8) & 0xff, - 295 & 0xff} + (166 >> 8) & 0xff, + 166 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1892 >> 8) & 0xff, - 1892 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (830 >> 8) & 0xff, + 830 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype", - .field_bit_size = 16, + .description = "tl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1901 >> 8) & 0xff, - 1901 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (833 >> 8) & 0xff, + 833 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype", - .field_bit_size = 16, + .description = "tl3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1910 >> 8) & 0xff, - 1910 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (837 >> 8) & 0xff, + 837 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "tl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1918 >> 8) & 0xff, - 1918 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (841 >> 8) & 0xff, + 841 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "tl3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1925 >> 8) & 0xff, - 1925 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (845 >> 8) & 0xff, + 845 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, + .description = "tl3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1932 >> 8) & 0xff, - 1932 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (849 >> 8) & 0xff, + 849 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, + .description = "tl2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1939 >> 8) & 0xff, - 1939 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (861 >> 8) & 0xff, + 861 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_TL2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1946 >> 8) & 0xff, - 1946 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (906 >> 8) & 0xff, + 906 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1953 >> 8) & 0xff, - 1953 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (916 >> 8) & 0xff, + 916 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.dip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1960 >> 8) & 0xff, - 1960 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (943 >> 8) & 0xff, + 943 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.dip.ipv6", + .description = "tl3.sip.ipv6", .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1967 >> 8) & 0xff, - 1967 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (948 >> 8) & 0xff, + 948 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1974 >> 8) & 0xff, - 1974 & 0xff, + (969 >> 8) & 0xff, + 969 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (307 >> 8) & 0xff, - 307 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1978 >> 8) & 0xff, - 1978 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (308 >> 8) & 0xff, - 308 & 0xff} + (977 >> 8) & 0xff, + 977 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1981 >> 8) & 0xff, - 1981 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (985 >> 8) & 0xff, + 985 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1988 >> 8) & 0xff, - 1988 & 0xff, + (993 >> 8) & 0xff, + 993 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (310 >> 8) & 0xff, - 310 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1992 >> 8) & 0xff, - 1992 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1001 >> 8) & 0xff, + 1001 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (311 >> 8) & 0xff, - 311 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.ttl", + .description = "tl3.qos", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1995 >> 8) & 0xff, - 1995 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1009 >> 8) & 0xff, + 1009 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2002 >> 8) & 0xff, - 2002 & 0xff, + (1017 >> 8) & 0xff, + 1017 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (313 >> 8) & 0xff, - 313 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2006 >> 8) & 0xff, - 2006 & 0xff, + (1025 >> 8) & 0xff, + 1025 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1034 >> 8) & 0xff, + 1034 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1043 >> 8) & 0xff, + 1043 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1050 >> 8) & 0xff, + 1050 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (314 >> 8) & 0xff, - 314 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2009 >> 8) & 0xff, - 2009 & 0xff, + (1056 >> 8) & 0xff, + 1056 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2016 >> 8) & 0xff, - 2016 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1060 >> 8) & 0xff, + 1060 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (316 >> 8) & 0xff, - 316 & 0xff} + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2020 >> 8) & 0xff, - 2020 & 0xff, + (1064 >> 8) & 0xff, + 1064 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (317 >> 8) & 0xff, - 317 & 0xff} + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2023 >> 8) & 0xff, - 2023 & 0xff, + (1071 >> 8) & 0xff, + 1071 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2030 >> 8) & 0xff, - 2030 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (319 >> 8) & 0xff, - 319 & 0xff} + (1078 >> 8) & 0xff, + 1078 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2034 >> 8) & 0xff, - 2034 & 0xff, + (1085 >> 8) & 0xff, + 1085 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (320 >> 8) & 0xff, - 320 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2037 >> 8) & 0xff, - 2037 & 0xff, + (1092 >> 8) & 0xff, + 1092 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2044 >> 8) & 0xff, - 2044 & 0xff, + (1100 >> 8) & 0xff, + 1100 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1109 >> 8) & 0xff, + 1109 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1118 >> 8) & 0xff, + 1118 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (322 >> 8) & 0xff, - 322 & 0xff} + (198 >> 8) & 0xff, + 198 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2048 >> 8) & 0xff, - 2048 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1123 >> 8) & 0xff, + 1123 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (323 >> 8) & 0xff, - 323 & 0xff} + (199 >> 8) & 0xff, + 199 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2051 >> 8) & 0xff, - 2051 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1127 >> 8) & 0xff, + 1127 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1136 >> 8) & 0xff, + 1136 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (201 >> 8) & 0xff, + 201 & 0xff} + }, + { + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2058 >> 8) & 0xff, - 2058 & 0xff, + (1141 >> 8) & 0xff, + 1141 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (325 >> 8) & 0xff, - 325 & 0xff} + (202 >> 8) & 0xff, + 202 & 0xff} }, { - .description = "l4.src", + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1145 >> 8) & 0xff, + 1145 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1154 >> 8) & 0xff, + 1154 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_etype", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2062 >> 8) & 0xff, - 2062 & 0xff, + (1163 >> 8) & 0xff, + 1163 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1171 >> 8) & 0xff, + 1171 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (326 >> 8) & 0xff, - 326 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2065 >> 8) & 0xff, - 2065 & 0xff, + (1178 >> 8) & 0xff, + 1178 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2072 >> 8) & 0xff, - 2072 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1185 >> 8) & 0xff, + 1185 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (328 >> 8) & 0xff, - 328 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2076 >> 8) & 0xff, - 2076 & 0xff, + (1192 >> 8) & 0xff, + 1192 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (329 >> 8) & 0xff, - 329 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2079 >> 8) & 0xff, - 2079 & 0xff, + (1199 >> 8) & 0xff, + 1199 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1206 >> 8) & 0xff, + 1206 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1213 >> 8) & 0xff, + 1213 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1220 >> 8) & 0xff, + 1220 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2086 >> 8) & 0xff, - 2086 & 0xff, + (1227 >> 8) & 0xff, + 1227 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (331 >> 8) & 0xff, - 331 & 0xff} + (214 >> 8) & 0xff, + 214 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2090 >> 8) & 0xff, - 2090 & 0xff, + (1231 >> 8) & 0xff, + 1231 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (332 >> 8) & 0xff, - 332 & 0xff} + (215 >> 8) & 0xff, + 215 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2093 >> 8) & 0xff, - 2093 & 0xff, + (1234 >> 8) & 0xff, + 1234 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2100 >> 8) & 0xff, - 2100 & 0xff, + (1241 >> 8) & 0xff, + 1241 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (334 >> 8) & 0xff, - 334 & 0xff} + (217 >> 8) & 0xff, + 217 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2104 >> 8) & 0xff, - 2104 & 0xff, + (1245 >> 8) & 0xff, + 1245 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (335 >> 8) & 0xff, - 335 & 0xff} + (218 >> 8) & 0xff, + 218 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2107 >> 8) & 0xff, - 2107 & 0xff, + (1248 >> 8) & 0xff, + 1248 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - /* class_tid: 2, , table: control.terminating_flow */ { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2206 >> 8) & 0xff, - 2206 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (337 >> 8) & 0xff, - 337 & 0xff} - }, - { - .description = "", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2208 >> 8) & 0xff, - 2208 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (338 >> 8) & 0xff, - 338 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1254 >> 8) & 0xff, + 1254 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (220 >> 8) & 0xff, + 220 & 0xff} }, { - .description = "", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2210 >> 8) & 0xff, - 2210 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (339 >> 8) & 0xff, - 339 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1257 >> 8) & 0xff, + 1257 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (221 >> 8) & 0xff, + 221 & 0xff} }, { - .description = "", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2212 >> 8) & 0xff, - 2212 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1259 >> 8) & 0xff, + 1259 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (222 >> 8) & 0xff, + 222 & 0xff} }, { - .description = "tl2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2237 >> 8) & 0xff, - 2237 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - 1} + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1261 >> 8) & 0xff, + 1261 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (223 >> 8) & 0xff, + 223 & 0xff} }, { - .description = "tl2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2250 >> 8) & 0xff, - 2250 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1265 >> 8) & 0xff, + 1265 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (224 >> 8) & 0xff, + 224 & 0xff} }, { - .description = "tl3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2279 >> 8) & 0xff, - 2279 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1269 >> 8) & 0xff, + 1269 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (225 >> 8) & 0xff, + 225 & 0xff} }, { - .description = "tl3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2280 >> 8) & 0xff, - 2280 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1272 >> 8) & 0xff, + 1272 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "tl3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2300 >> 8) & 0xff, - 2300 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1278 >> 8) & 0xff, + 1278 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (227 >> 8) & 0xff, + 227 & 0xff} }, { - .description = "tl3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2308 >> 8) & 0xff, - 2308 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1281 >> 8) & 0xff, + 1281 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (228 >> 8) & 0xff, + 228 & 0xff} }, { - .description = "tl3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2316 >> 8) & 0xff, - 2316 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1283 >> 8) & 0xff, + 1283 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (229 >> 8) & 0xff, + 229 & 0xff} }, { - .description = "tl3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2324 >> 8) & 0xff, - 2324 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1285 >> 8) & 0xff, + 1285 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (230 >> 8) & 0xff, + 230 & 0xff} }, { - .description = "tl4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2332 >> 8) & 0xff, - 2332 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1289 >> 8) & 0xff, + 1289 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (231 >> 8) & 0xff, + 231 & 0xff} }, { - .description = "tl4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2341 >> 8) & 0xff, - 2341 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1293 >> 8) & 0xff, + 1293 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (232 >> 8) & 0xff, + 232 & 0xff} }, { - .description = "tids.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2348 >> 8) & 0xff, - 2348 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1296 >> 8) & 0xff, + 1296 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l2_dmac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2355 >> 8) & 0xff, - 2355 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1303 >> 8) & 0xff, + 1303 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (234 >> 8) & 0xff, + 234 & 0xff} }, { - .description = "l2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2362 >> 8) & 0xff, - 2362 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1307 >> 8) & 0xff, + 1307 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (235 >> 8) & 0xff, + 235 & 0xff} }, { - .description = "l2_ovv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2370 >> 8) & 0xff, - 2370 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1310 >> 8) & 0xff, + 1310 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2379 >> 8) & 0xff, - 2379 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (355 >> 8) & 0xff, - 355 & 0xff} + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1317 >> 8) & 0xff, + 1317 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (237 >> 8) & 0xff, + 237 & 0xff} }, { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2384 >> 8) & 0xff, - 2384 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (356 >> 8) & 0xff, - 356 & 0xff} + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1321 >> 8) & 0xff, + 1321 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (238 >> 8) & 0xff, + 238 & 0xff} }, { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2388 >> 8) & 0xff, - 2388 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1324 >> 8) & 0xff, + 1324 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l2_etype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2397 >> 8) & 0xff, - 2397 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1331 >> 8) & 0xff, + 1331 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (240 >> 8) & 0xff, + 240 & 0xff} }, { - .description = "l3_sip3.en", + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1335 >> 8) & 0xff, + 1335 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (241 >> 8) & 0xff, + 241 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1338 >> 8) & 0xff, + 1338 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (242 >> 8) & 0xff, + 242 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1341 >> 8) & 0xff, + 1341 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1347 >> 8) & 0xff, + 1347 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (244 >> 8) & 0xff, + 244 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1351 >> 8) & 0xff, + 1351 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (245 >> 8) & 0xff, + 245 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1354 >> 8) & 0xff, + 1354 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (246 >> 8) & 0xff, + 246 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1357 >> 8) & 0xff, + 1357 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1363 >> 8) & 0xff, + 1363 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (248 >> 8) & 0xff, + 248 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1367 >> 8) & 0xff, + 1367 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (249 >> 8) & 0xff, + 249 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1370 >> 8) & 0xff, + 1370 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (250 >> 8) & 0xff, + 250 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1373 >> 8) & 0xff, + 1373 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1379 >> 8) & 0xff, + 1379 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (252 >> 8) & 0xff, + 252 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1383 >> 8) & 0xff, + 1383 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (253 >> 8) & 0xff, + 253 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1386 >> 8) & 0xff, + 1386 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (254 >> 8) & 0xff, + 254 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1389 >> 8) & 0xff, + 1389 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "tl2_ivv.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2406 >> 8) & 0xff, - 2406 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1429 >> 8) & 0xff, + 1429 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip2.en", + .description = "tl3_sip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2415 >> 8) & 0xff, - 2415 & 0xff, + (1455 >> 8) & 0xff, + 1455 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43684,13 +45965,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip1.en", + .description = "tl3_dip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2424 >> 8) & 0xff, - 2424 & 0xff, + (1475 >> 8) & 0xff, + 1475 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43699,49 +45980,43 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "tl3_ttl.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2433 >> 8) & 0xff, - 2433 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (1483 >> 8) & 0xff, + 1483 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (362 >> 8) & 0xff, - 362 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "tl3_prot.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2438 >> 8) & 0xff, - 2438 & 0xff, + (1491 >> 8) & 0xff, + 1491 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (363 >> 8) & 0xff, - 363 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "tl3_qos.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2442 >> 8) & 0xff, - 2442 & 0xff, + (1499 >> 8) & 0xff, + 1499 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43750,13 +46025,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip3.en", + .description = "tl4_src.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2451 >> 8) & 0xff, - 2451 & 0xff, + (1507 >> 8) & 0xff, + 1507 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43765,13 +46040,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip2.en", + .description = "tl4_dst.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2460 >> 8) & 0xff, - 2460 & 0xff, + (1516 >> 8) & 0xff, + 1516 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43780,64 +46055,73 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip1.en", + .description = "tids.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2469 >> 8) & 0xff, - 2469 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1523 >> 8) & 0xff, + 1523 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip0.en", + .description = "tid.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2478 >> 8) & 0xff, - 2478 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (1527 >> 8) & 0xff, + 1527 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (368 >> 8) & 0xff, - 368 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip0.en", + .description = "l2_dmac.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2483 >> 8) & 0xff, - 2483 & 0xff, + (1535 >> 8) & 0xff, + 1535 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (369 >> 8) & 0xff, - 369 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip0.en", + .description = "l2_smac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1543 >> 8) & 0xff, + 1543 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_ovv.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2487 >> 8) & 0xff, - 2487 & 0xff, + (1551 >> 8) & 0xff, + 1551 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43846,13 +46130,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ttl.en", + .description = "l2_ivv.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2496 >> 8) & 0xff, - 2496 & 0xff, + (1560 >> 8) & 0xff, + 1560 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43860,17 +46144,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (371 >> 8) & 0xff, - 371 & 0xff} + (269 >> 8) & 0xff, + 269 & 0xff} }, { - .description = "l3_ttl.en", + .description = "l2_ivv.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2501 >> 8) & 0xff, - 2501 & 0xff, + (1565 >> 8) & 0xff, + 1565 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43878,17 +46162,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (372 >> 8) & 0xff, - 372 & 0xff} + (270 >> 8) & 0xff, + 270 & 0xff} }, { - .description = "l3_ttl.en", + .description = "l2_ivv.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2505 >> 8) & 0xff, - 2505 & 0xff, + (1569 >> 8) & 0xff, + 1569 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43897,218 +46181,205 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l2_etype.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2513 >> 8) & 0xff, - 2513 & 0xff, + (1578 >> 8) & 0xff, + 1578 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (374 >> 8) & 0xff, - 374 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l3_sip3.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2517 >> 8) & 0xff, - 2517 & 0xff, + (1586 >> 8) & 0xff, + 1586 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (375 >> 8) & 0xff, - 375 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l3_sip2.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2520 >> 8) & 0xff, - 2520 & 0xff, + (1593 >> 8) & 0xff, + 1593 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (376 >> 8) & 0xff, - 376 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l3_sip1.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2523 >> 8) & 0xff, - 2523 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (1600 >> 8) & 0xff, + 1600 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (377 >> 8) & 0xff, - 377 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "l3_sip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2528 >> 8) & 0xff, - 2528 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (1607 >> 8) & 0xff, + 1607 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (378 >> 8) & 0xff, - 378 & 0xff} + (276 >> 8) & 0xff, + 276 & 0xff} }, { - .description = "l3_prot.en", + .description = "l3_sip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2533 >> 8) & 0xff, - 2533 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1611 >> 8) & 0xff, + 1611 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (379 >> 8) & 0xff, - 379 & 0xff} + (277 >> 8) & 0xff, + 277 & 0xff} }, { - .description = "l3_prot.en", + .description = "l3_sip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2537 >> 8) & 0xff, - 2537 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1614 >> 8) & 0xff, + 1614 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l3_dip3.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2546 >> 8) & 0xff, - 2546 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, + (1621 >> 8) & 0xff, + 1621 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (381 >> 8) & 0xff, - 381 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l3_dip2.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2551 >> 8) & 0xff, - 2551 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1628 >> 8) & 0xff, + 1628 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (382 >> 8) & 0xff, - 382 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "l3_dip1.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2555 >> 8) & 0xff, - 2555 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (1635 >> 8) & 0xff, + 1635 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", + .description = "l3_dip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2561 >> 8) & 0xff, - 2561 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1642 >> 8) & 0xff, + 1642 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (282 >> 8) & 0xff, + 282 & 0xff} }, { - .description = "l4_src.en", + .description = "l3_dip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2564 >> 8) & 0xff, - 2564 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (1646 >> 8) & 0xff, + 1646 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (385 >> 8) & 0xff, - 385 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (283 >> 8) & 0xff, + 283 & 0xff} }, { - .description = "l4_src.en", + .description = "l3_dip0.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2565 >> 8) & 0xff, - 2565 & 0xff, + (1649 >> 8) & 0xff, + 1649 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44117,44 +46388,49 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_dst.en", + .description = "l3_ttl.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2570 >> 8) & 0xff, - 2570 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1656 >> 8) & 0xff, + 1656 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (285 >> 8) & 0xff, + 285 & 0xff} }, { - .description = "l4_dst.en", + .description = "l3_ttl.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2573 >> 8) & 0xff, - 2573 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (1660 >> 8) & 0xff, + 1660 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (388 >> 8) & 0xff, - 388 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (286 >> 8) & 0xff, + 286 & 0xff} }, { - .description = "l4_dst.en", + .description = "l3_ttl.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2574 >> 8) & 0xff, - 2574 & 0xff, + (1663 >> 8) & 0xff, + 1663 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44162,3589 +46438,3696 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 2, , table: control.profile_tcam_priority */ { - .description = "", - .field_bit_size = 8, + .description = "l3_prot.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2580 >> 8) & 0xff, - 2580 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1670 >> 8) & 0xff, + 1670 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (390 >> 8) & 0xff, - 390 & 0xff} - }, + (288 >> 8) & 0xff, + 288 & 0xff} + }, { - .description = "", - .field_bit_size = 8, + .description = "l3_prot.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2582 >> 8) & 0xff, - 2582 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1674 >> 8) & 0xff, + 1674 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (391 >> 8) & 0xff, - 391 & 0xff} + (289 >> 8) & 0xff, + 289 & 0xff} }, { - .description = "", - .field_bit_size = 8, + .description = "l3_prot.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2584 >> 8) & 0xff, - 2584 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1677 >> 8) & 0xff, + 1677 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (392 >> 8) & 0xff, - 392 & 0xff} + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "", - .field_bit_size = 8, + .description = "l3_qos.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2586 >> 8) & 0xff, - 2586 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1684 >> 8) & 0xff, + 1684 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (393 >> 8) & 0xff, - 393 & 0xff} + (291 >> 8) & 0xff, + 291 & 0xff} }, { - .description = "", - .field_bit_size = 8, + .description = "l3_qos.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2588 >> 8) & 0xff, - 2588 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1688 >> 8) & 0xff, + 1688 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (394 >> 8) & 0xff, - 394 & 0xff} + (292 >> 8) & 0xff, + 292 & 0xff} }, { - .description = "", - .field_bit_size = 8, + .description = "l3_qos.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2590 >> 8) & 0xff, - 2590 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1691 >> 8) & 0xff, + 1691 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1698 >> 8) & 0xff, + 1698 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (395 >> 8) & 0xff, - 395 & 0xff} + (294 >> 8) & 0xff, + 294 & 0xff} }, { - .description = "", - .field_bit_size = 8, + .description = "l4_src.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2592 >> 8) & 0xff, - 2592 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1702 >> 8) & 0xff, + 1702 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (396 >> 8) & 0xff, - 396 & 0xff} + (295 >> 8) & 0xff, + 295 & 0xff} }, { - .description = "", - .field_bit_size = 8, + .description = "l4_src.en", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2594 >> 8) & 0xff, - 2594 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1705 >> 8) & 0xff, + 1705 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - ULP_THOR2_SYM_PROF_TCAM_PRI_L2} + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_hdr_is_udp_tcp", + .description = "l4_dst.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2598 >> 8) & 0xff, - 2598 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (398 >> 8) & 0xff, - 398 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1712 >> 8) & 0xff, + 1712 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (297 >> 8) & 0xff, + 297 & 0xff} }, { - .description = "l4_hdr_is_udp_tcp", + .description = "l4_dst.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2600 >> 8) & 0xff, - 2600 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (399 >> 8) & 0xff, - 399 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1716 >> 8) & 0xff, + 1716 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (298 >> 8) & 0xff, + 298 & 0xff} }, { - .description = "l4_hdr_is_udp_tcp", + .description = "l4_dst.en", .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1719 >> 8) & 0xff, + 1719 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2602 >> 8) & 0xff, - 2602 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1765 >> 8) & 0xff, + 1765 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2606 >> 8) & 0xff, - 2606 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1775 >> 8) & 0xff, + 1775 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (401 >> 8) & 0xff, - 401 & 0xff} + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2608 >> 8) & 0xff, - 2608 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (402 >> 8) & 0xff, - 402 & 0xff} + (1826 >> 8) & 0xff, + 1826 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2610 >> 8) & 0xff, - 2610 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1834 >> 8) & 0xff, + 1834 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2614 >> 8) & 0xff, - 2614 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1842 >> 8) & 0xff, + 1842 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (404 >> 8) & 0xff, - 404 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2616 >> 8) & 0xff, - 2616 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (405 >> 8) & 0xff, - 405 & 0xff} + (1850 >> 8) & 0xff, + 1850 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2618 >> 8) & 0xff, - 2618 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1858 >> 8) & 0xff, + 1858 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2622 >> 8) & 0xff, - 2622 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (407 >> 8) & 0xff, - 407 & 0xff} + (1866 >> 8) & 0xff, + 1866 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2624 >> 8) & 0xff, - 2624 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (408 >> 8) & 0xff, - 408 & 0xff} + (1874 >> 8) & 0xff, + 1874 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2626 >> 8) & 0xff, - 2626 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1882 >> 8) & 0xff, + 1882 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tl4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2630 >> 8) & 0xff, - 2630 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1891 >> 8) & 0xff, + 1891 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (410 >> 8) & 0xff, - 410 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tl4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2632 >> 8) & 0xff, - 2632 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (411 >> 8) & 0xff, - 411 & 0xff} + (1900 >> 8) & 0xff, + 1900 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2634 >> 8) & 0xff, - 2634 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1907 >> 8) & 0xff, + 1907 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2638 >> 8) & 0xff, - 2638 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (413 >> 8) & 0xff, - 413 & 0xff} + (1913 >> 8) & 0xff, + 1913 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2640 >> 8) & 0xff, - 2640 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (414 >> 8) & 0xff, - 414 & 0xff} + (1917 >> 8) & 0xff, + 1917 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tid", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2642 >> 8) & 0xff, - 2642 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1921 >> 8) & 0xff, + 1921 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2646 >> 8) & 0xff, - 2646 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1929 >> 8) & 0xff, + 1929 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (416 >> 8) & 0xff, - 416 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2648 >> 8) & 0xff, - 2648 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (417 >> 8) & 0xff, - 417 & 0xff} + (1938 >> 8) & 0xff, + 1938 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2650 >> 8) & 0xff, - 2650 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1946 >> 8) & 0xff, + 1946 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2654 >> 8) & 0xff, - 2654 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1953 >> 8) & 0xff, + 1953 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (419 >> 8) & 0xff, - 419 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2656 >> 8) & 0xff, - 2656 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (420 >> 8) & 0xff, - 420 & 0xff} + (1961 >> 8) & 0xff, + 1961 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2658 >> 8) & 0xff, - 2658 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1970 >> 8) & 0xff, + 1970 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2662 >> 8) & 0xff, - 2662 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1979 >> 8) & 0xff, + 1979 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (422 >> 8) & 0xff, - 422 & 0xff} + (322 >> 8) & 0xff, + 322 & 0xff} }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2664 >> 8) & 0xff, - 2664 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1984 >> 8) & 0xff, + 1984 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (423 >> 8) & 0xff, - 423 & 0xff} + (323 >> 8) & 0xff, + 323 & 0xff} }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2666 >> 8) & 0xff, - 2666 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1988 >> 8) & 0xff, + 1988 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2670 >> 8) & 0xff, - 2670 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1997 >> 8) & 0xff, + 1997 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (425 >> 8) & 0xff, - 425 & 0xff} + (325 >> 8) & 0xff, + 325 & 0xff} }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2672 >> 8) & 0xff, - 2672 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2002 >> 8) & 0xff, + 2002 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (426 >> 8) & 0xff, - 426 & 0xff} + (326 >> 8) & 0xff, + 326 & 0xff} }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2674 >> 8) & 0xff, - 2674 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2006 >> 8) & 0xff, + 2006 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2678 >> 8) & 0xff, - 2678 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2015 >> 8) & 0xff, + 2015 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (428 >> 8) & 0xff, - 428 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2680 >> 8) & 0xff, - 2680 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2024 >> 8) & 0xff, + 2024 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2032 >> 8) & 0xff, + 2032 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (429 >> 8) & 0xff, - 429 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2682 >> 8) & 0xff, - 2682 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2039 >> 8) & 0xff, + 2039 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2046 >> 8) & 0xff, + 2046 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2686 >> 8) & 0xff, - 2686 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2053 >> 8) & 0xff, + 2053 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (431 >> 8) & 0xff, - 431 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2688 >> 8) & 0xff, - 2688 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (432 >> 8) & 0xff, - 432 & 0xff} + (2060 >> 8) & 0xff, + 2060 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2690 >> 8) & 0xff, - 2690 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2067 >> 8) & 0xff, + 2067 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2694 >> 8) & 0xff, - 2694 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2074 >> 8) & 0xff, + 2074 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2081 >> 8) & 0xff, + 2081 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2088 >> 8) & 0xff, + 2088 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (434 >> 8) & 0xff, - 434 & 0xff} + (338 >> 8) & 0xff, + 338 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2696 >> 8) & 0xff, - 2696 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2092 >> 8) & 0xff, + 2092 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (435 >> 8) & 0xff, - 435 & 0xff} + (339 >> 8) & 0xff, + 339 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2698 >> 8) & 0xff, - 2698 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2095 >> 8) & 0xff, + 2095 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2702 >> 8) & 0xff, - 2702 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (2102 >> 8) & 0xff, + 2102 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (437 >> 8) & 0xff, - 437 & 0xff} + (341 >> 8) & 0xff, + 341 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2704 >> 8) & 0xff, - 2704 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (2106 >> 8) & 0xff, + 2106 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (438 >> 8) & 0xff, - 438 & 0xff} + (342 >> 8) & 0xff, + 342 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2706 >> 8) & 0xff, - 2706 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2109 >> 8) & 0xff, + 2109 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2710 >> 8) & 0xff, - 2710 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2116 >> 8) & 0xff, + 2116 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (440 >> 8) & 0xff, - 440 & 0xff} + (344 >> 8) & 0xff, + 344 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2712 >> 8) & 0xff, - 2712 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2120 >> 8) & 0xff, + 2120 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (441 >> 8) & 0xff, - 441 & 0xff} + (345 >> 8) & 0xff, + 345 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2714 >> 8) & 0xff, - 2714 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2123 >> 8) & 0xff, + 2123 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2718 >> 8) & 0xff, - 2718 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2130 >> 8) & 0xff, + 2130 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (443 >> 8) & 0xff, - 443 & 0xff} + (347 >> 8) & 0xff, + 347 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2720 >> 8) & 0xff, - 2720 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2134 >> 8) & 0xff, + 2134 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (444 >> 8) & 0xff, - 444 & 0xff} - }, - { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2722 >> 8) & 0xff, - 2722 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (348 >> 8) & 0xff, + 348 & 0xff} }, { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2727 >> 8) & 0xff, - 2727 & 0xff, + (2137 >> 8) & 0xff, + 2137 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2733 >> 8) & 0xff, - 2733 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2144 >> 8) & 0xff, + 2144 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (350 >> 8) & 0xff, + 350 & 0xff} }, { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2740 >> 8) & 0xff, - 2740 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2148 >> 8) & 0xff, + 2148 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (351 >> 8) & 0xff, + 351 & 0xff} }, { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2744 >> 8) & 0xff, - 2744 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2151 >> 8) & 0xff, + 2151 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2748 >> 8) & 0xff, - 2748 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2158 >> 8) & 0xff, + 2158 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_L2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (353 >> 8) & 0xff, + 353 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2752 >> 8) & 0xff, - 2752 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (2162 >> 8) & 0xff, + 2162 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (451 >> 8) & 0xff, - 451 & 0xff} + (354 >> 8) & 0xff, + 354 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2754 >> 8) & 0xff, - 2754 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (452 >> 8) & 0xff, - 452 & 0xff} + (2165 >> 8) & 0xff, + 2165 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2756 >> 8) & 0xff, - 2756 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2172 >> 8) & 0xff, + 2172 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (453 >> 8) & 0xff, - 453 & 0xff} + (356 >> 8) & 0xff, + 356 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2758 >> 8) & 0xff, - 2758 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2176 >> 8) & 0xff, + 2176 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (454 >> 8) & 0xff, - 454 & 0xff} + (357 >> 8) & 0xff, + 357 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2760 >> 8) & 0xff, - 2760 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2179 >> 8) & 0xff, + 2179 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2764 >> 8) & 0xff, - 2764 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2186 >> 8) & 0xff, + 2186 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE}, + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (456 >> 8) & 0xff, - 456 & 0xff} + (359 >> 8) & 0xff, + 359 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2766 >> 8) & 0xff, - 2766 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2190 >> 8) & 0xff, + 2190 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE}, + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (457 >> 8) & 0xff, - 457 & 0xff} + (360 >> 8) & 0xff, + 360 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2768 >> 8) & 0xff, - 2768 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2193 >> 8) & 0xff, + 2193 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_GRE}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (458 >> 8) & 0xff, - 458 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2770 >> 8) & 0xff, - 2770 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1}, + (2200 >> 8) & 0xff, + 2200 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (459 >> 8) & 0xff, - 459 & 0xff} + (362 >> 8) & 0xff, + 362 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 5, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2772 >> 8) & 0xff, - 2772 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2204 >> 8) & 0xff, + 2204 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (363 >> 8) & 0xff, + 363 & 0xff} }, { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2779 >> 8) & 0xff, - 2779 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2207 >> 8) & 0xff, + 2207 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2783 >> 8) & 0xff, - 2783 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2214 >> 8) & 0xff, + 2214 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (365 >> 8) & 0xff, + 365 & 0xff} }, { - .description = "tl4_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2787 >> 8) & 0xff, - 2787 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (2218 >> 8) & 0xff, + 2218 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (366 >> 8) & 0xff, + 366 & 0xff} }, { - .description = "tl4_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2791 >> 8) & 0xff, - 2791 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2221 >> 8) & 0xff, + 2221 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, + /* class_tid: 2, , table: control.terminating_flow */ { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2795 >> 8) & 0xff, - 2795 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2327 >> 8) & 0xff, + 2327 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (368 >> 8) & 0xff, + 368 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2329 >> 8) & 0xff, + 2329 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (369 >> 8) & 0xff, + 369 & 0xff} }, { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2799 >> 8) & 0xff, - 2799 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2331 >> 8) & 0xff, + 2331 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (370 >> 8) & 0xff, + 370 & 0xff} }, { - .description = "tl4_hdr_valid", + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2333 >> 8) & 0xff, + 2333 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl2_smac.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2803 >> 8) & 0xff, - 2803 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (467 >> 8) & 0xff, - 467 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2358 >> 8) & 0xff, + 2358 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + 1} }, { - .description = "tl4_hdr_valid", + .description = "tl2_ivv.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2805 >> 8) & 0xff, - 2805 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ONES + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2371 >> 8) & 0xff, + 2371 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_hdr_valid", + .description = "tl3_sip0.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2808 >> 8) & 0xff, - 2808 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (469 >> 8) & 0xff, - 469 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2400 >> 8) & 0xff, + 2400 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_hdr_valid", + .description = "tl3_sip0.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2810 >> 8) & 0xff, - 2810 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2401 >> 8) & 0xff, + 2401 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_isIP", + .description = "tl3_dip0.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2813 >> 8) & 0xff, - 2813 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2421 >> 8) & 0xff, + 2421 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_isIP", + .description = "tl3_ttl.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2817 >> 8) & 0xff, - 2817 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2429 >> 8) & 0xff, + 2429 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2821 >> 8) & 0xff, - 2821 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2437 >> 8) & 0xff, + 2437 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2825 >> 8) & 0xff, - 2825 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2445 >> 8) & 0xff, + 2445 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_error", + .description = "tl4_src.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2829 >> 8) & 0xff, - 2829 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2453 >> 8) & 0xff, + 2453 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_error", + .description = "tl4_dst.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2833 >> 8) & 0xff, - 2833 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2462 >> 8) & 0xff, + 2462 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_valid", + .description = "tids.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2837 >> 8) & 0xff, - 2837 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_TL3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2469 >> 8) & 0xff, + 2469 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2873 >> 8) & 0xff, - 2873 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_HF, - .field_opr3 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} + .description = "l2_dmac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2476 >> 8) & 0xff, + 2476 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2880 >> 8) & 0xff, - 2880 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_HF, - .field_opr3 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} + .description = "l2_smac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2483 >> 8) & 0xff, + 2483 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2898 >> 8) & 0xff, - 2898 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ovv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2491 >> 8) & 0xff, + 2491 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2908 >> 8) & 0xff, - 2908 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2500 >> 8) & 0xff, + 2500 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (386 >> 8) & 0xff, + 386 & 0xff} }, { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2935 >> 8) & 0xff, - 2935 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2505 >> 8) & 0xff, + 2505 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (387 >> 8) & 0xff, + 387 & 0xff} }, { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2940 >> 8) & 0xff, - 2940 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2961 >> 8) & 0xff, - 2961 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2509 >> 8) & 0xff, + 2509 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2969 >> 8) & 0xff, - 2969 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_etype.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2518 >> 8) & 0xff, + 2518 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2977 >> 8) & 0xff, - 2977 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2527 >> 8) & 0xff, + 2527 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2985 >> 8) & 0xff, - 2985 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2536 >> 8) & 0xff, + 2536 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2993 >> 8) & 0xff, - 2993 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2545 >> 8) & 0xff, + 2545 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3001 >> 8) & 0xff, - 3001 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2554 >> 8) & 0xff, + 2554 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (393 >> 8) & 0xff, + 393 & 0xff} }, { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3009 >> 8) & 0xff, - 3009 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2559 >> 8) & 0xff, + 2559 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (394 >> 8) & 0xff, + 394 & 0xff} }, { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3017 >> 8) & 0xff, - 3017 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2563 >> 8) & 0xff, + 2563 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3026 >> 8) & 0xff, - 3026 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2572 >> 8) & 0xff, + 2572 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3035 >> 8) & 0xff, - 3035 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2581 >> 8) & 0xff, + 2581 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3042 >> 8) & 0xff, - 3042 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2590 >> 8) & 0xff, + 2590 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3048 >> 8) & 0xff, - 3048 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2599 >> 8) & 0xff, + 2599 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (399 >> 8) & 0xff, + 399 & 0xff} }, { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3055 >> 8) & 0xff, - 3055 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2604 >> 8) & 0xff, + 2604 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (400 >> 8) & 0xff, + 400 & 0xff} }, { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3062 >> 8) & 0xff, - 3062 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2608 >> 8) & 0xff, + 2608 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3069 >> 8) & 0xff, - 3069 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2617 >> 8) & 0xff, + 2617 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (402 >> 8) & 0xff, + 402 & 0xff} }, { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3076 >> 8) & 0xff, - 3076 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2622 >> 8) & 0xff, + 2622 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (403 >> 8) & 0xff, + 403 & 0xff} }, { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3084 >> 8) & 0xff, - 3084 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2626 >> 8) & 0xff, + 2626 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3093 >> 8) & 0xff, - 3093 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2634 >> 8) & 0xff, + 2634 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (405 >> 8) & 0xff, + 405 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3102 >> 8) & 0xff, - 3102 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (502 >> 8) & 0xff, - 502 & 0xff} + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2638 >> 8) & 0xff, + 2638 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (406 >> 8) & 0xff, + 406 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3107 >> 8) & 0xff, - 3107 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (503 >> 8) & 0xff, - 503 & 0xff} + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2641 >> 8) & 0xff, + 2641 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (407 >> 8) & 0xff, + 407 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3111 >> 8) & 0xff, - 3111 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2644 >> 8) & 0xff, + 2644 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (408 >> 8) & 0xff, + 408 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2649 >> 8) & 0xff, + 2649 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (409 >> 8) & 0xff, + 409 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2654 >> 8) & 0xff, + 2654 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (410 >> 8) & 0xff, + 410 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2658 >> 8) & 0xff, + 2658 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2667 >> 8) & 0xff, + 2667 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (412 >> 8) & 0xff, + 412 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2672 >> 8) & 0xff, + 2672 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (413 >> 8) & 0xff, + 413 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2676 >> 8) & 0xff, + 2676 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2682 >> 8) & 0xff, + 2682 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2685 >> 8) & 0xff, + 2685 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (416 >> 8) & 0xff, + 416 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2686 >> 8) & 0xff, + 2686 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2691 >> 8) & 0xff, + 2691 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2694 >> 8) & 0xff, + 2694 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (419 >> 8) & 0xff, + 419 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2695 >> 8) & 0xff, + 2695 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 2, , table: control.profile_tcam_priority */ + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2701 >> 8) & 0xff, + 2701 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (421 >> 8) & 0xff, + 421 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2703 >> 8) & 0xff, + 2703 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (422 >> 8) & 0xff, + 422 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2705 >> 8) & 0xff, + 2705 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (423 >> 8) & 0xff, + 423 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2707 >> 8) & 0xff, + 2707 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L4}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (424 >> 8) & 0xff, + 424 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2709 >> 8) & 0xff, + 2709 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (425 >> 8) & 0xff, + 425 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2711 >> 8) & 0xff, + 2711 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (426 >> 8) & 0xff, + 426 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2713 >> 8) & 0xff, + 2713 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (427 >> 8) & 0xff, + 427 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2715 >> 8) & 0xff, + 2715 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR2_SYM_PROF_TCAM_PRI_L2} + }, + { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3120 >> 8) & 0xff, - 3120 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + (2719 >> 8) & 0xff, + 2719 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (505 >> 8) & 0xff, - 505 & 0xff} + (429 >> 8) & 0xff, + 429 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3125 >> 8) & 0xff, - 3125 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + (2721 >> 8) & 0xff, + 2721 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (506 >> 8) & 0xff, - 506 & 0xff} + (430 >> 8) & 0xff, + 430 & 0xff} }, { - .description = "l2_ivv", - .field_bit_size = 12, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3129 >> 8) & 0xff, - 3129 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2723 >> 8) & 0xff, + 2723 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype", - .field_bit_size = 16, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3138 >> 8) & 0xff, - 3138 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2727 >> 8) & 0xff, + 2727 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (432 >> 8) & 0xff, + 432 & 0xff} }, { - .description = "l2_etype", - .field_bit_size = 16, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3147 >> 8) & 0xff, - 3147 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2729 >> 8) & 0xff, + 2729 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (433 >> 8) & 0xff, + 433 & 0xff} }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3155 >> 8) & 0xff, - 3155 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2731 >> 8) & 0xff, + 2731 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.sip.ipv4", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3162 >> 8) & 0xff, - 3162 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2735 >> 8) & 0xff, + 2735 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (435 >> 8) & 0xff, + 435 & 0xff} }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3169 >> 8) & 0xff, - 3169 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2737 >> 8) & 0xff, + 2737 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (436 >> 8) & 0xff, + 436 & 0xff} }, { - .description = "l3.sip.ipv6", - .field_bit_size = 128, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3176 >> 8) & 0xff, - 3176 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2739 >> 8) & 0xff, + 2739 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3183 >> 8) & 0xff, - 3183 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2743 >> 8) & 0xff, + 2743 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (438 >> 8) & 0xff, + 438 & 0xff} }, { - .description = "l3.dip.ipv4", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3190 >> 8) & 0xff, - 3190 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2745 >> 8) & 0xff, + 2745 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (439 >> 8) & 0xff, + 439 & 0xff} }, { - .description = "l3.dip.ipv6", - .field_bit_size = 128, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3197 >> 8) & 0xff, - 3197 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2747 >> 8) & 0xff, + 2747 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + ULP_THOR2_SYM_L4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3204 >> 8) & 0xff, - 3204 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3211 >> 8) & 0xff, - 3211 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, + (2751 >> 8) & 0xff, + 2751 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (518 >> 8) & 0xff, - 518 & 0xff} + (441 >> 8) & 0xff, + 441 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3215 >> 8) & 0xff, - 3215 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + (2753 >> 8) & 0xff, + 2753 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (519 >> 8) & 0xff, - 519 & 0xff} + (442 >> 8) & 0xff, + 442 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3218 >> 8) & 0xff, - 3218 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2755 >> 8) & 0xff, + 2755 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3225 >> 8) & 0xff, - 3225 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, + (2759 >> 8) & 0xff, + 2759 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (521 >> 8) & 0xff, - 521 & 0xff} + (444 >> 8) & 0xff, + 444 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3229 >> 8) & 0xff, - 3229 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + (2761 >> 8) & 0xff, + 2761 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (522 >> 8) & 0xff, - 522 & 0xff} + (445 >> 8) & 0xff, + 445 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3232 >> 8) & 0xff, - 3232 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2763 >> 8) & 0xff, + 2763 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3238 >> 8) & 0xff, - 3238 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2767 >> 8) & 0xff, + 2767 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (524 >> 8) & 0xff, - 524 & 0xff} + (447 >> 8) & 0xff, + 447 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3241 >> 8) & 0xff, - 3241 & 0xff, + (2769 >> 8) & 0xff, + 2769 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (525 >> 8) & 0xff, - 525 & 0xff} + (448 >> 8) & 0xff, + 448 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3243 >> 8) & 0xff, - 3243 & 0xff, + (2771 >> 8) & 0xff, + 2771 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (526 >> 8) & 0xff, - 526 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3245 >> 8) & 0xff, - 3245 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2775 >> 8) & 0xff, + 2775 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + ULP_THOR2_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (527 >> 8) & 0xff, - 527 & 0xff} + (450 >> 8) & 0xff, + 450 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3249 >> 8) & 0xff, - 3249 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2777 >> 8) & 0xff, + 2777 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + ULP_THOR2_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (528 >> 8) & 0xff, - 528 & 0xff} + (451 >> 8) & 0xff, + 451 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3253 >> 8) & 0xff, - 3253 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2779 >> 8) & 0xff, + 2779 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (529 >> 8) & 0xff, - 529 & 0xff} + ULP_THOR2_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3256 >> 8) & 0xff, - 3256 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2783 >> 8) & 0xff, + 2783 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (453 >> 8) & 0xff, + 453 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3262 >> 8) & 0xff, - 3262 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_UDP}, + (2785 >> 8) & 0xff, + 2785 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (531 >> 8) & 0xff, - 531 & 0xff} + (454 >> 8) & 0xff, + 454 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2787 >> 8) & 0xff, + 2787 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3265 >> 8) & 0xff, - 3265 & 0xff, + (2791 >> 8) & 0xff, + 2791 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_TCP}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (532 >> 8) & 0xff, - 532 & 0xff} + (456 >> 8) & 0xff, + 456 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3267 >> 8) & 0xff, - 3267 & 0xff, + (2793 >> 8) & 0xff, + 2793 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR2_SYM_IP_PROTO_UDP}, + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (533 >> 8) & 0xff, - 533 & 0xff} + (457 >> 8) & 0xff, + 457 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3269 >> 8) & 0xff, - 3269 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2795 >> 8) & 0xff, + 2795 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (534 >> 8) & 0xff, - 534 & 0xff} + ULP_THOR2_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3273 >> 8) & 0xff, - 3273 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + (2799 >> 8) & 0xff, + 2799 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (535 >> 8) & 0xff, - 535 & 0xff} + (459 >> 8) & 0xff, + 459 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3277 >> 8) & 0xff, - 3277 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + (2801 >> 8) & 0xff, + 2801 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (536 >> 8) & 0xff, - 536 & 0xff} + (460 >> 8) & 0xff, + 460 & 0xff} }, { - .description = "l3.prot", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3280 >> 8) & 0xff, - 3280 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2803 >> 8) & 0xff, + 2803 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3287 >> 8) & 0xff, - 3287 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2807 >> 8) & 0xff, + 2807 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + ULP_THOR2_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (538 >> 8) & 0xff, - 538 & 0xff} + (462 >> 8) & 0xff, + 462 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3291 >> 8) & 0xff, - 3291 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (2809 >> 8) & 0xff, + 2809 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (539 >> 8) & 0xff, - 539 & 0xff} + (463 >> 8) & 0xff, + 463 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3294 >> 8) & 0xff, - 3294 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2811 >> 8) & 0xff, + 2811 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3301 >> 8) & 0xff, - 3301 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + (2815 >> 8) & 0xff, + 2815 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (541 >> 8) & 0xff, - 541 & 0xff} + (465 >> 8) & 0xff, + 465 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3305 >> 8) & 0xff, - 3305 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (2817 >> 8) & 0xff, + 2817 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (542 >> 8) & 0xff, - 542 & 0xff} + (466 >> 8) & 0xff, + 466 & 0xff} }, { - .description = "l3.qos", - .field_bit_size = 8, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3308 >> 8) & 0xff, - 3308 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (2819 >> 8) & 0xff, + 2819 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3315 >> 8) & 0xff, - 3315 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + (2823 >> 8) & 0xff, + 2823 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (544 >> 8) & 0xff, - 544 & 0xff} + (468 >> 8) & 0xff, + 468 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3319 >> 8) & 0xff, - 3319 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + (2825 >> 8) & 0xff, + 2825 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (545 >> 8) & 0xff, - 545 & 0xff} + (469 >> 8) & 0xff, + 469 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3322 >> 8) & 0xff, - 3322 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (546 >> 8) & 0xff, - 546 & 0xff} + (2827 >> 8) & 0xff, + 2827 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3325 >> 8) & 0xff, - 3325 & 0xff, + (2831 >> 8) & 0xff, + 2831 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (471 >> 8) & 0xff, + 471 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3331 >> 8) & 0xff, - 3331 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + (2833 >> 8) & 0xff, + 2833 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (548 >> 8) & 0xff, - 548 & 0xff} + (472 >> 8) & 0xff, + 472 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3335 >> 8) & 0xff, - 3335 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2835 >> 8) & 0xff, + 2835 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2839 >> 8) & 0xff, + 2839 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + ULP_THOR2_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (549 >> 8) & 0xff, - 549 & 0xff} + (474 >> 8) & 0xff, + 474 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3338 >> 8) & 0xff, - 3338 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2841 >> 8) & 0xff, + 2841 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + ULP_THOR2_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (550 >> 8) & 0xff, - 550 & 0xff} + (475 >> 8) & 0xff, + 475 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3341 >> 8) & 0xff, - 3341 & 0xff, + (2843 >> 8) & 0xff, + 2843 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3347 >> 8) & 0xff, - 3347 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2848 >> 8) & 0xff, + 2848 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (552 >> 8) & 0xff, - 552 & 0xff} + ULP_THOR2_SYM_L2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3351 >> 8) & 0xff, - 3351 & 0xff, + (2854 >> 8) & 0xff, + 2854 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + ULP_THOR2_SYM_L2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2861 >> 8) & 0xff, + 2861 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2865 >> 8) & 0xff, + 2865 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2869 >> 8) & 0xff, + 2869 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2873 >> 8) & 0xff, + 2873 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (553 >> 8) & 0xff, - 553 & 0xff} + (482 >> 8) & 0xff, + 482 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3354 >> 8) & 0xff, - 3354 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + (2875 >> 8) & 0xff, + 2875 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (554 >> 8) & 0xff, - 554 & 0xff} + (483 >> 8) & 0xff, + 483 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3357 >> 8) & 0xff, - 3357 & 0xff, + (2877 >> 8) & 0xff, + 2877 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (484 >> 8) & 0xff, + 484 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3363 >> 8) & 0xff, - 3363 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + (2879 >> 8) & 0xff, + 2879 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (556 >> 8) & 0xff, - 556 & 0xff} + (485 >> 8) & 0xff, + 485 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3367 >> 8) & 0xff, - 3367 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2881 >> 8) & 0xff, + 2881 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2885 >> 8) & 0xff, + 2885 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (557 >> 8) & 0xff, - 557 & 0xff} + (487 >> 8) & 0xff, + 487 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3370 >> 8) & 0xff, - 3370 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (2887 >> 8) & 0xff, + 2887 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (558 >> 8) & 0xff, - 558 & 0xff} + (488 >> 8) & 0xff, + 488 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 5, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3373 >> 8) & 0xff, - 3373 & 0xff, + (2889 >> 8) & 0xff, + 2889 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_GRE}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (489 >> 8) & 0xff, + 489 & 0xff} }, { - .description = "tl2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3410 >> 8) & 0xff, - 3410 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2891 >> 8) & 0xff, + 2891 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (490 >> 8) & 0xff, + 490 & 0xff} }, { - .description = "tl3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3436 >> 8) & 0xff, - 3436 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_type", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2893 >> 8) & 0xff, + 2893 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_dip0.en", + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3456 >> 8) & 0xff, - 3456 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2900 >> 8) & 0xff, + 2900 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_ttl.en", + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3464 >> 8) & 0xff, - 3464 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2904 >> 8) & 0xff, + 2904 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3472 >> 8) & 0xff, - 3472 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2908 >> 8) & 0xff, + 2908 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3480 >> 8) & 0xff, - 3480 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2912 >> 8) & 0xff, + 2912 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_src.en", + .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3488 >> 8) & 0xff, - 3488 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2916 >> 8) & 0xff, + 2916 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_dst.en", + .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3497 >> 8) & 0xff, - 3497 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2920 >> 8) & 0xff, + 2920 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tids.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3504 >> 8) & 0xff, - 3504 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2924 >> 8) & 0xff, + 2924 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (498 >> 8) & 0xff, + 498 & 0xff} }, { - .description = "l2_dmac.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3512 >> 8) & 0xff, - 3512 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2926 >> 8) & 0xff, + 2926 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ONES }, { - .description = "l2_smac.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3520 >> 8) & 0xff, - 3520 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ovv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3528 >> 8) & 0xff, - 3528 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2929 >> 8) & 0xff, + 2929 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (500 >> 8) & 0xff, + 500 & 0xff} }, { - .description = "l2_ivv.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3537 >> 8) & 0xff, - 3537 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (572 >> 8) & 0xff, - 572 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2931 >> 8) & 0xff, + 2931 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv.en", + .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3542 >> 8) & 0xff, - 3542 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (573 >> 8) & 0xff, - 573 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2934 >> 8) & 0xff, + 2934 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv.en", + .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3546 >> 8) & 0xff, - 3546 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2938 >> 8) & 0xff, + 2938 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3555 >> 8) & 0xff, - 3555 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2942 >> 8) & 0xff, + 2942 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip3.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3563 >> 8) & 0xff, - 3563 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2946 >> 8) & 0xff, + 2946 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip2.en", + .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3570 >> 8) & 0xff, - 3570 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2950 >> 8) & 0xff, + 2950 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip1.en", + .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3577 >> 8) & 0xff, - 3577 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2954 >> 8) & 0xff, + 2954 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", + .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3584 >> 8) & 0xff, - 3584 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (579 >> 8) & 0xff, - 579 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2958 >> 8) & 0xff, + 2958 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_TL3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3588 >> 8) & 0xff, - 3588 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (580 >> 8) & 0xff, - 580 & 0xff} + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2994 >> 8) & 0xff, + 2994 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} }, { - .description = "l3_sip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3591 >> 8) & 0xff, - 3591 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3001 >> 8) & 0xff, + 3001 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} }, { - .description = "l3_dip3.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3598 >> 8) & 0xff, - 3598 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3019 >> 8) & 0xff, + 3019 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip2.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3605 >> 8) & 0xff, - 3605 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3029 >> 8) & 0xff, + 3029 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip1.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3612 >> 8) & 0xff, - 3612 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3056 >> 8) & 0xff, + 3056 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3619 >> 8) & 0xff, - 3619 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (585 >> 8) & 0xff, - 585 & 0xff} + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3061 >> 8) & 0xff, + 3061 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3623 >> 8) & 0xff, - 3623 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (586 >> 8) & 0xff, - 586 & 0xff} + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3082 >> 8) & 0xff, + 3082 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip0.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3626 >> 8) & 0xff, - 3626 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3090 >> 8) & 0xff, + 3090 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3633 >> 8) & 0xff, - 3633 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (588 >> 8) & 0xff, - 588 & 0xff} + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3098 >> 8) & 0xff, + 3098 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3637 >> 8) & 0xff, - 3637 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (589 >> 8) & 0xff, - 589 & 0xff} + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3106 >> 8) & 0xff, + 3106 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3640 >> 8) & 0xff, - 3640 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3114 >> 8) & 0xff, + 3114 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3647 >> 8) & 0xff, - 3647 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (591 >> 8) & 0xff, - 591 & 0xff} + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3122 >> 8) & 0xff, + 3122 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3651 >> 8) & 0xff, - 3651 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (592 >> 8) & 0xff, - 592 & 0xff} - }, - { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3654 >> 8) & 0xff, - 3654 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3661 >> 8) & 0xff, - 3661 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (594 >> 8) & 0xff, - 594 & 0xff} - }, - { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3665 >> 8) & 0xff, - 3665 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (595 >> 8) & 0xff, - 595 & 0xff} - }, - { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3668 >> 8) & 0xff, - 3668 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3675 >> 8) & 0xff, - 3675 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (597 >> 8) & 0xff, - 597 & 0xff} - }, - { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3679 >> 8) & 0xff, - 3679 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (598 >> 8) & 0xff, - 598 & 0xff} - }, - { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3682 >> 8) & 0xff, - 3682 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3689 >> 8) & 0xff, - 3689 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (600 >> 8) & 0xff, - 600 & 0xff} - }, - { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3693 >> 8) & 0xff, - 3693 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (601 >> 8) & 0xff, - 601 & 0xff} - }, - { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3696 >> 8) & 0xff, - 3696 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3742 >> 8) & 0xff, - 3742 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3752 >> 8) & 0xff, - 3752 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3803 >> 8) & 0xff, - 3803 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3811 >> 8) & 0xff, - 3811 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3819 >> 8) & 0xff, - 3819 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3827 >> 8) & 0xff, - 3827 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3835 >> 8) & 0xff, - 3835 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3843 >> 8) & 0xff, - 3843 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3851 >> 8) & 0xff, - 3851 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3130 >> 8) & 0xff, + 3130 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { .description = "tl4.src", @@ -47752,8 +50135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3859 >> 8) & 0xff, - 3859 & 0xff, + (3138 >> 8) & 0xff, + 3138 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47768,11 +50151,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3868 >> 8) & 0xff, - 3868 & 0xff, + (3147 >> 8) & 0xff, + 3147 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47781,8 +50167,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3877 >> 8) & 0xff, - 3877 & 0xff, + (3156 >> 8) & 0xff, + 3156 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47797,11 +50183,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3884 >> 8) & 0xff, - 3884 & 0xff, + (3163 >> 8) & 0xff, + 3163 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47810,8 +50199,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3890 >> 8) & 0xff, - 3890 & 0xff, + (3169 >> 8) & 0xff, + 3169 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47826,11 +50215,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3898 >> 8) & 0xff, - 3898 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (3176 >> 8) & 0xff, + 3176 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47839,10 +50231,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3907 >> 8) & 0xff, - 3907 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (3183 >> 8) & 0xff, + 3183 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -47855,11 +50247,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3915 >> 8) & 0xff, - 3915 & 0xff, + (3190 >> 8) & 0xff, + 3190 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47868,8 +50263,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3922 >> 8) & 0xff, - 3922 & 0xff, + (3197 >> 8) & 0xff, + 3197 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47884,11 +50279,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3930 >> 8) & 0xff, - 3930 & 0xff, + (3205 >> 8) & 0xff, + 3205 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47897,8 +50295,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3939 >> 8) & 0xff, - 3939 & 0xff, + (3214 >> 8) & 0xff, + 3214 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47913,15 +50311,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3948 >> 8) & 0xff, - 3948 & 0xff, + (3223 >> 8) & 0xff, + 3223 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (623 >> 8) & 0xff, - 623 & 0xff} + (533 >> 8) & 0xff, + 533 & 0xff} }, { .description = "l2_ivv", @@ -47929,15 +50330,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3953 >> 8) & 0xff, - 3953 & 0xff, + (3228 >> 8) & 0xff, + 3228 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (624 >> 8) & 0xff, - 624 & 0xff} + (534 >> 8) & 0xff, + 534 & 0xff} }, { .description = "l2_ivv", @@ -47945,11 +50349,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3957 >> 8) & 0xff, - 3957 & 0xff, + (3232 >> 8) & 0xff, + 3232 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -47958,8 +50365,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3966 >> 8) & 0xff, - 3966 & 0xff, + (3241 >> 8) & 0xff, + 3241 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47968,8 +50375,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (626 >> 8) & 0xff, - 626 & 0xff} + (536 >> 8) & 0xff, + 536 & 0xff} }, { .description = "l2_ivv", @@ -47977,8 +50384,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3971 >> 8) & 0xff, - 3971 & 0xff, + (3246 >> 8) & 0xff, + 3246 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -47987,8 +50394,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (627 >> 8) & 0xff, - 627 & 0xff} + (537 >> 8) & 0xff, + 537 & 0xff} }, { .description = "l2_ivv", @@ -47996,8 +50403,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3975 >> 8) & 0xff, - 3975 & 0xff, + (3250 >> 8) & 0xff, + 3250 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48012,11 +50419,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3984 >> 8) & 0xff, - 3984 & 0xff, + (3259 >> 8) & 0xff, + 3259 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48025,8 +50435,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3993 >> 8) & 0xff, - 3993 & 0xff, + (3268 >> 8) & 0xff, + 3268 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48041,11 +50451,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4001 >> 8) & 0xff, - 4001 & 0xff, + (3276 >> 8) & 0xff, + 3276 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48054,8 +50467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4008 >> 8) & 0xff, - 4008 & 0xff, + (3283 >> 8) & 0xff, + 3283 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48070,11 +50483,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4015 >> 8) & 0xff, - 4015 & 0xff, + (3290 >> 8) & 0xff, + 3290 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48083,8 +50499,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4022 >> 8) & 0xff, - 4022 & 0xff, + (3297 >> 8) & 0xff, + 3297 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48099,11 +50515,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4029 >> 8) & 0xff, - 4029 & 0xff, + (3304 >> 8) & 0xff, + 3304 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48112,8 +50531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4036 >> 8) & 0xff, - 4036 & 0xff, + (3311 >> 8) & 0xff, + 3311 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48128,11 +50547,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4043 >> 8) & 0xff, - 4043 & 0xff, + (3318 >> 8) & 0xff, + 3318 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48141,8 +50563,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4050 >> 8) & 0xff, - 4050 & 0xff, + (3325 >> 8) & 0xff, + 3325 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48157,15 +50579,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4057 >> 8) & 0xff, - 4057 & 0xff, + (3332 >> 8) & 0xff, + 3332 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (639 >> 8) & 0xff, - 639 & 0xff} + (549 >> 8) & 0xff, + 549 & 0xff} }, { .description = "l3.ttl", @@ -48173,15 +50598,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4061 >> 8) & 0xff, - 4061 & 0xff, + (3336 >> 8) & 0xff, + 3336 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (640 >> 8) & 0xff, - 640 & 0xff} + (550 >> 8) & 0xff, + 550 & 0xff} }, { .description = "l3.ttl", @@ -48189,11 +50617,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4064 >> 8) & 0xff, - 4064 & 0xff, + (3339 >> 8) & 0xff, + 3339 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -48202,8 +50633,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4071 >> 8) & 0xff, - 4071 & 0xff, + (3346 >> 8) & 0xff, + 3346 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -48212,443 +50643,4831 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (642 >> 8) & 0xff, - 642 & 0xff} + (552 >> 8) & 0xff, + 552 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3350 >> 8) & 0xff, + 3350 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (553 >> 8) & 0xff, + 553 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3353 >> 8) & 0xff, + 3353 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3359 >> 8) & 0xff, + 3359 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (555 >> 8) & 0xff, + 555 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3362 >> 8) & 0xff, + 3362 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (556 >> 8) & 0xff, + 556 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3364 >> 8) & 0xff, + 3364 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (557 >> 8) & 0xff, + 557 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3366 >> 8) & 0xff, + 3366 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (558 >> 8) & 0xff, + 558 & 0xff} }, { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4075 >> 8) & 0xff, - 4075 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (643 >> 8) & 0xff, - 643 & 0xff} - }, + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3370 >> 8) & 0xff, + 3370 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (559 >> 8) & 0xff, + 559 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3374 >> 8) & 0xff, + 3374 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (560 >> 8) & 0xff, + 560 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3377 >> 8) & 0xff, + 3377 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3383 >> 8) & 0xff, + 3383 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (562 >> 8) & 0xff, + 562 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3386 >> 8) & 0xff, + 3386 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (563 >> 8) & 0xff, + 563 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3388 >> 8) & 0xff, + 3388 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR2_SYM_IP_PROTO_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (564 >> 8) & 0xff, + 564 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3390 >> 8) & 0xff, + 3390 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (565 >> 8) & 0xff, + 565 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3394 >> 8) & 0xff, + 3394 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (566 >> 8) & 0xff, + 566 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3398 >> 8) & 0xff, + 3398 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (567 >> 8) & 0xff, + 567 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3401 >> 8) & 0xff, + 3401 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3408 >> 8) & 0xff, + 3408 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (569 >> 8) & 0xff, + 569 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3412 >> 8) & 0xff, + 3412 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (570 >> 8) & 0xff, + 570 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3415 >> 8) & 0xff, + 3415 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3422 >> 8) & 0xff, + 3422 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (572 >> 8) & 0xff, + 572 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3426 >> 8) & 0xff, + 3426 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (573 >> 8) & 0xff, + 573 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3429 >> 8) & 0xff, + 3429 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3436 >> 8) & 0xff, + 3436 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (575 >> 8) & 0xff, + 575 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3440 >> 8) & 0xff, + 3440 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (576 >> 8) & 0xff, + 576 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3443 >> 8) & 0xff, + 3443 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (577 >> 8) & 0xff, + 577 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3446 >> 8) & 0xff, + 3446 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3452 >> 8) & 0xff, + 3452 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (579 >> 8) & 0xff, + 579 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3456 >> 8) & 0xff, + 3456 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (580 >> 8) & 0xff, + 580 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3459 >> 8) & 0xff, + 3459 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (581 >> 8) & 0xff, + 581 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3462 >> 8) & 0xff, + 3462 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3468 >> 8) & 0xff, + 3468 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (583 >> 8) & 0xff, + 583 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3472 >> 8) & 0xff, + 3472 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (584 >> 8) & 0xff, + 584 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3475 >> 8) & 0xff, + 3475 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (585 >> 8) & 0xff, + 585 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3478 >> 8) & 0xff, + 3478 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3484 >> 8) & 0xff, + 3484 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (587 >> 8) & 0xff, + 587 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3488 >> 8) & 0xff, + 3488 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (588 >> 8) & 0xff, + 588 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3491 >> 8) & 0xff, + 3491 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (589 >> 8) & 0xff, + 589 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3494 >> 8) & 0xff, + 3494 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "tl2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3531 >> 8) & 0xff, + 3531 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3557 >> 8) & 0xff, + 3557 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3577 >> 8) & 0xff, + 3577 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3585 >> 8) & 0xff, + 3585 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3593 >> 8) & 0xff, + 3593 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3601 >> 8) & 0xff, + 3601 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3609 >> 8) & 0xff, + 3609 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3618 >> 8) & 0xff, + 3618 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tids.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3625 >> 8) & 0xff, + 3625 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_dmac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3633 >> 8) & 0xff, + 3633 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_smac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3641 >> 8) & 0xff, + 3641 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_ovv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3649 >> 8) & 0xff, + 3649 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3658 >> 8) & 0xff, + 3658 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (603 >> 8) & 0xff, + 603 & 0xff} + }, + { + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3663 >> 8) & 0xff, + 3663 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (604 >> 8) & 0xff, + 604 & 0xff} + }, + { + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3667 >> 8) & 0xff, + 3667 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_etype.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3676 >> 8) & 0xff, + 3676 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3684 >> 8) & 0xff, + 3684 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3691 >> 8) & 0xff, + 3691 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3698 >> 8) & 0xff, + 3698 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3705 >> 8) & 0xff, + 3705 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (610 >> 8) & 0xff, + 610 & 0xff} + }, + { + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3709 >> 8) & 0xff, + 3709 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (611 >> 8) & 0xff, + 611 & 0xff} + }, + { + .description = "l3_sip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3712 >> 8) & 0xff, + 3712 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3719 >> 8) & 0xff, + 3719 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3726 >> 8) & 0xff, + 3726 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3733 >> 8) & 0xff, + 3733 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3740 >> 8) & 0xff, + 3740 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (616 >> 8) & 0xff, + 616 & 0xff} + }, + { + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3744 >> 8) & 0xff, + 3744 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (617 >> 8) & 0xff, + 617 & 0xff} + }, + { + .description = "l3_dip0.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3747 >> 8) & 0xff, + 3747 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3754 >> 8) & 0xff, + 3754 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (619 >> 8) & 0xff, + 619 & 0xff} + }, + { + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3758 >> 8) & 0xff, + 3758 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (620 >> 8) & 0xff, + 620 & 0xff} + }, + { + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3761 >> 8) & 0xff, + 3761 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3768 >> 8) & 0xff, + 3768 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (622 >> 8) & 0xff, + 622 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3772 >> 8) & 0xff, + 3772 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (623 >> 8) & 0xff, + 623 & 0xff} + }, + { + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3775 >> 8) & 0xff, + 3775 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3782 >> 8) & 0xff, + 3782 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (625 >> 8) & 0xff, + 625 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3786 >> 8) & 0xff, + 3786 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (626 >> 8) & 0xff, + 626 & 0xff} + }, + { + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3789 >> 8) & 0xff, + 3789 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3796 >> 8) & 0xff, + 3796 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (628 >> 8) & 0xff, + 628 & 0xff} + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3800 >> 8) & 0xff, + 3800 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (629 >> 8) & 0xff, + 629 & 0xff} + }, + { + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3803 >> 8) & 0xff, + 3803 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3810 >> 8) & 0xff, + 3810 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (631 >> 8) & 0xff, + 631 & 0xff} + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3814 >> 8) & 0xff, + 3814 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (632 >> 8) & 0xff, + 632 & 0xff} + }, + { + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3817 >> 8) & 0xff, + 3817 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3863 >> 8) & 0xff, + 3863 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3873 >> 8) & 0xff, + 3873 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3924 >> 8) & 0xff, + 3924 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3932 >> 8) & 0xff, + 3932 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3940 >> 8) & 0xff, + 3940 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3948 >> 8) & 0xff, + 3948 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3956 >> 8) & 0xff, + 3956 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3964 >> 8) & 0xff, + 3964 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3972 >> 8) & 0xff, + 3972 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3980 >> 8) & 0xff, + 3980 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3989 >> 8) & 0xff, + 3989 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3998 >> 8) & 0xff, + 3998 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4005 >> 8) & 0xff, + 4005 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4011 >> 8) & 0xff, + 4011 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4019 >> 8) & 0xff, + 4019 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4028 >> 8) & 0xff, + 4028 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4036 >> 8) & 0xff, + 4036 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4043 >> 8) & 0xff, + 4043 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4051 >> 8) & 0xff, + 4051 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4060 >> 8) & 0xff, + 4060 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4069 >> 8) & 0xff, + 4069 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (654 >> 8) & 0xff, + 654 & 0xff} + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4074 >> 8) & 0xff, + 4074 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (655 >> 8) & 0xff, + 655 & 0xff} + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4078 >> 8) & 0xff, + 4078 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4087 >> 8) & 0xff, + 4087 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (657 >> 8) & 0xff, + 657 & 0xff} + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4092 >> 8) & 0xff, + 4092 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (658 >> 8) & 0xff, + 658 & 0xff} + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4096 >> 8) & 0xff, + 4096 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4105 >> 8) & 0xff, + 4105 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4114 >> 8) & 0xff, + 4114 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4122 >> 8) & 0xff, + 4122 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4129 >> 8) & 0xff, + 4129 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4136 >> 8) & 0xff, + 4136 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4143 >> 8) & 0xff, + 4143 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4150 >> 8) & 0xff, + 4150 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4157 >> 8) & 0xff, + 4157 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4164 >> 8) & 0xff, + 4164 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4171 >> 8) & 0xff, + 4171 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4178 >> 8) & 0xff, + 4178 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (670 >> 8) & 0xff, + 670 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4182 >> 8) & 0xff, + 4182 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (671 >> 8) & 0xff, + 671 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4185 >> 8) & 0xff, + 4185 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4192 >> 8) & 0xff, + 4192 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (673 >> 8) & 0xff, + 673 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4196 >> 8) & 0xff, + 4196 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (674 >> 8) & 0xff, + 674 & 0xff} + }, + { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4199 >> 8) & 0xff, + 4199 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4206 >> 8) & 0xff, + 4206 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (676 >> 8) & 0xff, + 676 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4210 >> 8) & 0xff, + 4210 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (677 >> 8) & 0xff, + 677 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4213 >> 8) & 0xff, + 4213 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4220 >> 8) & 0xff, + 4220 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (679 >> 8) & 0xff, + 679 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4224 >> 8) & 0xff, + 4224 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (680 >> 8) & 0xff, + 680 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4227 >> 8) & 0xff, + 4227 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4234 >> 8) & 0xff, + 4234 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (682 >> 8) & 0xff, + 682 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4238 >> 8) & 0xff, + 4238 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (683 >> 8) & 0xff, + 683 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4241 >> 8) & 0xff, + 4241 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4248 >> 8) & 0xff, + 4248 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (685 >> 8) & 0xff, + 685 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4252 >> 8) & 0xff, + 4252 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (686 >> 8) & 0xff, + 686 & 0xff} + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4255 >> 8) & 0xff, + 4255 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4262 >> 8) & 0xff, + 4262 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (688 >> 8) & 0xff, + 688 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4266 >> 8) & 0xff, + 4266 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (689 >> 8) & 0xff, + 689 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4269 >> 8) & 0xff, + 4269 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4276 >> 8) & 0xff, + 4276 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (691 >> 8) & 0xff, + 691 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4280 >> 8) & 0xff, + 4280 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (692 >> 8) & 0xff, + 692 & 0xff} + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4283 >> 8) & 0xff, + 4283 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4290 >> 8) & 0xff, + 4290 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (694 >> 8) & 0xff, + 694 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4294 >> 8) & 0xff, + 4294 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (695 >> 8) & 0xff, + 695 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4297 >> 8) & 0xff, + 4297 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4304 >> 8) & 0xff, + 4304 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (697 >> 8) & 0xff, + 697 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4308 >> 8) & 0xff, + 4308 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (698 >> 8) & 0xff, + 698 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4311 >> 8) & 0xff, + 4311 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } +}; + +struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { + /* class_tid: 1, , table: dyn_upar_tbl.srv6_alloc */ + { + .description = "l2_upar_tun.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_id.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_context.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_option_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_be.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_be_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "re_gparse_l3_enables.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "res01", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_tun", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_en_tun", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_tun_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_res02", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat_tun", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat_en_tun", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_res01", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_res01", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_encap", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_nib_peek_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_chksum_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_chksum_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_res01", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_res01", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_res01", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_dest_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_dest_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_res01", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_dest_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_dest_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_chksum_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_chksum_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_res01", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_id_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_id_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_id_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_qos_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_qos_slice", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_qos_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_res01", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_id_mask", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_1_context_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_1_context_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_1_context_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_1_res01", + .field_bit_size = 19, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_context_mask", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_encap", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_nib_peek_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar2_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar3_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar4_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar5_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar6_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar7_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_be_res01", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar2s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar3s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar4s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar5s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar6s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar7s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_pat_be_res01", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_udp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_icmpv4", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_icmpv6", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_ipv4_encap", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_ipv6_encap", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_hopbyhop", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_dest_opt", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_routing", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_fragment", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_esp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_ah", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_mob", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre_ipv4", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre_ipv6", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre_nvgre", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre_6558", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_udp_4500", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre_ext_mode", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_res02", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_ipsec_ah", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_ipsec_esp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_res03", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_disables", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_enables", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 1, , table: dyn_upar_tbl.srv6_wr */ + { + .description = "l2_upar_tun.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "l4_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "gre_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_id.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_upar_1.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_context.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "tun_upar_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_option.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "tun_upar_option_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_be.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "tun_upar_pat_be_secondary.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "re_gparse_l3_enables.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "res01", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_tun", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_en_tun", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_tun_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_upar_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_res02", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_pat_tun", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_IP_PROTO_IPV6_ROUTE} + }, + { + .description = "l3_upar_pat_en_tun", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "l3_upar_res01", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_res01", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_SRV6_IPV6_ENCAP >> 8) & 0xff, + ULP_THOR2_SYM_SRV6_IPV6_ENCAP & 0xff} + }, + { + .description = "tun_upar_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_HDR_SIZE} + }, + { + .description = "tun_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "tun_upar_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "tun_upar_encap", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_V6_ENCAP} + }, + { + .description = "tun_upar_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_nib_peek_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "gre_upar_res01", + .field_bit_size = 15, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_flow_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_chksum_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_chksum_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_1_res01", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_src_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_2_res01", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_dest_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar_3_res01", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_src_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_dest_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_dest_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_1_res01", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_dest_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_dest_mask", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_chksum_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_chksum_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar_2_res01", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_id_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_upar_id_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_ID_EXTRACTION_OFFSET} + }, + { + .description = "t_upar_id_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_ID_EXTRACTION_LENGTH} + }, + { + .description = "t_upar_qos_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_qos_slice", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_qos_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_upar_opt_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_upar_res01", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_id_mask", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_SRV6_ID_MASK >> 24) & 0xff, + (ULP_THOR2_SYM_SRV6_ID_MASK >> 16) & 0xff, + (ULP_THOR2_SYM_SRV6_ID_MASK >> 8) & 0xff, + ULP_THOR2_SYM_SRV6_ID_MASK & 0xff} + }, + { + .description = "t_upar_1_context_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "t_upar_1_context_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_CTXT_EXTRACTION_OFFSET} + }, + { + .description = "t_upar_1_context_size", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_CTXT_EXTRACTION_LENGTH} + }, + { + .description = "t_upar_1_res01", + .field_bit_size = 19, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "t_context_mask", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR2_SYM_SRV6_CTXT_MASK >> 24) & 0xff, + (ULP_THOR2_SYM_SRV6_CTXT_MASK >> 16) & 0xff, + (ULP_THOR2_SYM_SRV6_CTXT_MASK >> 8) & 0xff, + ULP_THOR2_SYM_SRV6_CTXT_MASK & 0xff} + }, + { + .description = "tun_upars_pat", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_size", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_pat_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_encap", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_hdr_offs", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_nib_peek_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l4_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_HDR_LEN_OFFSET} + }, + { + .description = "tun_upar0_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_8BIT_FLD} + }, + { + .description = "tun_upar0_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_8BYTE_UNIT} + }, + { + .description = "tun_upar0_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_loffs", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_bits", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_nib", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_hunits", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_opt_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_SRV6_PATTERN} + }, + { + .description = "tun_upar1_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar2_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar3_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar4_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar5_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar6_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar7_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar_pat_be_res01", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar0s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar1s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar2s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar3s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar4s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar5s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar6s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upar7s_pat_be", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_upars_pat_be_res01", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_udp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_icmpv4", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_icmpv6", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "regp_l3_en_gre", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4078 >> 8) & 0xff, - 4078 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_ipv4_encap", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4085 >> 8) & 0xff, - 4085 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (645 >> 8) & 0xff, - 645 & 0xff} - }, + .description = "regp_l3_en_ipv6_encap", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4089 >> 8) & 0xff, - 4089 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (646 >> 8) & 0xff, - 646 & 0xff} - }, + .description = "regp_l3_en_res01", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4092 >> 8) & 0xff, - 4092 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_hopbyhop", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4099 >> 8) & 0xff, - 4099 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (648 >> 8) & 0xff, - 648 & 0xff} - }, + .description = "regp_l3_en_dest_opt", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4103 >> 8) & 0xff, - 4103 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (649 >> 8) & 0xff, - 649 & 0xff} - }, + .description = "regp_l3_en_routing", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4106 >> 8) & 0xff, - 4106 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_fragment", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4113 >> 8) & 0xff, - 4113 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (651 >> 8) & 0xff, - 651 & 0xff} - }, + .description = "regp_l3_en_esp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4117 >> 8) & 0xff, - 4117 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (652 >> 8) & 0xff, - 652 & 0xff} - }, + .description = "regp_l3_en_ah", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4120 >> 8) & 0xff, - 4120 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_mob", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4127 >> 8) & 0xff, - 4127 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (654 >> 8) & 0xff, - 654 & 0xff} - }, + .description = "regp_l3_en_gre_ipv4", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4131 >> 8) & 0xff, - 4131 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (655 >> 8) & 0xff, - 655 & 0xff} - }, + .description = "regp_l3_en_gre_ipv6", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4134 >> 8) & 0xff, - 4134 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_gre_nvgre", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4141 >> 8) & 0xff, - 4141 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (657 >> 8) & 0xff, - 657 & 0xff} - }, + .description = "regp_l3_en_gre_6558", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4145 >> 8) & 0xff, - 4145 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (658 >> 8) & 0xff, - 658 & 0xff} - }, + .description = "regp_l3_en_udp_4500", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4148 >> 8) & 0xff, - 4148 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_gre_ext_mode", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4155 >> 8) & 0xff, - 4155 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (660 >> 8) & 0xff, - 660 & 0xff} - }, + .description = "regp_l3_en_res02", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4159 >> 8) & 0xff, - 4159 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (661 >> 8) & 0xff, - 661 & 0xff} - }, + .description = "regp_l3_en_ipsec_ah", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4162 >> 8) & 0xff, - 4162 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_ipsec_esp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4169 >> 8) & 0xff, - 4169 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (663 >> 8) & 0xff, - 663 & 0xff} - }, + .description = "regp_l3_en_res03", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4173 >> 8) & 0xff, - 4173 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (664 >> 8) & 0xff, - 664 & 0xff} - }, + .description = "regp_l3_en_disables", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4176 >> 8) & 0xff, - 4176 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, + .description = "regp_l3_en_enables", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 1, , table: tunnel_gparse_cache.dyn_upar_wr */ { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4183 >> 8) & 0xff, - 4183 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (666 >> 8) & 0xff, - 666 & 0xff} - }, + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4187 >> 8) & 0xff, - 4187 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (667 >> 8) & 0xff, - 667 & 0xff} - }, + .description = "udp_port", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_TUNNEL_PORT >> 8) & 0xff, + BNXT_ULP_CF_IDX_TUNNEL_PORT & 0xff} + }, { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (4190 >> 8) & 0xff, - 4190 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - } -}; - -struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { + .description = "global_handle", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "alloc_tun", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6} + }, + { + .description = "dyn_tun_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0 & 0xff} + }, + { + .description = "dyn_upar_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DYN_UPAR_ID >> 8) & 0xff, + BNXT_ULP_RF_IDX_DYN_UPAR_ID & 0xff} + }, /* class_tid: 1, , table: cust_tunnel.configure_vxlan_port */ { .description = "udp_port", @@ -48704,6 +55523,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + { + .description = "alloc_tun", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "dyn_tun_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "dyn_upar_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, /* class_tid: 1, , table: cmm_stat_record.add_stat_tunnel_cache */ { .description = "packet_count", @@ -48924,6 +55761,128 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ + { + .description = "l2ip_dest_data", + .field_bit_size = 17, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_dest_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_data", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_rec_ptr", + .field_bit_size = 26, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} + }, + { + .description = "l2ip_act_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + }, + { + .description = "l2ip_act_hint", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_meta", + .field_bit_size = 35, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_meta_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ctxt_opcode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW} + }, + { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, + { + .description = "prsv_prof_func_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "prsv_l2ip_cntxt_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} + }, + { + .description = "prsv_parif", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ { .description = "rid", @@ -48943,6 +55902,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */ /* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */ { .description = "l2ip_dest_data", @@ -49064,6 +56024,127 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ + { + .description = "l2ip_dest_data", + .field_bit_size = 17, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_dest_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_data", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_rec_ptr", + .field_bit_size = 26, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} + }, + { + .description = "l2ip_act_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + }, + { + .description = "l2ip_act_hint", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "l2ip_meta", + .field_bit_size = 35, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_meta_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ctxt_opcode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW} + }, + { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, + { + .description = "prsv_prof_func_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "prsv_l2ip_cntxt_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "prsv_parif", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, /* class_tid: 1, , table: mac_addr_cache.l2_table_wr */ { .description = "rid", @@ -49117,6 +56198,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */ /* class_tid: 1, , table: fkb_select.wc_gen_template */ { .description = "l2_cntxt_id.en", @@ -49124,8 +56206,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (146 >> 8) & 0xff, - 146 & 0xff, + (179 >> 8) & 0xff, + 179 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49169,8 +56251,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (148 >> 8) & 0xff, - 148 & 0xff, + (181 >> 8) & 0xff, + 181 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49184,8 +56266,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (150 >> 8) & 0xff, - 150 & 0xff, + (183 >> 8) & 0xff, + 183 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49199,8 +56281,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (152 >> 8) & 0xff, - 152 & 0xff, + (185 >> 8) & 0xff, + 185 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49556,8 +56638,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (153 >> 8) & 0xff, - 153 & 0xff, + (186 >> 8) & 0xff, + 186 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49571,8 +56653,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (157 >> 8) & 0xff, - 157 & 0xff, + (190 >> 8) & 0xff, + 190 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49616,8 +56698,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (161 >> 8) & 0xff, - 161 & 0xff, + (194 >> 8) & 0xff, + 194 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49649,8 +56731,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (166 >> 8) & 0xff, - 166 & 0xff, + (199 >> 8) & 0xff, + 199 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49673,8 +56755,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (176 >> 8) & 0xff, - 176 & 0xff, + (209 >> 8) & 0xff, + 209 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49694,8 +56776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (181 >> 8) & 0xff, - 181 & 0xff, + (214 >> 8) & 0xff, + 214 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49709,8 +56791,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (186 >> 8) & 0xff, - 186 & 0xff, + (219 >> 8) & 0xff, + 219 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49724,8 +56806,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (191 >> 8) & 0xff, - 191 & 0xff, + (224 >> 8) & 0xff, + 224 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49739,8 +56821,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (196 >> 8) & 0xff, - 196 & 0xff, + (229 >> 8) & 0xff, + 229 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, @@ -49758,8 +56840,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (205 >> 8) & 0xff, - 205 & 0xff, + (238 >> 8) & 0xff, + 238 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49773,8 +56855,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (209 >> 8) & 0xff, - 209 & 0xff, + (242 >> 8) & 0xff, + 242 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49788,8 +56870,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (213 >> 8) & 0xff, - 213 & 0xff, + (246 >> 8) & 0xff, + 246 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49803,8 +56885,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (217 >> 8) & 0xff, - 217 & 0xff, + (250 >> 8) & 0xff, + 250 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49821,8 +56903,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (225 >> 8) & 0xff, - 225 & 0xff, + (258 >> 8) & 0xff, + 258 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49839,8 +56921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (233 >> 8) & 0xff, - 233 & 0xff, + (266 >> 8) & 0xff, + 266 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49863,8 +56945,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (241 >> 8) & 0xff, - 241 & 0xff, + (274 >> 8) & 0xff, + 274 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49947,8 +57029,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (249 >> 8) & 0xff, - 249 & 0xff, + (282 >> 8) & 0xff, + 282 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49965,8 +57047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (257 >> 8) & 0xff, - 257 & 0xff, + (290 >> 8) & 0xff, + 290 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50031,8 +57113,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (266 >> 8) & 0xff, - 266 & 0xff, + (299 >> 8) & 0xff, + 299 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50046,8 +57128,20 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { { .description = "tid.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (305 >> 8) & 0xff, + 305 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (20 >> 8) & 0xff, + 20 & 0xff} }, { .description = "tctxts.en", @@ -50085,8 +57179,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (272 >> 8) & 0xff, - 272 & 0xff, + (309 >> 8) & 0xff, + 309 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50094,8 +57188,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (20 >> 8) & 0xff, - 20 & 0xff} + (21 >> 8) & 0xff, + 21 & 0xff} }, { .description = "l2_smac.en", @@ -50103,8 +57197,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (279 >> 8) & 0xff, - 279 & 0xff, + (316 >> 8) & 0xff, + 316 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50112,8 +57206,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (21 >> 8) & 0xff, - 21 & 0xff} + (22 >> 8) & 0xff, + 22 & 0xff} }, { .description = "l2_dt.en", @@ -50151,8 +57245,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (286 >> 8) & 0xff, - 286 & 0xff, + (323 >> 8) & 0xff, + 323 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50160,8 +57254,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (22 >> 8) & 0xff, - 22 & 0xff} + (23 >> 8) & 0xff, + 23 & 0xff} }, { .description = "l2_ovt.en", @@ -50187,8 +57281,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (295 >> 8) & 0xff, - 295 & 0xff, + (332 >> 8) & 0xff, + 332 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50196,8 +57290,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (23 >> 8) & 0xff, - 23 & 0xff} + (24 >> 8) & 0xff, + 24 & 0xff} }, { .description = "l2_ivt.en", @@ -50211,8 +57305,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (313 >> 8) & 0xff, - 313 & 0xff, + (350 >> 8) & 0xff, + 350 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50220,8 +57314,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (26 >> 8) & 0xff, - 26 & 0xff} + (27 >> 8) & 0xff, + 27 & 0xff} }, { .description = "l3_l3type.en", @@ -50235,8 +57329,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (322 >> 8) & 0xff, - 322 & 0xff, + (359 >> 8) & 0xff, + 359 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50244,8 +57338,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (27 >> 8) & 0xff, - 27 & 0xff} + (28 >> 8) & 0xff, + 28 & 0xff} }, { .description = "l3_sip2.en", @@ -50253,8 +57347,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (331 >> 8) & 0xff, - 331 & 0xff, + (368 >> 8) & 0xff, + 368 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50262,8 +57356,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (28 >> 8) & 0xff, - 28 & 0xff} + (29 >> 8) & 0xff, + 29 & 0xff} }, { .description = "l3_sip1.en", @@ -50271,8 +57365,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (340 >> 8) & 0xff, - 340 & 0xff, + (377 >> 8) & 0xff, + 377 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50280,8 +57374,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (29 >> 8) & 0xff, - 29 & 0xff} + (30 >> 8) & 0xff, + 30 & 0xff} }, { .description = "l3_sip0.en", @@ -50289,8 +57383,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (349 >> 8) & 0xff, - 349 & 0xff, + (386 >> 8) & 0xff, + 386 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50298,8 +57392,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (30 >> 8) & 0xff, - 30 & 0xff} + (31 >> 8) & 0xff, + 31 & 0xff} }, { .description = "l3_dip3.en", @@ -50307,8 +57401,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (367 >> 8) & 0xff, - 367 & 0xff, + (404 >> 8) & 0xff, + 404 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50316,8 +57410,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (33 >> 8) & 0xff, - 33 & 0xff} + (34 >> 8) & 0xff, + 34 & 0xff} }, { .description = "l3_dip2.en", @@ -50325,8 +57419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (376 >> 8) & 0xff, - 376 & 0xff, + (413 >> 8) & 0xff, + 413 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50334,8 +57428,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (34 >> 8) & 0xff, - 34 & 0xff} + (35 >> 8) & 0xff, + 35 & 0xff} }, { .description = "l3_dip1.en", @@ -50343,8 +57437,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (385 >> 8) & 0xff, - 385 & 0xff, + (422 >> 8) & 0xff, + 422 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50352,8 +57446,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (35 >> 8) & 0xff, - 35 & 0xff} + (36 >> 8) & 0xff, + 36 & 0xff} }, { .description = "l3_dip0.en", @@ -50361,8 +57455,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (394 >> 8) & 0xff, - 394 & 0xff, + (431 >> 8) & 0xff, + 431 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50370,8 +57464,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (36 >> 8) & 0xff, - 36 & 0xff} + (37 >> 8) & 0xff, + 37 & 0xff} }, { .description = "l3_ttl.en", @@ -50379,8 +57473,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (412 >> 8) & 0xff, - 412 & 0xff, + (449 >> 8) & 0xff, + 449 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50388,8 +57482,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (39 >> 8) & 0xff, - 39 & 0xff} + (40 >> 8) & 0xff, + 40 & 0xff} }, { .description = "l3_prot.en", @@ -50397,8 +57491,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (430 >> 8) & 0xff, - 430 & 0xff, + (467 >> 8) & 0xff, + 467 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50406,8 +57500,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (42 >> 8) & 0xff, - 42 & 0xff} + (43 >> 8) & 0xff, + 43 & 0xff} }, { .description = "l3_fid.en", @@ -50421,8 +57515,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (462 >> 8) & 0xff, - 462 & 0xff, + (499 >> 8) & 0xff, + 499 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50430,8 +57524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (49 >> 8) & 0xff, - 49 & 0xff} + (50 >> 8) & 0xff, + 50 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -50505,18 +57599,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (480 >> 8) & 0xff, - 480 & 0xff, + (517 >> 8) & 0xff, + 517 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (52 >> 8) & 0xff, - 52 & 0xff}, + (53 >> 8) & 0xff, + 53 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (53 >> 8) & 0xff, - 53 & 0xff} + (54 >> 8) & 0xff, + 54 & 0xff} }, { .description = "l4_dst.en", @@ -50524,18 +57618,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (489 >> 8) & 0xff, - 489 & 0xff, + (526 >> 8) & 0xff, + 526 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (55 >> 8) & 0xff, - 55 & 0xff}, + (56 >> 8) & 0xff, + 56 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (56 >> 8) & 0xff, - 56 & 0xff} + (57 >> 8) & 0xff, + 57 & 0xff} }, { .description = "l4_flags.en", @@ -51664,6 +58758,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */ /* class_tid: 1, , table: profile_tcam.gen_template */ { .description = "wc_scope", @@ -51832,8 +58927,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1301 >> 8) & 0xff, - 1301 & 0xff, + (1403 >> 8) & 0xff, + 1403 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51877,8 +58972,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1303 >> 8) & 0xff, - 1303 & 0xff, + (1405 >> 8) & 0xff, + 1405 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51892,8 +58987,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1305 >> 8) & 0xff, - 1305 & 0xff, + (1407 >> 8) & 0xff, + 1407 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51907,8 +59002,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1307 >> 8) & 0xff, - 1307 & 0xff, + (1409 >> 8) & 0xff, + 1409 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52264,8 +59359,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1308 >> 8) & 0xff, - 1308 & 0xff, + (1410 >> 8) & 0xff, + 1410 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52279,8 +59374,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1313 >> 8) & 0xff, - 1313 & 0xff, + (1415 >> 8) & 0xff, + 1415 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52324,8 +59419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1317 >> 8) & 0xff, - 1317 & 0xff, + (1419 >> 8) & 0xff, + 1419 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52357,8 +59452,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1322 >> 8) & 0xff, - 1322 & 0xff, + (1424 >> 8) & 0xff, + 1424 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52366,8 +59461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (227 >> 8) & 0xff, - 227 & 0xff} + (255 >> 8) & 0xff, + 255 & 0xff} }, { .description = "tl2_ivt.en", @@ -52381,8 +59476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1332 >> 8) & 0xff, - 1332 & 0xff, + (1434 >> 8) & 0xff, + 1434 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52402,8 +59497,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1337 >> 8) & 0xff, - 1337 & 0xff, + (1439 >> 8) & 0xff, + 1439 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52417,8 +59512,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1341 >> 8) & 0xff, - 1341 & 0xff, + (1443 >> 8) & 0xff, + 1443 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52432,8 +59527,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1345 >> 8) & 0xff, - 1345 & 0xff, + (1447 >> 8) & 0xff, + 1447 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52447,8 +59542,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1349 >> 8) & 0xff, - 1349 & 0xff, + (1451 >> 8) & 0xff, + 1451 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52456,8 +59551,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (228 >> 8) & 0xff, - 228 & 0xff} + (256 >> 8) & 0xff, + 256 & 0xff} }, { .description = "tl3_dip3.en", @@ -52465,8 +59560,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1357 >> 8) & 0xff, - 1357 & 0xff, + (1459 >> 8) & 0xff, + 1459 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52480,8 +59575,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1361 >> 8) & 0xff, - 1361 & 0xff, + (1463 >> 8) & 0xff, + 1463 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52495,8 +59590,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1365 >> 8) & 0xff, - 1365 & 0xff, + (1467 >> 8) & 0xff, + 1467 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52510,8 +59605,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1369 >> 8) & 0xff, - 1369 & 0xff, + (1471 >> 8) & 0xff, + 1471 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52519,8 +59614,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (229 >> 8) & 0xff, - 229 & 0xff} + (257 >> 8) & 0xff, + 257 & 0xff} }, { .description = "tl3_ttl.en", @@ -52528,8 +59623,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1377 >> 8) & 0xff, - 1377 & 0xff, + (1479 >> 8) & 0xff, + 1479 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52537,8 +59632,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (230 >> 8) & 0xff, - 230 & 0xff} + (258 >> 8) & 0xff, + 258 & 0xff} }, { .description = "tl3_prot.en", @@ -52546,8 +59641,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1385 >> 8) & 0xff, - 1385 & 0xff, + (1487 >> 8) & 0xff, + 1487 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52555,8 +59650,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (231 >> 8) & 0xff, - 231 & 0xff} + (259 >> 8) & 0xff, + 259 & 0xff} }, { .description = "tl3_fid.en", @@ -52570,8 +59665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1393 >> 8) & 0xff, - 1393 & 0xff, + (1495 >> 8) & 0xff, + 1495 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52579,8 +59674,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (232 >> 8) & 0xff, - 232 & 0xff} + (260 >> 8) & 0xff, + 260 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -52654,8 +59749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1401 >> 8) & 0xff, - 1401 & 0xff, + (1503 >> 8) & 0xff, + 1503 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52663,8 +59758,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (233 >> 8) & 0xff, - 233 & 0xff} + (261 >> 8) & 0xff, + 261 & 0xff} }, { .description = "tl4_dst.en", @@ -52672,8 +59767,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1409 >> 8) & 0xff, - 1409 & 0xff, + (1511 >> 8) & 0xff, + 1511 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52681,8 +59776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (234 >> 8) & 0xff, - 234 & 0xff} + (262 >> 8) & 0xff, + 262 & 0xff} }, { .description = "tl4_flags.en", @@ -52738,8 +59833,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1418 >> 8) & 0xff, - 1418 & 0xff, + (1520 >> 8) & 0xff, + 1520 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52747,14 +59842,26 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (235 >> 8) & 0xff, - 235 & 0xff} + (263 >> 8) & 0xff, + 263 & 0xff} }, { .description = "tid.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1526 >> 8) & 0xff, + 1526 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (264 >> 8) & 0xff, + 264 & 0xff} }, { .description = "tctxts.en", @@ -52792,8 +59899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1424 >> 8) & 0xff, - 1424 & 0xff, + (1530 >> 8) & 0xff, + 1530 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52801,8 +59908,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (236 >> 8) & 0xff, - 236 & 0xff} + (265 >> 8) & 0xff, + 265 & 0xff} }, { .description = "l2_smac.en", @@ -52810,8 +59917,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1433 >> 8) & 0xff, - 1433 & 0xff, + (1539 >> 8) & 0xff, + 1539 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52819,8 +59926,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (237 >> 8) & 0xff, - 237 & 0xff} + (266 >> 8) & 0xff, + 266 & 0xff} }, { .description = "l2_dt.en", @@ -52858,8 +59965,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1440 >> 8) & 0xff, - 1440 & 0xff, + (1546 >> 8) & 0xff, + 1546 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52867,8 +59974,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (238 >> 8) & 0xff, - 238 & 0xff} + (267 >> 8) & 0xff, + 267 & 0xff} }, { .description = "l2_ovt.en", @@ -52894,8 +60001,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1449 >> 8) & 0xff, - 1449 & 0xff, + (1555 >> 8) & 0xff, + 1555 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52903,8 +60010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (239 >> 8) & 0xff, - 239 & 0xff} + (268 >> 8) & 0xff, + 268 & 0xff} }, { .description = "l2_ivt.en", @@ -52918,8 +60025,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1467 >> 8) & 0xff, - 1467 & 0xff, + (1573 >> 8) & 0xff, + 1573 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52927,8 +60034,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (242 >> 8) & 0xff, - 242 & 0xff} + (271 >> 8) & 0xff, + 271 & 0xff} }, { .description = "l3_l3type.en", @@ -52942,8 +60049,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1476 >> 8) & 0xff, - 1476 & 0xff, + (1582 >> 8) & 0xff, + 1582 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52951,8 +60058,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (243 >> 8) & 0xff, - 243 & 0xff} + (272 >> 8) & 0xff, + 272 & 0xff} }, { .description = "l3_sip2.en", @@ -52960,8 +60067,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1483 >> 8) & 0xff, - 1483 & 0xff, + (1589 >> 8) & 0xff, + 1589 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52969,8 +60076,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (244 >> 8) & 0xff, - 244 & 0xff} + (273 >> 8) & 0xff, + 273 & 0xff} }, { .description = "l3_sip1.en", @@ -52978,8 +60085,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1490 >> 8) & 0xff, - 1490 & 0xff, + (1596 >> 8) & 0xff, + 1596 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52987,8 +60094,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (245 >> 8) & 0xff, - 245 & 0xff} + (274 >> 8) & 0xff, + 274 & 0xff} }, { .description = "l3_sip0.en", @@ -52996,8 +60103,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1497 >> 8) & 0xff, - 1497 & 0xff, + (1603 >> 8) & 0xff, + 1603 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53005,8 +60112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (246 >> 8) & 0xff, - 246 & 0xff} + (275 >> 8) & 0xff, + 275 & 0xff} }, { .description = "l3_dip3.en", @@ -53014,8 +60121,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1511 >> 8) & 0xff, - 1511 & 0xff, + (1617 >> 8) & 0xff, + 1617 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53023,8 +60130,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (249 >> 8) & 0xff, - 249 & 0xff} + (278 >> 8) & 0xff, + 278 & 0xff} }, { .description = "l3_dip2.en", @@ -53032,8 +60139,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1518 >> 8) & 0xff, - 1518 & 0xff, + (1624 >> 8) & 0xff, + 1624 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53041,8 +60148,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (250 >> 8) & 0xff, - 250 & 0xff} + (279 >> 8) & 0xff, + 279 & 0xff} }, { .description = "l3_dip1.en", @@ -53050,8 +60157,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1525 >> 8) & 0xff, - 1525 & 0xff, + (1631 >> 8) & 0xff, + 1631 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53059,8 +60166,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (251 >> 8) & 0xff, - 251 & 0xff} + (280 >> 8) & 0xff, + 280 & 0xff} }, { .description = "l3_dip0.en", @@ -53068,8 +60175,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1532 >> 8) & 0xff, - 1532 & 0xff, + (1638 >> 8) & 0xff, + 1638 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53077,8 +60184,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (252 >> 8) & 0xff, - 252 & 0xff} + (281 >> 8) & 0xff, + 281 & 0xff} }, { .description = "l3_ttl.en", @@ -53086,8 +60193,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1546 >> 8) & 0xff, - 1546 & 0xff, + (1652 >> 8) & 0xff, + 1652 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53095,8 +60202,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (255 >> 8) & 0xff, - 255 & 0xff} + (284 >> 8) & 0xff, + 284 & 0xff} }, { .description = "l3_prot.en", @@ -53104,8 +60211,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1560 >> 8) & 0xff, - 1560 & 0xff, + (1666 >> 8) & 0xff, + 1666 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53113,8 +60220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (258 >> 8) & 0xff, - 258 & 0xff} + (287 >> 8) & 0xff, + 287 & 0xff} }, { .description = "l3_fid.en", @@ -53128,8 +60235,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1574 >> 8) & 0xff, - 1574 & 0xff, + (1680 >> 8) & 0xff, + 1680 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53137,8 +60244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (261 >> 8) & 0xff, - 261 & 0xff} + (290 >> 8) & 0xff, + 290 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -53212,8 +60319,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1588 >> 8) & 0xff, - 1588 & 0xff, + (1694 >> 8) & 0xff, + 1694 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53221,8 +60328,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (264 >> 8) & 0xff, - 264 & 0xff} + (293 >> 8) & 0xff, + 293 & 0xff} }, { .description = "l4_dst.en", @@ -53230,8 +60337,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1602 >> 8) & 0xff, - 1602 & 0xff, + (1708 >> 8) & 0xff, + 1708 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53239,8 +60346,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (267 >> 8) & 0xff, - 267 & 0xff} + (296 >> 8) & 0xff, + 296 & 0xff} }, { .description = "l4_flags.en", @@ -53657,7 +60764,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .description = "meta_prof", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr1 = { + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0 & 0xff} }, { .description = "prof_func", @@ -53734,6 +60844,37 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: hot_upgrade_tcam_cache.wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tcam_id", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 & 0xff} + }, + { + .description = "priority", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_APP_PRIO >> 8) & 0xff, + BNXT_ULP_RF_IDX_APP_PRIO & 0xff} + }, + { + .description = "track_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, /* class_tid: 2, , table: jump_index_table.multi_flow_alloc */ /* class_tid: 2, , table: multi_flow_tunnel_cache.wr */ { @@ -53781,8 +60922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2222 >> 8) & 0xff, - 2222 & 0xff, + (2343 >> 8) & 0xff, + 2343 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53826,8 +60967,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2224 >> 8) & 0xff, - 2224 & 0xff, + (2345 >> 8) & 0xff, + 2345 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53841,8 +60982,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2226 >> 8) & 0xff, - 2226 & 0xff, + (2347 >> 8) & 0xff, + 2347 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53856,8 +60997,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2228 >> 8) & 0xff, - 2228 & 0xff, + (2349 >> 8) & 0xff, + 2349 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54213,8 +61354,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2229 >> 8) & 0xff, - 2229 & 0xff, + (2350 >> 8) & 0xff, + 2350 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54228,14 +61369,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2233 >> 8) & 0xff, - 2233 & 0xff, + (2354 >> 8) & 0xff, + 2354 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (340 >> 8) & 0xff, - 340 & 0xff}, + (371 >> 8) & 0xff, + 371 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -54274,8 +61415,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2240 >> 8) & 0xff, - 2240 & 0xff, + (2361 >> 8) & 0xff, + 2361 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54307,8 +61448,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2245 >> 8) & 0xff, - 2245 & 0xff, + (2366 >> 8) & 0xff, + 2366 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54316,8 +61457,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (341 >> 8) & 0xff, - 341 & 0xff} + (372 >> 8) & 0xff, + 372 & 0xff} }, { .description = "tl2_ivt.en", @@ -54331,8 +61472,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2255 >> 8) & 0xff, - 2255 & 0xff, + (2376 >> 8) & 0xff, + 2376 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54352,8 +61493,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2260 >> 8) & 0xff, - 2260 & 0xff, + (2381 >> 8) & 0xff, + 2381 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54367,8 +61508,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2265 >> 8) & 0xff, - 2265 & 0xff, + (2386 >> 8) & 0xff, + 2386 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54382,8 +61523,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2270 >> 8) & 0xff, - 2270 & 0xff, + (2391 >> 8) & 0xff, + 2391 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54397,18 +61538,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2275 >> 8) & 0xff, - 2275 & 0xff, + (2396 >> 8) & 0xff, + 2396 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (342 >> 8) & 0xff, - 342 & 0xff}, + (373 >> 8) & 0xff, + 373 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (343 >> 8) & 0xff, - 343 & 0xff} + (374 >> 8) & 0xff, + 374 & 0xff} }, { .description = "tl3_dip3.en", @@ -54416,8 +61557,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2284 >> 8) & 0xff, - 2284 & 0xff, + (2405 >> 8) & 0xff, + 2405 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54431,8 +61572,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2288 >> 8) & 0xff, - 2288 & 0xff, + (2409 >> 8) & 0xff, + 2409 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54446,8 +61587,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2292 >> 8) & 0xff, - 2292 & 0xff, + (2413 >> 8) & 0xff, + 2413 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54461,8 +61602,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2296 >> 8) & 0xff, - 2296 & 0xff, + (2417 >> 8) & 0xff, + 2417 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54470,8 +61611,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (344 >> 8) & 0xff, - 344 & 0xff} + (375 >> 8) & 0xff, + 375 & 0xff} }, { .description = "tl3_ttl.en", @@ -54479,8 +61620,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2304 >> 8) & 0xff, - 2304 & 0xff, + (2425 >> 8) & 0xff, + 2425 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54488,8 +61629,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (345 >> 8) & 0xff, - 345 & 0xff} + (376 >> 8) & 0xff, + 376 & 0xff} }, { .description = "tl3_prot.en", @@ -54497,8 +61638,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2312 >> 8) & 0xff, - 2312 & 0xff, + (2433 >> 8) & 0xff, + 2433 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54506,8 +61647,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (346 >> 8) & 0xff, - 346 & 0xff} + (377 >> 8) & 0xff, + 377 & 0xff} }, { .description = "tl3_fid.en", @@ -54521,8 +61662,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2320 >> 8) & 0xff, - 2320 & 0xff, + (2441 >> 8) & 0xff, + 2441 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54530,8 +61671,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (347 >> 8) & 0xff, - 347 & 0xff} + (378 >> 8) & 0xff, + 378 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -54605,8 +61746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2328 >> 8) & 0xff, - 2328 & 0xff, + (2449 >> 8) & 0xff, + 2449 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54614,8 +61755,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (348 >> 8) & 0xff, - 348 & 0xff} + (379 >> 8) & 0xff, + 379 & 0xff} }, { .description = "tl4_dst.en", @@ -54623,8 +61764,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2336 >> 8) & 0xff, - 2336 & 0xff, + (2457 >> 8) & 0xff, + 2457 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54632,8 +61773,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (349 >> 8) & 0xff, - 349 & 0xff} + (380 >> 8) & 0xff, + 380 & 0xff} }, { .description = "tl4_flags.en", @@ -54689,8 +61830,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2345 >> 8) & 0xff, - 2345 & 0xff, + (2466 >> 8) & 0xff, + 2466 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54698,8 +61839,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (350 >> 8) & 0xff, - 350 & 0xff} + (381 >> 8) & 0xff, + 381 & 0xff} }, { .description = "tid.en", @@ -54743,8 +61884,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2351 >> 8) & 0xff, - 2351 & 0xff, + (2472 >> 8) & 0xff, + 2472 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54752,8 +61893,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (351 >> 8) & 0xff, - 351 & 0xff} + (382 >> 8) & 0xff, + 382 & 0xff} }, { .description = "l2_smac.en", @@ -54761,8 +61902,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2358 >> 8) & 0xff, - 2358 & 0xff, + (2479 >> 8) & 0xff, + 2479 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54770,8 +61911,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (352 >> 8) & 0xff, - 352 & 0xff} + (383 >> 8) & 0xff, + 383 & 0xff} }, { .description = "l2_dt.en", @@ -54809,8 +61950,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2365 >> 8) & 0xff, - 2365 & 0xff, + (2486 >> 8) & 0xff, + 2486 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54818,8 +61959,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (353 >> 8) & 0xff, - 353 & 0xff} + (384 >> 8) & 0xff, + 384 & 0xff} }, { .description = "l2_ovt.en", @@ -54845,8 +61986,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2374 >> 8) & 0xff, - 2374 & 0xff, + (2495 >> 8) & 0xff, + 2495 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54854,8 +61995,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (354 >> 8) & 0xff, - 354 & 0xff} + (385 >> 8) & 0xff, + 385 & 0xff} }, { .description = "l2_ivt.en", @@ -54869,8 +62010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2392 >> 8) & 0xff, - 2392 & 0xff, + (2513 >> 8) & 0xff, + 2513 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54878,8 +62019,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (357 >> 8) & 0xff, - 357 & 0xff} + (388 >> 8) & 0xff, + 388 & 0xff} }, { .description = "l3_l3type.en", @@ -54893,8 +62034,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2401 >> 8) & 0xff, - 2401 & 0xff, + (2522 >> 8) & 0xff, + 2522 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54902,8 +62043,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (358 >> 8) & 0xff, - 358 & 0xff} + (389 >> 8) & 0xff, + 389 & 0xff} }, { .description = "l3_sip2.en", @@ -54911,8 +62052,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2410 >> 8) & 0xff, - 2410 & 0xff, + (2531 >> 8) & 0xff, + 2531 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54920,8 +62061,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (359 >> 8) & 0xff, - 359 & 0xff} + (390 >> 8) & 0xff, + 390 & 0xff} }, { .description = "l3_sip1.en", @@ -54929,8 +62070,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2419 >> 8) & 0xff, - 2419 & 0xff, + (2540 >> 8) & 0xff, + 2540 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54938,8 +62079,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (360 >> 8) & 0xff, - 360 & 0xff} + (391 >> 8) & 0xff, + 391 & 0xff} }, { .description = "l3_sip0.en", @@ -54947,8 +62088,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2428 >> 8) & 0xff, - 2428 & 0xff, + (2549 >> 8) & 0xff, + 2549 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54956,8 +62097,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (361 >> 8) & 0xff, - 361 & 0xff} + (392 >> 8) & 0xff, + 392 & 0xff} }, { .description = "l3_dip3.en", @@ -54965,8 +62106,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2446 >> 8) & 0xff, - 2446 & 0xff, + (2567 >> 8) & 0xff, + 2567 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54974,8 +62115,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (364 >> 8) & 0xff, - 364 & 0xff} + (395 >> 8) & 0xff, + 395 & 0xff} }, { .description = "l3_dip2.en", @@ -54983,8 +62124,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2455 >> 8) & 0xff, - 2455 & 0xff, + (2576 >> 8) & 0xff, + 2576 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54992,8 +62133,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (365 >> 8) & 0xff, - 365 & 0xff} + (396 >> 8) & 0xff, + 396 & 0xff} }, { .description = "l3_dip1.en", @@ -55001,8 +62142,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2464 >> 8) & 0xff, - 2464 & 0xff, + (2585 >> 8) & 0xff, + 2585 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55010,8 +62151,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (366 >> 8) & 0xff, - 366 & 0xff} + (397 >> 8) & 0xff, + 397 & 0xff} }, { .description = "l3_dip0.en", @@ -55019,8 +62160,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2473 >> 8) & 0xff, - 2473 & 0xff, + (2594 >> 8) & 0xff, + 2594 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55028,8 +62169,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (367 >> 8) & 0xff, - 367 & 0xff} + (398 >> 8) & 0xff, + 398 & 0xff} }, { .description = "l3_ttl.en", @@ -55037,8 +62178,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2491 >> 8) & 0xff, - 2491 & 0xff, + (2612 >> 8) & 0xff, + 2612 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55046,8 +62187,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (370 >> 8) & 0xff, - 370 & 0xff} + (401 >> 8) & 0xff, + 401 & 0xff} }, { .description = "l3_prot.en", @@ -55055,8 +62196,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2509 >> 8) & 0xff, - 2509 & 0xff, + (2630 >> 8) & 0xff, + 2630 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55064,8 +62205,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (373 >> 8) & 0xff, - 373 & 0xff} + (404 >> 8) & 0xff, + 404 & 0xff} }, { .description = "l3_fid.en", @@ -55079,8 +62220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2541 >> 8) & 0xff, - 2541 & 0xff, + (2662 >> 8) & 0xff, + 2662 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55088,8 +62229,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (380 >> 8) & 0xff, - 380 & 0xff} + (411 >> 8) & 0xff, + 411 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -55163,18 +62304,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2559 >> 8) & 0xff, - 2559 & 0xff, + (2680 >> 8) & 0xff, + 2680 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (383 >> 8) & 0xff, - 383 & 0xff}, + (414 >> 8) & 0xff, + 414 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (384 >> 8) & 0xff, - 384 & 0xff} + (415 >> 8) & 0xff, + 415 & 0xff} }, { .description = "l4_dst.en", @@ -55182,18 +62323,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2568 >> 8) & 0xff, - 2568 & 0xff, + (2689 >> 8) & 0xff, + 2689 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (386 >> 8) & 0xff, - 386 & 0xff}, + (417 >> 8) & 0xff, + 417 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (387 >> 8) & 0xff, - 387 & 0xff} + (418 >> 8) & 0xff, + 418 & 0xff} }, { .description = "l4_flags.en", @@ -56489,8 +63630,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3384 >> 8) & 0xff, - 3384 & 0xff, + (3505 >> 8) & 0xff, + 3505 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56534,8 +63675,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3386 >> 8) & 0xff, - 3386 & 0xff, + (3507 >> 8) & 0xff, + 3507 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56549,8 +63690,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3388 >> 8) & 0xff, - 3388 & 0xff, + (3509 >> 8) & 0xff, + 3509 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56564,8 +63705,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3390 >> 8) & 0xff, - 3390 & 0xff, + (3511 >> 8) & 0xff, + 3511 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56921,8 +64062,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3391 >> 8) & 0xff, - 3391 & 0xff, + (3512 >> 8) & 0xff, + 3512 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56936,8 +64077,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3396 >> 8) & 0xff, - 3396 & 0xff, + (3517 >> 8) & 0xff, + 3517 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56981,8 +64122,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3400 >> 8) & 0xff, - 3400 & 0xff, + (3521 >> 8) & 0xff, + 3521 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57014,8 +64155,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3405 >> 8) & 0xff, - 3405 & 0xff, + (3526 >> 8) & 0xff, + 3526 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57023,8 +64164,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (559 >> 8) & 0xff, - 559 & 0xff} + (590 >> 8) & 0xff, + 590 & 0xff} }, { .description = "tl2_ivt.en", @@ -57038,8 +64179,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3415 >> 8) & 0xff, - 3415 & 0xff, + (3536 >> 8) & 0xff, + 3536 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57059,8 +64200,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3420 >> 8) & 0xff, - 3420 & 0xff, + (3541 >> 8) & 0xff, + 3541 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57074,8 +64215,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3424 >> 8) & 0xff, - 3424 & 0xff, + (3545 >> 8) & 0xff, + 3545 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57089,8 +64230,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3428 >> 8) & 0xff, - 3428 & 0xff, + (3549 >> 8) & 0xff, + 3549 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57104,8 +64245,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3432 >> 8) & 0xff, - 3432 & 0xff, + (3553 >> 8) & 0xff, + 3553 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57113,8 +64254,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (560 >> 8) & 0xff, - 560 & 0xff} + (591 >> 8) & 0xff, + 591 & 0xff} }, { .description = "tl3_dip3.en", @@ -57122,8 +64263,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3440 >> 8) & 0xff, - 3440 & 0xff, + (3561 >> 8) & 0xff, + 3561 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57137,8 +64278,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3444 >> 8) & 0xff, - 3444 & 0xff, + (3565 >> 8) & 0xff, + 3565 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57152,8 +64293,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3448 >> 8) & 0xff, - 3448 & 0xff, + (3569 >> 8) & 0xff, + 3569 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57167,8 +64308,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3452 >> 8) & 0xff, - 3452 & 0xff, + (3573 >> 8) & 0xff, + 3573 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57176,8 +64317,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (561 >> 8) & 0xff, - 561 & 0xff} + (592 >> 8) & 0xff, + 592 & 0xff} }, { .description = "tl3_ttl.en", @@ -57185,8 +64326,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3460 >> 8) & 0xff, - 3460 & 0xff, + (3581 >> 8) & 0xff, + 3581 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57194,8 +64335,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (562 >> 8) & 0xff, - 562 & 0xff} + (593 >> 8) & 0xff, + 593 & 0xff} }, { .description = "tl3_prot.en", @@ -57203,8 +64344,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3468 >> 8) & 0xff, - 3468 & 0xff, + (3589 >> 8) & 0xff, + 3589 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57212,8 +64353,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (563 >> 8) & 0xff, - 563 & 0xff} + (594 >> 8) & 0xff, + 594 & 0xff} }, { .description = "tl3_fid.en", @@ -57227,8 +64368,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3476 >> 8) & 0xff, - 3476 & 0xff, + (3597 >> 8) & 0xff, + 3597 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57236,8 +64377,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (564 >> 8) & 0xff, - 564 & 0xff} + (595 >> 8) & 0xff, + 595 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -57311,8 +64452,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3484 >> 8) & 0xff, - 3484 & 0xff, + (3605 >> 8) & 0xff, + 3605 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57320,8 +64461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (565 >> 8) & 0xff, - 565 & 0xff} + (596 >> 8) & 0xff, + 596 & 0xff} }, { .description = "tl4_dst.en", @@ -57329,8 +64470,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3492 >> 8) & 0xff, - 3492 & 0xff, + (3613 >> 8) & 0xff, + 3613 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57338,8 +64479,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (566 >> 8) & 0xff, - 566 & 0xff} + (597 >> 8) & 0xff, + 597 & 0xff} }, { .description = "tl4_flags.en", @@ -57395,8 +64536,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3501 >> 8) & 0xff, - 3501 & 0xff, + (3622 >> 8) & 0xff, + 3622 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57404,8 +64545,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (567 >> 8) & 0xff, - 567 & 0xff} + (598 >> 8) & 0xff, + 598 & 0xff} }, { .description = "tid.en", @@ -57449,8 +64590,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3507 >> 8) & 0xff, - 3507 & 0xff, + (3628 >> 8) & 0xff, + 3628 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57458,8 +64599,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (568 >> 8) & 0xff, - 568 & 0xff} + (599 >> 8) & 0xff, + 599 & 0xff} }, { .description = "l2_smac.en", @@ -57467,8 +64608,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3516 >> 8) & 0xff, - 3516 & 0xff, + (3637 >> 8) & 0xff, + 3637 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57476,8 +64617,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (569 >> 8) & 0xff, - 569 & 0xff} + (600 >> 8) & 0xff, + 600 & 0xff} }, { .description = "l2_dt.en", @@ -57515,8 +64656,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3523 >> 8) & 0xff, - 3523 & 0xff, + (3644 >> 8) & 0xff, + 3644 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57524,8 +64665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (570 >> 8) & 0xff, - 570 & 0xff} + (601 >> 8) & 0xff, + 601 & 0xff} }, { .description = "l2_ovt.en", @@ -57551,8 +64692,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3532 >> 8) & 0xff, - 3532 & 0xff, + (3653 >> 8) & 0xff, + 3653 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57560,8 +64701,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (571 >> 8) & 0xff, - 571 & 0xff} + (602 >> 8) & 0xff, + 602 & 0xff} }, { .description = "l2_ivt.en", @@ -57575,8 +64716,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3550 >> 8) & 0xff, - 3550 & 0xff, + (3671 >> 8) & 0xff, + 3671 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57584,8 +64725,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (574 >> 8) & 0xff, - 574 & 0xff} + (605 >> 8) & 0xff, + 605 & 0xff} }, { .description = "l3_l3type.en", @@ -57599,8 +64740,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3559 >> 8) & 0xff, - 3559 & 0xff, + (3680 >> 8) & 0xff, + 3680 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57608,8 +64749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (575 >> 8) & 0xff, - 575 & 0xff} + (606 >> 8) & 0xff, + 606 & 0xff} }, { .description = "l3_sip2.en", @@ -57617,8 +64758,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3566 >> 8) & 0xff, - 3566 & 0xff, + (3687 >> 8) & 0xff, + 3687 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57626,8 +64767,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (576 >> 8) & 0xff, - 576 & 0xff} + (607 >> 8) & 0xff, + 607 & 0xff} }, { .description = "l3_sip1.en", @@ -57635,8 +64776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3573 >> 8) & 0xff, - 3573 & 0xff, + (3694 >> 8) & 0xff, + 3694 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57644,8 +64785,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (577 >> 8) & 0xff, - 577 & 0xff} + (608 >> 8) & 0xff, + 608 & 0xff} }, { .description = "l3_sip0.en", @@ -57653,8 +64794,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3580 >> 8) & 0xff, - 3580 & 0xff, + (3701 >> 8) & 0xff, + 3701 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57662,8 +64803,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (578 >> 8) & 0xff, - 578 & 0xff} + (609 >> 8) & 0xff, + 609 & 0xff} }, { .description = "l3_dip3.en", @@ -57671,8 +64812,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3594 >> 8) & 0xff, - 3594 & 0xff, + (3715 >> 8) & 0xff, + 3715 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57680,8 +64821,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (581 >> 8) & 0xff, - 581 & 0xff} + (612 >> 8) & 0xff, + 612 & 0xff} }, { .description = "l3_dip2.en", @@ -57689,8 +64830,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3601 >> 8) & 0xff, - 3601 & 0xff, + (3722 >> 8) & 0xff, + 3722 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57698,8 +64839,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (582 >> 8) & 0xff, - 582 & 0xff} + (613 >> 8) & 0xff, + 613 & 0xff} }, { .description = "l3_dip1.en", @@ -57707,8 +64848,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3608 >> 8) & 0xff, - 3608 & 0xff, + (3729 >> 8) & 0xff, + 3729 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57716,8 +64857,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (583 >> 8) & 0xff, - 583 & 0xff} + (614 >> 8) & 0xff, + 614 & 0xff} }, { .description = "l3_dip0.en", @@ -57725,8 +64866,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3615 >> 8) & 0xff, - 3615 & 0xff, + (3736 >> 8) & 0xff, + 3736 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57734,8 +64875,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (584 >> 8) & 0xff, - 584 & 0xff} + (615 >> 8) & 0xff, + 615 & 0xff} }, { .description = "l3_ttl.en", @@ -57743,8 +64884,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3629 >> 8) & 0xff, - 3629 & 0xff, + (3750 >> 8) & 0xff, + 3750 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57752,8 +64893,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (587 >> 8) & 0xff, - 587 & 0xff} + (618 >> 8) & 0xff, + 618 & 0xff} }, { .description = "l3_prot.en", @@ -57761,8 +64902,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3643 >> 8) & 0xff, - 3643 & 0xff, + (3764 >> 8) & 0xff, + 3764 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57770,8 +64911,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (590 >> 8) & 0xff, - 590 & 0xff} + (621 >> 8) & 0xff, + 621 & 0xff} }, { .description = "l3_fid.en", @@ -57785,8 +64926,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3657 >> 8) & 0xff, - 3657 & 0xff, + (3778 >> 8) & 0xff, + 3778 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57794,8 +64935,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (593 >> 8) & 0xff, - 593 & 0xff} + (624 >> 8) & 0xff, + 624 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -57869,8 +65010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3671 >> 8) & 0xff, - 3671 & 0xff, + (3792 >> 8) & 0xff, + 3792 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57878,8 +65019,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (596 >> 8) & 0xff, - 596 & 0xff} + (627 >> 8) & 0xff, + 627 & 0xff} }, { .description = "l4_dst.en", @@ -57887,8 +65028,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3685 >> 8) & 0xff, - 3685 & 0xff, + (3806 >> 8) & 0xff, + 3806 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57896,8 +65037,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (599 >> 8) & 0xff, - 599 & 0xff} + (630 >> 8) & 0xff, + 630 & 0xff} }, { .description = "l4_flags.en", @@ -58314,7 +65455,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .description = "meta_prof", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr1 = { + (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0 & 0xff} }, { .description = "prof_func", @@ -58394,6 +65538,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_rx */ /* class_tid: 3, , table: metadata_record.act_rx_wr */ { .description = "meta_mask", @@ -58406,6 +65551,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_rx */ /* class_tid: 3, , table: metadata_record.prof_rx_wr */ { .description = "meta_mask", @@ -58418,6 +65564,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_rx */ /* class_tid: 3, , table: metadata_record.lkup_rx_wr */ { .description = "meta_mask", @@ -58430,6 +65577,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_tx */ /* class_tid: 3, , table: metadata_record.act_tx_wr */ { .description = "meta_mask", @@ -58442,6 +65590,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_tx */ /* class_tid: 3, , table: metadata_record.prof_tx_wr */ { .description = "meta_mask", @@ -58454,6 +65603,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_tx */ /* class_tid: 3, , table: metadata_record.lkup_tx_wr */ { .description = "meta_mask", @@ -58466,6 +65616,16 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (0xffffffff >> 8) & 0xff, 0xffffffff & 0xff} }, + /* class_tid: 3, , table: global_regfiles_cache.metadata_record_wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, /* class_tid: 3, , table: cmm_full_act_record.ing_default_0 */ { .description = "type", @@ -58603,9 +65763,21 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { { .description = "vnic_or_vport", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { + (4332 >> 8) & 0xff, + 4332 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr2 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_CF, + .field_opr3 = { (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff, BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff} }, @@ -58693,6 +65865,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */ /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */ { .description = "act_rec_ptr", @@ -58828,172 +66001,6 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} }, - /* class_tid: 3, , table: l2_cntxt_tcam.svif_ing */ - { - .description = "l2ip_dest_data", - .field_bit_size = 17, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_dest_enb", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_rfs_data", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_rfs_enb", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_act_rec_ptr", - .field_bit_size = 26, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, - BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} - }, - { - .description = "l2ip_act_scope", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} - }, - { - .description = "l2ip_act_hint", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_act_enb", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - { - .description = "l2ip_meta", - .field_bit_size = 35, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2ip_meta_enb", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "ctxt_opcode", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW} - }, - { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} - }, - { - .description = "prsv_prof_func_id", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} - }, - { - .description = "prsv_l2ip_cntxt_id", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "parif", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "prsv_parif", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */ - { - .description = "rid", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} - }, - { - .description = "l2_cntxt_tcam_index", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} - }, - { - .description = "l2_cntxt_id", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} - }, - { - .description = "src_property_ptr", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} - }, /* class_tid: 3, , table: cmm_full_act_record.throw_away_egr */ { .description = "type", @@ -60768,6 +67775,212 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */ + { + .description = "l2ip_dest_data", + .field_bit_size = 17, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_dest_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_data", + .field_bit_size = 9, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_rfs_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_rec_ptr", + .field_bit_size = 26, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} + }, + { + .description = "l2ip_act_scope", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff} + }, + { + .description = "l2ip_act_hint", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_act_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "l2ip_meta", + .field_bit_size = 35, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2ip_meta_enb", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "ctxt_opcode", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW} + }, + { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4342 >> 8) & 0xff, + 4342 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, + { + .description = "prsv_prof_func_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4344 >> 8) & 0xff, + 4344 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "prsv_l2ip_cntxt_id", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "parif", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "prsv_parif", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "l2_cntxt_tcam_index", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4346 >> 8) & 0xff, + 4346 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "src_property_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "prof_func_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4348 >> 8) & 0xff, + 4348 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }; @@ -60785,6 +67998,37 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 128 }, + /* class_tid: 1, , table: tunnel_gparse_cache.dynupar_tunnel_rd */ + { + .description = "alloc_tun", + .regfile_idx = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0, + .ident_bit_size = 8, + .ident_bit_pos = 80 + }, + { + .description = "dyn_tun_type", + .regfile_idx = BNXT_ULP_RF_IDX_DYN_TUN_TYPE, + .ident_bit_size = 8, + .ident_bit_pos = 88 + }, + { + .description = "dyn_upar_id", + .regfile_idx = BNXT_ULP_RF_IDX_DYN_UPAR_ID, + .ident_bit_size = 8, + .ident_bit_pos = 96 + }, + { + .description = "rid", + .regfile_idx = BNXT_ULP_RF_IDX_RID, + .ident_bit_size = 32, + .ident_bit_pos = 0 + }, + { + .description = "udp_port", + .regfile_idx = BNXT_ULP_RF_IDX_TUNNEL_PORT, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */ { .description = "rid", @@ -60801,7 +68045,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */ { .description = "l2_cntxt_id", - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, .ident_bit_size = 11, .ident_bit_pos = 43 }, @@ -60817,6 +68061,19 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 86 }, + /* class_tid: 1, , table: table_scope_cache.tsid_ing_rd */ + { + .description = "default_arec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR, + .ident_bit_size = 32, + .ident_bit_pos = 32 + }, + { + .description = "prof_func", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, + .ident_bit_size = 8, + .ident_bit_pos = 64 + }, /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ { .description = "cmm_stat_hndl", @@ -60891,6 +68148,15 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 11, .ident_bit_pos = 109 }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */ + { + .description = "l2_cntxt_id", + .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 0, + .ident_bit_pos = 0 + }, /* class_tid: 1, , table: proto_header_cache.rd */ { .description = "em_key_id", @@ -60956,7 +68222,16 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 12 }, - /* class_tid: 1, , table: profile_tcam.gen_template */ + /* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */ + { + .description = "wc_profile_id", + .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, + .ident_type = CFA_RSUBTYPE_IDENT_WC_PROF, + .regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0, + .ident_bit_size = 0, + .ident_bit_pos = 0 + }, + /* class_tid: 1, , table: profile_tcam.allocate_em_profile */ { .description = "em_profile_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -60965,6 +68240,15 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 33 }, + /* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */ + { + .description = "em_profile_id", + .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, + .ident_type = CFA_RSUBTYPE_IDENT_EM_PROF, + .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, + .ident_bit_size = 0, + .ident_bit_pos = 0 + }, /* class_tid: 1, , table: em_flow_conflict_cache.rd */ { .description = "flow_sig_id", @@ -61100,7 +68384,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 64 }, - /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */ + /* class_tid: 3, , table: profile_tcam_bypass.allocate_prof_func */ { .description = "prof_func_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -61109,21 +68393,14 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_size = 0, .ident_bit_pos = 0 }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */ - { - .description = "l2_cntxt_id", - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, - .ident_bit_size = 11, - .ident_bit_pos = 43 - }, - /* class_tid: 3, , table: l2_cntxt_tcam.svif_ing */ + /* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */ { - .description = "l2_cntxt_id", + .description = "prof_func_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, - .ident_bit_size = 11, - .ident_bit_pos = 109 + .ident_type = CFA_RSUBTYPE_IDENT_PROF_FUNC, + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, + .ident_bit_size = 0, + .ident_bit_pos = 0 }, /* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_svif_egr */ { @@ -61201,6 +68478,74 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, .ident_bit_size = 11, .ident_bit_pos = 109 + }, + /* class_tid: 5, , table: table_scope_cache.tsid_ing_rd */ + { + .description = "default_arec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR, + .ident_bit_size = 32, + .ident_bit_pos = 32 + }, + { + .description = "prof_func", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, + .ident_bit_size = 8, + .ident_bit_pos = 64 + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 11, + .ident_bit_pos = 43 + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, + .ident_bit_size = 11, + .ident_bit_pos = 43 + }, + { + .description = "prof_func_id", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_1, + .ident_bit_size = 8, + .ident_bit_pos = 86 + }, + /* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */ + { + .description = "l2_cntxt_id", + .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 11, + .ident_bit_pos = 109 + }, + /* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */ + { + .description = "rid", + .regfile_idx = BNXT_ULP_RF_IDX_RID, + .ident_bit_size = 32, + .ident_bit_pos = 0 + }, + /* class_tid: 8, , table: hot_upgrade_tcam_cache.iterate_read */ + { + .description = "priority", + .regfile_idx = BNXT_ULP_RF_IDX_APP_PRIO, + .ident_bit_size = 16, + .ident_bit_pos = 48 + }, + { + .description = "tcam_id", + .regfile_idx = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, + { + .description = "track_type", + .regfile_idx = BNXT_ULP_RF_IDX_RF_0, + .ident_bit_size = 4, + .ident_bit_pos = 64 } }; diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_act.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_act.c index 79850b2ad6..a6dc8e93cf 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_act.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_act.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -5719,9 +5719,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -5877,9 +5875,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -8994,9 +8990,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c index 4a0e294aee..d523e5c240 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = { /* class_tid: 1, ingress */ [1] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, - .num_tbls = 78, + .num_tbls = 82, .start_tbl_idx = 0, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, @@ -24,60 +24,70 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = { [2] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 48, - .start_tbl_idx = 78, + .start_tbl_idx = 82, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 2471, + .cond_start_idx = 2539, .cond_nums = 0 } }, /* class_tid: 3, ingress */ [3] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 22, - .start_tbl_idx = 126, + .start_tbl_idx = 130, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 } }, /* class_tid: 4, egress */ [4] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 35, - .start_tbl_idx = 148, + .start_tbl_idx = 152, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4886, + .cond_start_idx = 4955, .cond_nums = 0 } }, /* class_tid: 5, ingress */ [5] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 7, - .start_tbl_idx = 183, + .start_tbl_idx = 187, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 } }, /* class_tid: 6, ingress */ [6] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 3, - .start_tbl_idx = 190, + .start_tbl_idx = 194, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4900, + .cond_start_idx = 4969, .cond_nums = 0 } }, /* class_tid: 7, ingress */ [7] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 21, - .start_tbl_idx = 193, + .start_tbl_idx = 197, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 4902, + .cond_start_idx = 4971, + .cond_nums = 0 } + }, + /* class_tid: 8, ingress */ + [8] = { + .device_name = BNXT_ULP_DEVICE_ID_THOR, + .num_tbls = 1, + .start_tbl_idx = 218, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 4978, .cond_nums = 0 } } }; @@ -282,6 +292,29 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .ident_start_idx = 4, .ident_nums = 1 }, + { /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */ + .description = "l2_cntxt_tcam_cache.def_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 28, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 6, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 5, + .ident_nums = 1 + }, { /* class_tid: 1, , table: control.check_f1_f2_flow */ .description = "control.check_f1_f2_flow", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -311,11 +344,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 6, + .key_start_idx = 7, .blob_key_bit_size = 19, .key_bit_size = 19, .key_num_fields = 2, - .ident_start_idx = 5, + .ident_start_idx = 6, .ident_nums = 1 }, { /* class_tid: 1, , table: control.tunnel_cache_check */ @@ -351,7 +384,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 6, + .ident_start_idx = 7, .ident_nums = 1 }, { /* class_tid: 1, , table: tunnel_cache.f1_f2_wr */ @@ -370,7 +403,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 8, + .key_start_idx = 9, .blob_key_bit_size = 19, .key_bit_size = 19, .key_num_fields = 2, @@ -383,7 +416,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = 31, + .cond_true_goto = 33, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, .cond_start_idx = 31, @@ -426,11 +459,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 10, + .key_start_idx = 11, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 7, + .ident_start_idx = 8, .ident_nums = 2 }, { /* class_tid: 1, , table: control.prof_func_miss */ @@ -490,11 +523,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 11, + .key_start_idx = 12, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .ident_start_idx = 9, + .ident_start_idx = 10, .ident_nums = 1 }, { /* class_tid: 1, , table: control.multi_flow_cache_check */ @@ -588,7 +621,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 20, + .key_start_idx = 21, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, @@ -644,11 +677,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 29, + .key_start_idx = 30, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 10, + .ident_start_idx = 11, .ident_nums = 1 }, { /* class_tid: 1, , table: control.flow_chain_group_id */ @@ -723,7 +756,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 30, + .key_start_idx = 31, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, @@ -747,11 +780,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 31, + .key_start_idx = 32, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 11, + .ident_start_idx = 12, .ident_nums = 1 }, { /* class_tid: 1, , table: control.flow_chain_group_l2_cntxt_check */ @@ -787,14 +820,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 32, + .key_start_idx = 33, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 14, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 12, + .ident_start_idx = 13, .ident_nums = 1 }, { /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ @@ -816,14 +849,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 53, + .key_start_idx = 54, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 20, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 13, + .ident_start_idx = 14, .ident_nums = 0 }, { /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ @@ -842,7 +875,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 74, + .key_start_idx = 75, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -866,11 +899,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 75, + .key_start_idx = 76, .blob_key_bit_size = 110, .key_bit_size = 110, .key_num_fields = 8, - .ident_start_idx = 13, + .ident_start_idx = 14, .ident_nums = 1 }, { /* class_tid: 1, , table: control.mac_addr_cache_miss */ @@ -906,7 +939,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 14, + .ident_start_idx = 15, .ident_nums = 1 }, { /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry */ @@ -928,14 +961,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 83, + .key_start_idx = 84, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 28, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 15, + .ident_start_idx = 16, .ident_nums = 0 }, { /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ @@ -957,14 +990,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 104, + .key_start_idx = 105, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 34, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 15, + .ident_start_idx = 16, .ident_nums = 0 }, { /* class_tid: 1, , table: mac_addr_cache.wr */ @@ -983,7 +1016,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 125, + .key_start_idx = 126, .blob_key_bit_size = 110, .key_bit_size = 110, .key_num_fields = 8, @@ -991,6 +1024,37 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .result_bit_size = 69, .result_num_fields = 5 }, + { /* class_tid: 1, , table: control.update_default_l2_context */ + .description = "control.update_default_l2_context", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 130, + .cond_nums = 2 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 1, , table: control.update_default_l2_context_done */ + .description = "control.update_default_l2_context_done", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 132, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, + .func_dst_opr = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 } + }, { /* class_tid: 1, , table: control.check_f1_flow */ .description = "control.check_f1_flow", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -999,7 +1063,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 130, + .cond_start_idx = 132, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1040,7 +1104,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 146, + .cond_start_idx = 148, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1061,17 +1125,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 157, + .cond_start_idx = 159, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 133, + .key_start_idx = 134, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, - .ident_start_idx = 15, + .ident_start_idx = 16, .ident_nums = 7 }, { /* class_tid: 1, , table: control.proto_header_cache_miss */ @@ -1080,9 +1144,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 15, + .cond_false_goto = 16, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 159, + .cond_start_idx = 161, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1098,20 +1162,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 160, + .cond_start_idx = 162, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 136, + .key_start_idx = 137, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 138, + .partial_key_start_idx = 139, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .ident_start_idx = 22, + .ident_start_idx = 23, .ident_nums = 2 }, { /* class_tid: 1, , table: control.overlap_miss */ @@ -1122,7 +1186,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 162, + .cond_start_idx = 164, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1138,17 +1202,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 163, + .cond_start_idx = 165, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 139, + .key_start_idx = 140, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, - .ident_start_idx = 24, + .ident_start_idx = 25, .ident_nums = 1 }, { /* class_tid: 1, , table: control.ing_catch_all */ @@ -1159,7 +1223,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 165, + .cond_start_idx = 167, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1181,7 +1245,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 165, + .cond_start_idx = 167, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -1191,7 +1255,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 25, + .ident_start_idx = 26, .ident_nums = 1 }, { /* class_tid: 1, , table: fkb_select.wc_gen_template */ @@ -1203,7 +1267,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 165, + .cond_start_idx = 167, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, @@ -1224,7 +1288,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 421, + .cond_start_idx = 429, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -1236,10 +1300,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 141, + .key_start_idx = 142, .blob_key_bit_size = 0, .key_bit_size = 0, - .key_num_fields = 33, + .key_num_fields = 34, .result_start_idx = 151, .result_bit_size = 38, .result_num_fields = 5 @@ -1254,18 +1318,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 942, + .cond_start_idx = 962, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 174, + .key_start_idx = 176, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 176, + .partial_key_start_idx = 178, .partial_key_num_fields = 1, .partial_key_bit_size = 64, .result_start_idx = 156, @@ -1281,7 +1345,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 944, + .cond_start_idx = 964, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -1303,7 +1367,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 945, + .cond_start_idx = 965, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, @@ -1322,7 +1386,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 945, + .cond_start_idx = 965, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1330,7 +1394,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 128, + .func_opr1 = 131, .func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY } }, { /* class_tid: 1, , table: profile_tcam.gen_template */ @@ -1342,7 +1406,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 961, + .cond_start_idx = 981, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -1354,14 +1418,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 177, + .key_start_idx = 179, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 265, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 26, + .ident_start_idx = 27, .ident_nums = 1 }, { /* class_tid: 1, , table: wm_key_recipe.0 */ @@ -1374,21 +1438,40 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1208, + .cond_start_idx = 1242, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 220, + .key_start_idx = 222, .blob_key_bit_size = 0, .key_bit_size = 0, - .key_num_fields = 33, + .key_num_fields = 34, .result_start_idx = 273, .result_bit_size = 0, .result_num_fields = 0 }, + { /* class_tid: 1, , table: control.outer_present_mode_2 */ + .description = "control.outer_present_mode_2", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 1755, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF, + .func_oper_size = 8, + .func_src1 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr1 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_OUTER_ADD } + }, { /* class_tid: 1, , table: proto_header_cache.wr */ .description = "proto_header_cache.wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -1399,13 +1482,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1709, + .cond_start_idx = 1756, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 253, + .key_start_idx = 256, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, @@ -1423,17 +1506,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1711, + .cond_start_idx = 1758, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 256, + .key_start_idx = 259, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, - .ident_start_idx = 27, + .ident_start_idx = 28, .ident_nums = 1 }, { /* class_tid: 1, , table: control.em_flow_conflict_cache_miss */ @@ -1444,7 +1527,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1717, + .cond_start_idx = 1764, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1459,7 +1542,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1718, + .cond_start_idx = 1765, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -1480,16 +1563,16 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1965, + .cond_start_idx = 2018, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 260, + .key_start_idx = 263, .blob_key_bit_size = 0, .key_bit_size = 0, - .key_num_fields = 33, + .key_num_fields = 34, .result_start_idx = 387, .result_bit_size = 0, .result_num_fields = 0 @@ -1504,13 +1587,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 3, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2459, + .cond_start_idx = 2524, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 293, + .key_start_idx = 297, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, @@ -1526,7 +1609,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 4, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2461, + .cond_start_idx = 2526, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1546,7 +1629,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 5, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2463, + .cond_start_idx = 2528, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1560,7 +1643,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2465, + .cond_start_idx = 2530, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -1580,7 +1663,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2469, + .cond_start_idx = 2534, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1593,9 +1676,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2470, - .cond_nums = 0 }, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, + .cond_start_idx = 9, + .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_DYN_KEY, @@ -1617,7 +1700,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2470, + .cond_start_idx = 2538, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1630,7 +1713,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2471, + .cond_start_idx = 2539, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1646,10 +1729,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = -29, + .cond_true_goto = -30, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2471, + .cond_start_idx = 2539, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1670,17 +1753,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2471, + .cond_start_idx = 2539, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 297, + .key_start_idx = 301, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 28, + .ident_start_idx = 29, .ident_nums = 2 }, { /* class_tid: 2, , table: control.l2_only_check */ @@ -1692,7 +1775,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 9, + .cond_start_idx = 11, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1706,7 +1789,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1023, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 11, + .cond_start_idx = 13, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1719,7 +1802,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND, - .cond_start_idx = 13, + .cond_start_idx = 15, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1733,7 +1816,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2493, + .cond_start_idx = 2561, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1748,17 +1831,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2495, + .cond_start_idx = 2563, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 298, + .key_start_idx = 302, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .ident_start_idx = 30, + .ident_start_idx = 31, .ident_nums = 1 }, { /* class_tid: 2, , table: control.multi_flow_cache_check */ @@ -1769,7 +1852,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2523, + .cond_start_idx = 2591, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1785,7 +1868,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2524, + .cond_start_idx = 2592, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, @@ -1804,7 +1887,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2524, + .cond_start_idx = 2592, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1825,7 +1908,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2524, + .cond_start_idx = 2592, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1846,13 +1929,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2524, + .cond_start_idx = 2592, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 307, + .key_start_idx = 311, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, @@ -1868,7 +1951,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2552, + .cond_start_idx = 2620, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1887,7 +1970,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2552, + .cond_start_idx = 2620, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1895,7 +1978,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 390, + .func_opr1 = 405, .func_dst_opr = BNXT_ULP_RF_IDX_TERM_FLOW } }, { /* class_tid: 2, , table: control.group_id_check */ @@ -1906,7 +1989,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2560, + .cond_start_idx = 2628, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1921,17 +2004,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2561, + .cond_start_idx = 2629, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 316, + .key_start_idx = 320, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 31, + .ident_start_idx = 32, .ident_nums = 1 }, { /* class_tid: 2, , table: control.flow_chain_group_id */ @@ -1942,7 +2025,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2561, + .cond_start_idx = 2629, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1958,7 +2041,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2562, + .cond_start_idx = 2630, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, @@ -1977,7 +2060,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2562, + .cond_start_idx = 2630, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2000,13 +2083,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2562, + .cond_start_idx = 2630, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 317, + .key_start_idx = 321, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, @@ -2024,17 +2107,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2562, + .cond_start_idx = 2630, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 318, + .key_start_idx = 322, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, - .ident_start_idx = 32, + .ident_start_idx = 33, .ident_nums = 7 }, { /* class_tid: 2, , table: control.proto_header_cache_miss */ @@ -2045,7 +2128,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 15, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2564, + .cond_start_idx = 2632, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2061,20 +2144,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2565, + .cond_start_idx = 2633, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 321, + .key_start_idx = 325, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 323, + .partial_key_start_idx = 327, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .ident_start_idx = 39, + .ident_start_idx = 40, .ident_nums = 2 }, { /* class_tid: 2, , table: control.overlap_miss */ @@ -2085,7 +2168,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2567, + .cond_start_idx = 2635, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2101,17 +2184,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2568, + .cond_start_idx = 2636, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 324, + .key_start_idx = 328, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, - .ident_start_idx = 41, + .ident_start_idx = 42, .ident_nums = 1 }, { /* class_tid: 2, , table: control.egr_catch_all */ @@ -2122,7 +2205,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2570, + .cond_start_idx = 2638, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2144,7 +2227,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2570, + .cond_start_idx = 2638, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2154,7 +2237,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 42, + .ident_start_idx = 43, .ident_nums = 1 }, { /* class_tid: 2, , table: fkb_select.wc_gen_template */ @@ -2166,7 +2249,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2570, + .cond_start_idx = 2638, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, @@ -2187,7 +2270,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2829, + .cond_start_idx = 2897, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -2199,7 +2282,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 326, + .key_start_idx = 330, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, @@ -2217,18 +2300,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3356, + .cond_start_idx = 3424, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 359, + .key_start_idx = 363, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 361, + .partial_key_start_idx = 365, .partial_key_num_fields = 1, .partial_key_bit_size = 64, .result_start_idx = 515, @@ -2244,7 +2327,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3358, + .cond_start_idx = 3426, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -2266,7 +2349,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3359, + .cond_start_idx = 3427, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, @@ -2285,7 +2368,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3359, + .cond_start_idx = 3427, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2293,7 +2376,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 515, + .func_opr1 = 530, .func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY } }, { /* class_tid: 2, , table: profile_tcam.gen_template */ @@ -2305,7 +2388,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3375, + .cond_start_idx = 3443, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2317,14 +2400,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 362, + .key_start_idx = 366, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 624, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 43, + .ident_start_idx = 44, .ident_nums = 1 }, { /* class_tid: 2, , table: wm_key_recipe.0 */ @@ -2337,14 +2420,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3619, + .cond_start_idx = 3688, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 405, + .key_start_idx = 409, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, @@ -2362,13 +2445,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4126, + .cond_start_idx = 4195, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 438, + .key_start_idx = 442, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, @@ -2386,17 +2469,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4128, + .cond_start_idx = 4197, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 441, + .key_start_idx = 445, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, - .ident_start_idx = 44, + .ident_start_idx = 45, .ident_nums = 1 }, { /* class_tid: 2, , table: control.em_flow_conflict_cache_miss */ @@ -2407,7 +2490,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4134, + .cond_start_idx = 4203, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2422,7 +2505,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4135, + .cond_start_idx = 4204, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -2443,13 +2526,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4379, + .cond_start_idx = 4448, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 445, + .key_start_idx = 449, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, @@ -2467,13 +2550,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 3, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4867, + .cond_start_idx = 4936, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 478, + .key_start_idx = 482, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, @@ -2489,7 +2572,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 4, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4869, + .cond_start_idx = 4938, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2509,7 +2592,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 5, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4871, + .cond_start_idx = 4940, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2523,7 +2606,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4873, + .cond_start_idx = 4942, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -2543,7 +2626,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4877, + .cond_start_idx = 4946, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2557,7 +2640,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4878, + .cond_start_idx = 4947, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -2580,7 +2663,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4878, + .cond_start_idx = 4947, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2593,7 +2676,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2612,7 +2695,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = -28, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2634,7 +2717,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR, @@ -2656,13 +2739,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 482, + .key_start_idx = 486, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, @@ -2680,17 +2763,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 483, + .key_start_idx = 487, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .ident_start_idx = 45, + .ident_start_idx = 46, .ident_nums = 2 }, { /* class_tid: 3, , table: control.prof_func_miss */ @@ -2701,7 +2784,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4879, + .cond_start_idx = 4948, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2716,7 +2799,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -2726,7 +2809,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 47, + .ident_start_idx = 48, .ident_nums = 1 }, { /* class_tid: 3, , table: profile_tcam.prof_func_catch_all */ @@ -2738,7 +2821,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2750,14 +2833,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 484, + .key_start_idx = 488, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 784, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 48, + .ident_start_idx = 49, .ident_nums = 0 }, { /* class_tid: 3, , table: prof_func_cache.ing_wr */ @@ -2770,13 +2853,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 527, + .key_start_idx = 531, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, @@ -2793,7 +2876,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, @@ -2812,7 +2895,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, @@ -2833,7 +2916,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -2856,13 +2939,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 528, + .key_start_idx = 532, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, @@ -2879,7 +2962,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF, @@ -2899,17 +2982,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 529, + .key_start_idx = 533, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 48, + .ident_start_idx = 49, .ident_nums = 0 }, { /* class_tid: 3, , table: control.non_vfr_egr_2 */ @@ -2920,7 +3003,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4880, + .cond_start_idx = 4949, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2935,7 +3018,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4881, + .cond_start_idx = 4950, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -2945,14 +3028,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 530, + .key_start_idx = 534, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 829, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 48, + .ident_start_idx = 49, .ident_nums = 2 }, { /* class_tid: 3, , table: profile_tcam.non_vfr_prof_func_egr_catch_all */ @@ -2964,7 +3047,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4881, + .cond_start_idx = 4950, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2975,14 +3058,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 551, + .key_start_idx = 555, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 835, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 50, + .ident_start_idx = 51, .ident_nums = 0 }, { /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ @@ -2995,13 +3078,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4881, + .cond_start_idx = 4950, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 594, + .key_start_idx = 598, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -3019,17 +3102,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR, - .cond_start_idx = 14, + .cond_start_idx = 16, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 595, + .key_start_idx = 599, .blob_key_bit_size = 16, .key_bit_size = 16, .key_num_fields = 2, - .ident_start_idx = 50, + .ident_start_idx = 51, .ident_nums = 2 }, { /* class_tid: 3, , table: control.default_custom_tunnel */ @@ -3040,7 +3123,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4883, + .cond_start_idx = 4952, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3056,7 +3139,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4884, + .cond_start_idx = 4953, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, @@ -3075,7 +3158,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4885, + .cond_start_idx = 4954, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, @@ -3094,13 +3177,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4886, + .cond_start_idx = 4955, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 597, + .key_start_idx = 601, .blob_key_bit_size = 16, .key_bit_size = 16, .key_num_fields = 2, @@ -3119,17 +3202,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4886, + .cond_start_idx = 4955, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 599, + .key_start_idx = 603, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, - .ident_start_idx = 52, + .ident_start_idx = 53, .ident_nums = 0 }, { /* class_tid: 4, , table: control.prof_tcam_cache.vfr_glb_act_rec_rd.0 */ @@ -3140,7 +3223,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4886, + .cond_start_idx = 4955, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3157,7 +3240,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_MODIFY_PTR, @@ -3180,7 +3263,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, @@ -3202,7 +3285,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF, @@ -3222,7 +3305,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF, @@ -3244,13 +3327,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 602, + .key_start_idx = 606, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, @@ -3268,17 +3351,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 605, + .key_start_idx = 609, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 52, + .ident_start_idx = 53, .ident_nums = 0 }, { /* class_tid: 4, , table: control.vf_2_vfr.0 */ @@ -3289,7 +3372,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4887, + .cond_start_idx = 4956, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3305,17 +3388,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 606, + .key_start_idx = 610, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 52, + .ident_start_idx = 53, .ident_nums = 1 }, { /* class_tid: 4, , table: l2_cntxt_tcam.vf_egr */ @@ -3327,7 +3410,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3337,14 +3420,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 607, + .key_start_idx = 611, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 900, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 53, + .ident_start_idx = 54, .ident_nums = 1 }, { /* class_tid: 4, , table: profile_tcam.prof_func_catch_all */ @@ -3356,7 +3439,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3368,14 +3451,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 628, + .key_start_idx = 632, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 906, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 0 }, { /* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_egr_wr */ @@ -3388,13 +3471,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 671, + .key_start_idx = 675, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -3413,7 +3496,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -3436,17 +3519,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 672, + .key_start_idx = 676, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 0 }, { /* class_tid: 4, , table: control.prof_tcam_cache.vfr.0 */ @@ -3457,7 +3540,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 10, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4888, + .cond_start_idx = 4957, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3474,7 +3557,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_DROP_AREC_PTR, @@ -3496,7 +3579,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3508,14 +3591,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 675, + .key_start_idx = 679, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 953, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 0 }, { /* class_tid: 4, , table: l2_cntxt_tcam.vfr_2_vf_ing.0 */ @@ -3527,7 +3610,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3539,14 +3622,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 696, + .key_start_idx = 700, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 959, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 0 }, { /* class_tid: 4, , table: fkb_select.vfr_em */ @@ -3558,7 +3641,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_0, @@ -3578,7 +3661,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_1, @@ -3598,7 +3681,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3610,7 +3693,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 717, + .key_start_idx = 721, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, @@ -3627,7 +3710,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3639,7 +3722,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 760, + .key_start_idx = 764, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, @@ -3658,13 +3741,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 803, + .key_start_idx = 807, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, @@ -3681,7 +3764,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_SVIF, @@ -3700,12 +3783,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, - .key_start_idx = 806, + .key_start_idx = 810, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 3, @@ -3724,17 +3807,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 809, + .key_start_idx = 813, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 0 }, { /* class_tid: 4, , table: control.0 */ @@ -3745,7 +3828,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4889, + .cond_start_idx = 4958, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3760,7 +3843,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF, @@ -3781,13 +3864,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 810, + .key_start_idx = 814, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -3804,7 +3887,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_SVIF, @@ -3825,7 +3908,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR, @@ -3848,7 +3931,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -3871,7 +3954,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -3892,12 +3975,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, - .key_start_idx = 811, + .key_start_idx = 815, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 2, @@ -3915,17 +3998,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 813, + .key_start_idx = 817, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .ident_start_idx = 54, + .ident_start_idx = 55, .ident_nums = 1 }, { /* class_tid: 5, , table: prof_func_cache.ing_rd */ @@ -3938,17 +4021,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 814, + .key_start_idx = 818, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .ident_start_idx = 55, + .ident_start_idx = 56, .ident_nums = 1 }, { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ @@ -3961,17 +4044,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 815, + .key_start_idx = 819, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 56, + .ident_start_idx = 57, .ident_nums = 1 }, { /* class_tid: 5, , table: control.ing_0 */ @@ -3982,7 +4065,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4890, + .cond_start_idx = 4959, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3998,7 +4081,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4891, + .cond_start_idx = 4960, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, @@ -4012,11 +4095,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_src2 = BNXT_ULP_FUNC_SRC_CONST, .func_opr2 = 1, .func_dst_opr = BNXT_ULP_RF_IDX_CC }, - .key_start_idx = 816, + .key_start_idx = 820, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 57, + .ident_start_idx = 58, .ident_nums = 2 }, { /* class_tid: 5, , table: l2_cntxt_tcam.ing_0 */ @@ -4028,7 +4111,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4892, + .cond_start_idx = 4961, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -4040,14 +4123,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 817, + .key_start_idx = 821, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, .result_start_idx = 1295, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 59, + .ident_start_idx = 60, .ident_nums = 1 }, { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ @@ -4060,13 +4143,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4896, + .cond_start_idx = 4965, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 838, + .key_start_idx = 842, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -4084,18 +4167,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4900, + .cond_start_idx = 4969, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, - .key_start_idx = 839, + .key_start_idx = 843, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 60, + .ident_start_idx = 61, .ident_nums = 1 }, { /* class_tid: 6, , table: control.l2_cache_check */ @@ -4106,7 +4189,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4900, + .cond_start_idx = 4969, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -4120,7 +4203,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4901, + .cond_start_idx = 4970, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -4140,7 +4223,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4902, + .cond_start_idx = 4971, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -4162,17 +4245,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4903, + .cond_start_idx = 4972, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 840, + .key_start_idx = 844, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 61, + .ident_start_idx = 62, .ident_nums = 1 }, { /* class_tid: 7, , table: control.flow_chain_group_id */ @@ -4183,7 +4266,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4903, + .cond_start_idx = 4972, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -4199,7 +4282,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4904, + .cond_start_idx = 4973, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, @@ -4218,7 +4301,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4904, + .cond_start_idx = 4973, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -4241,13 +4324,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4904, + .cond_start_idx = 4973, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 841, + .key_start_idx = 845, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, @@ -4265,17 +4348,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4904, + .cond_start_idx = 4973, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 842, + .key_start_idx = 846, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, - .ident_start_idx = 62, + .ident_start_idx = 63, .ident_nums = 0 }, { /* class_tid: 7, , table: control.group_miss_action */ @@ -4286,7 +4369,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4904, + .cond_start_idx = 4973, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -4302,13 +4385,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4905, + .cond_start_idx = 4974, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 844, + .key_start_idx = 848, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, @@ -4326,17 +4409,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4905, + .cond_start_idx = 4974, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 846, + .key_start_idx = 850, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 62, + .ident_start_idx = 63, .ident_nums = 2 }, { /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all */ @@ -4348,7 +4431,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4905, + .cond_start_idx = 4974, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -4366,14 +4449,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 847, + .key_start_idx = 851, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 1310, .result_bit_size = 33, .result_num_fields = 4, - .ident_start_idx = 64, + .ident_start_idx = 65, .ident_nums = 0 }, { /* class_tid: 7, , table: flow_chain_cache.group_check_egr */ @@ -4386,17 +4469,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4906, + .cond_start_idx = 4975, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 890, + .key_start_idx = 894, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 64, + .ident_start_idx = 65, .ident_nums = 1 }, { /* class_tid: 7, , table: control.flow_chain_group_id_egr */ @@ -4407,7 +4490,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4906, + .cond_start_idx = 4975, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -4423,7 +4506,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4907, + .cond_start_idx = 4976, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, @@ -4442,7 +4525,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4907, + .cond_start_idx = 4976, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -4465,13 +4548,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4907, + .cond_start_idx = 4976, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 891, + .key_start_idx = 895, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, @@ -4489,17 +4572,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4907, + .cond_start_idx = 4976, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 892, + .key_start_idx = 896, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, - .ident_start_idx = 65, + .ident_start_idx = 66, .ident_nums = 0 }, { /* class_tid: 7, , table: control.group_miss_action_egr */ @@ -4510,7 +4593,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 4907, + .cond_start_idx = 4976, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -4526,13 +4609,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4908, + .cond_start_idx = 4977, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 894, + .key_start_idx = 898, .blob_key_bit_size = 43, .key_bit_size = 43, .key_num_fields = 2, @@ -4550,17 +4633,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4908, + .cond_start_idx = 4977, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 896, + .key_start_idx = 900, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 65, + .ident_start_idx = 66, .ident_nums = 2 }, { /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all_egr */ @@ -4572,7 +4655,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 4908, + .cond_start_idx = 4977, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -4590,15 +4673,29 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 897, + .key_start_idx = 901, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, .result_start_idx = 1318, .result_bit_size = 33, .result_num_fields = 4, - .ident_start_idx = 67, + .ident_start_idx = 68, .ident_nums = 0 + }, + { /* class_tid: 8, , table: control.reject */ + .description = "control.reject", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "Reject: Thor not supporting hot upgrade template", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4978, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP } }; @@ -4639,58 +4736,70 @@ struct bnxt_ulp_mapper_cond_list_info ulp_thor_class_cond_oper_list[] = { .cond_start_idx = 38, .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.l2_only_check:131*/ + /* cond_execute: class_tid: 1, control.l2_only_check:133*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 131, + .cond_start_idx = 133, .cond_nums = 5 }, - /* cond_execute: class_tid: 1, control.l2_only_check:131*/ + /* cond_execute: class_tid: 1, control.l2_only_check:133*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 136, + .cond_start_idx = 138, .cond_nums = 5 }, - /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:141*/ + /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:143*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 141, + .cond_start_idx = 143, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.l2_only_check:2471*/ + /* cond_execute: class_tid: 1, wm.ingress_generic_template:2535*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2535, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, wm.ingress_generic_template:2535*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 2537, + .cond_nums = 1 + }, + /* cond_execute: class_tid: 2, control.l2_only_check:2539*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2471, + .cond_start_idx = 2539, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.l2_only_check:2471*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2539*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2476, + .cond_start_idx = 2544, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2481*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2549*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2481, + .cond_start_idx = 2549, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2481*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2549*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2486, + .cond_start_idx = 2554, .cond_nums = 5 }, - /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2491*/ + /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2559*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2491, + .cond_start_idx = 2559, .cond_nums = 2 }, - /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4881*/ + /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4950*/ { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 4881, + .cond_start_idx = 4950, .cond_nums = 2 } }; @@ -5296,12 +5405,21 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.check_f1_flow:130*/ + /* cond_execute: class_tid: 1, control.update_default_l2_context:130*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_O_DMAC + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + /* cond_execute: class_tid: 1, control.check_f1_flow:132*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 }, - /* cond_execute: class_tid: 1, control.l2_only_check:131*/ + /* cond_execute: class_tid: 1, control.l2_only_check:133*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5322,7 +5440,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* cond_execute: class_tid: 1, control.l2_only_check:131*/ + /* cond_execute: class_tid: 1, control.l2_only_check:133*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5343,7 +5461,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:141*/ + /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:143*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -5364,7 +5482,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, control.terminating_flow:146*/ + /* field_cond: class_tid: 1, control.terminating_flow:148*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5377,7 +5495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, control.terminating_flow:149*/ + /* field_cond: class_tid: 1, control.terminating_flow:151*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5390,7 +5508,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, control.terminating_flow:152*/ + /* field_cond: class_tid: 1, control.terminating_flow:154*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5399,7 +5517,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, control.terminating_flow:154*/ + /* field_cond: class_tid: 1, control.terminating_flow:156*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5408,12 +5526,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, control.terminating_flow:156*/ + /* field_cond: class_tid: 1, control.terminating_flow:158*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, proto_header_cache.rd:157*/ + /* field_cond: class_tid: 1, proto_header_cache.rd:159*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -5422,12 +5540,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.proto_header_cache_miss:159*/ + /* cond_execute: class_tid: 1, control.proto_header_cache_miss:161*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:160*/ + /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:162*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -5436,22 +5554,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.overlap_miss:162*/ + /* cond_execute: class_tid: 1, control.overlap_miss:164*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, group_miss_action_cache.rd:163*/ + /* cond_execute: class_tid: 1, group_miss_action_cache.rd:165*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, group_miss_action_cache.rd:164*/ + /* field_cond: class_tid: 1, group_miss_action_cache.rd:166*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:165*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:167*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5460,7 +5578,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:167*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:169*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -5473,12 +5591,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:170*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:172*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:171*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:173*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5495,7 +5613,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:175*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:177*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5512,7 +5630,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:179*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:181*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5533,7 +5651,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:184*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:186*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5554,7 +5672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:189*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:191*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5575,7 +5693,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:194*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:196*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5596,7 +5714,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:199*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:201*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5613,12 +5731,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:203*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:205*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:204*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:206*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5635,7 +5753,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:208*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:210*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5652,7 +5770,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:212*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:214*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5669,7 +5787,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:216*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:218*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5686,7 +5804,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:220*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:222*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5703,7 +5821,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:224*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:226*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5720,7 +5838,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:228*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:230*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5737,7 +5855,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:232*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:234*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5754,7 +5872,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:236*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:238*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5771,7 +5889,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:240*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5788,7 +5906,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:244*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:246*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5805,7 +5923,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:248*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:250*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5826,7 +5944,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:253*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:255*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -5843,7 +5961,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:257*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:259*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5856,7 +5974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:260*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:262*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5869,7 +5987,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:263*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:265*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:268*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:271*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5886,7 +6030,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:267*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:275*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5899,7 +6043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:270*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:278*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5916,7 +6060,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:274*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:282*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5929,7 +6073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:277*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:285*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5950,7 +6094,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:282*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:290*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5967,7 +6111,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:286*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:294*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5988,7 +6132,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:291*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:299*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -6009,7 +6153,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:296*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:304*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6026,7 +6170,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:300*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:308*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -6043,7 +6187,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:304*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:312*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6064,7 +6208,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:309*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:317*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6081,7 +6225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:313*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:321*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6102,7 +6246,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:318*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:326*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6123,7 +6267,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:323*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:331*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6140,7 +6284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:327*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:335*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6157,7 +6301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:331*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:339*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6178,7 +6322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:336*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:344*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6199,7 +6343,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:341*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:349*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6216,7 +6360,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:345*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:353*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6233,7 +6377,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:349*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:357*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6254,7 +6398,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:354*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:362*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6275,7 +6419,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:359*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:367*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6292,7 +6436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:363*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:371*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6309,7 +6453,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:367*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:375*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6330,7 +6474,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:372*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:380*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6351,7 +6495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:377*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:385*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6368,7 +6512,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:381*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:389*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6385,7 +6529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:385*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:393*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6406,7 +6550,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:390*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:398*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6427,7 +6571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:395*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:403*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6444,7 +6588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:399*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:407*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6461,7 +6605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:403*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:411*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -6470,7 +6614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:405*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:413*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -6483,12 +6627,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:408*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:416*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:409*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:417*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -6501,7 +6645,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:412*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:420*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -6510,7 +6654,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:414*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:422*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -6523,12 +6667,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:417*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:425*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:418*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:426*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -6541,12 +6685,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* cond_execute: class_tid: 1, wm.ingress_generic_template_grp_catch_all:421*/ + /* cond_execute: class_tid: 1, wm.ingress_generic_template_grp_catch_all:429*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:422*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:430*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6555,7 +6699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:424*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:432*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6564,7 +6708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:426*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:434*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -6577,7 +6721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:429*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:437*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -6590,17 +6734,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:432*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:440*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:433*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:441*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:434*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:442*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6617,7 +6761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:438*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:446*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6634,7 +6778,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:442*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:450*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6651,7 +6795,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:446*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:454*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6668,7 +6812,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:450*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:458*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6689,7 +6833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:455*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:463*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6710,7 +6854,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:460*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:468*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6731,7 +6875,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:465*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:473*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6752,7 +6896,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:470*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:478*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6773,7 +6917,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:475*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:483*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6794,7 +6938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:480*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:488*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6815,7 +6959,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:485*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:493*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -6836,7 +6980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:490*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:498*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6853,7 +6997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:494*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:502*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6870,7 +7014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:498*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:506*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6887,12 +7031,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:502*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:510*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:503*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:511*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6909,12 +7053,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:507*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:515*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:508*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:516*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6931,7 +7075,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:512*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:520*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6948,7 +7092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:516*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:524*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6965,7 +7109,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:520*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:528*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6982,7 +7126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:524*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:532*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -6999,7 +7143,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:528*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:536*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7016,7 +7160,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:532*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:540*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7033,7 +7177,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:536*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:544*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7050,7 +7194,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:540*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:548*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7067,7 +7211,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:544*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:552*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7084,7 +7228,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:548*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:556*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7101,7 +7245,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:552*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:560*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7118,7 +7262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:556*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:564*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7135,7 +7279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:560*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:568*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7152,7 +7296,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:564*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:572*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7169,7 +7313,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:568*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:576*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7186,7 +7330,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:572*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:580*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7203,7 +7347,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:576*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:584*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7220,7 +7364,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:580*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:588*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7237,7 +7381,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:584*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:592*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7254,7 +7398,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:588*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:596*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7275,7 +7419,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:593*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:601*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7292,7 +7436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:597*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:605*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7313,7 +7457,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:602*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:610*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -7330,7 +7474,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:606*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:614*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7343,7 +7487,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:609*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:617*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7356,7 +7500,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:612*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:620*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:623*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7369,7 +7526,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:615*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:626*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7382,7 +7539,46 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:618*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:629*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:632*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:635*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:638*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7399,7 +7595,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:622*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:642*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7412,7 +7608,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:625*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:645*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7429,7 +7625,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:629*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:649*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7442,7 +7638,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:632*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:652*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7459,7 +7655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:636*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:656*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7472,7 +7668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:639*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:659*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7489,7 +7685,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:643*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:663*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7502,7 +7698,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:646*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:666*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7523,7 +7719,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:651*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:671*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7540,7 +7736,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:655*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:675*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7561,7 +7757,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:660*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:680*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7578,7 +7774,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:664*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:684*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7599,7 +7795,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:669*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:689*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7620,7 +7816,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:674*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:694*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7637,7 +7833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:678*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7654,7 +7850,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:682*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:702*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7675,7 +7871,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:687*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:707*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7696,7 +7892,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:692*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:712*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7713,7 +7909,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:696*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:716*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7730,7 +7926,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:700*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:720*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7751,7 +7947,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:705*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:725*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7768,7 +7964,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:709*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:729*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7789,7 +7985,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:714*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:734*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -7806,7 +8002,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:718*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:738*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7823,7 +8019,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:722*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:742*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7836,7 +8032,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:725*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:745*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7853,7 +8049,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:729*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:749*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7866,7 +8062,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:732*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:752*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7883,7 +8079,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:736*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:756*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7896,7 +8092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:739*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:759*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7913,7 +8109,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:743*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:763*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7926,7 +8122,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:746*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:766*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7943,7 +8139,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:750*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:770*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7956,7 +8152,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:753*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:773*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7973,7 +8169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:757*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:777*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -7986,7 +8182,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:760*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:780*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8003,7 +8199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:764*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:784*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8016,7 +8212,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:767*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:787*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8033,7 +8229,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:771*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:791*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8046,7 +8242,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:774*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:794*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8063,7 +8259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:778*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:798*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8080,7 +8276,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:782*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:802*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8093,7 +8289,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:785*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:805*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8106,7 +8302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:788*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:808*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8123,7 +8319,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:792*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:812*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8140,7 +8336,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:796*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:816*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8153,7 +8349,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:799*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:819*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8166,7 +8362,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:802*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:822*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8179,7 +8375,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:805*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:825*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8192,7 +8388,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:808*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:828*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8201,7 +8397,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:810*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:830*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8210,7 +8406,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:812*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:832*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8227,7 +8423,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:816*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:836*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8244,7 +8440,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:820*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:840*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8257,7 +8453,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:823*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:843*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8270,7 +8466,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:826*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:846*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8283,7 +8479,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:829*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:849*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8296,7 +8492,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:832*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:852*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8305,7 +8501,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:834*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:854*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8314,7 +8510,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:836*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:856*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8331,7 +8527,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:840*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:860*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8348,7 +8544,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:844*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:864*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8361,7 +8557,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:847*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:867*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8374,7 +8570,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:850*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:870*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8391,7 +8587,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:854*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:874*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8408,7 +8604,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:858*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:878*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8421,7 +8617,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:861*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:881*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8434,7 +8630,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:864*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:884*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8451,7 +8647,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:868*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:888*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8468,7 +8664,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:872*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:892*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8481,7 +8677,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:875*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:895*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8494,7 +8690,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:878*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8511,7 +8707,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:882*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:902*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8528,7 +8724,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:886*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:906*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8541,7 +8737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:889*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:909*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8554,7 +8750,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:892*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:912*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8563,7 +8759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:894*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:914*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8580,7 +8776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:898*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:918*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8597,7 +8793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:902*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:922*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8610,7 +8806,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:905*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:925*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8623,7 +8819,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:908*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:928*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8632,7 +8828,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:910*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:930*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8649,7 +8845,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:914*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:934*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8666,7 +8862,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:918*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:938*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8679,7 +8875,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:921*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:941*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8692,7 +8888,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:924*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:944*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8701,7 +8897,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:926*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:946*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8718,7 +8914,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:930*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:950*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8735,7 +8931,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:934*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:954*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8748,7 +8944,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:937*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:957*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8761,7 +8957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:940*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:960*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -8770,7 +8966,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:942*/ + /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:962*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -8779,12 +8975,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:944*/ + /* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:964*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:945*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:965*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8793,7 +8989,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:947*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:967*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8802,7 +8998,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:949*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:969*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8811,7 +9007,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:951*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:971*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8820,7 +9016,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:953*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:973*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8829,7 +9025,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:955*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:975*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8838,7 +9034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:957*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:977*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8847,7 +9043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:959*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:979*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8856,7 +9052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:961*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:981*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8865,7 +9061,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:963*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:983*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8874,7 +9070,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:965*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:985*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8883,7 +9079,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:967*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:987*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8892,7 +9088,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:969*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:989*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8901,7 +9097,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:971*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:991*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8910,7 +9106,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:973*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:993*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8919,7 +9115,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:975*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:995*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8928,7 +9124,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:977*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:997*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8937,7 +9133,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:979*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:999*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8946,7 +9142,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:981*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1001*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8955,7 +9151,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:983*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1003*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8964,7 +9160,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:985*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1005*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8973,7 +9169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:987*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1007*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8982,7 +9178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:989*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1009*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8991,7 +9187,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:991*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1011*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9000,7 +9196,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:993*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1013*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9009,7 +9205,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:995*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1015*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9018,7 +9214,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:997*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1017*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9027,7 +9223,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:999*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1019*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9036,7 +9232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1001*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1021*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9045,7 +9241,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1003*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1023*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9054,7 +9250,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1005*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1025*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9063,7 +9259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1007*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1027*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9072,7 +9268,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1009*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1029*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9081,7 +9277,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1011*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1031*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9090,7 +9286,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1013*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1033*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9099,7 +9295,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1015*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1035*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9108,7 +9304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1017*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1037*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9117,7 +9313,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1019*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1039*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9126,7 +9322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1021*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1041*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9135,7 +9331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1023*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1043*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9144,7 +9340,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1025*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1045*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9153,7 +9349,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1027*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1047*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9162,7 +9358,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1029*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1049*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9171,7 +9367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1031*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1051*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9180,7 +9376,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1033*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1053*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1055*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9189,7 +9394,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1035*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1057*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9198,7 +9403,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1037*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1059*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9207,7 +9412,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1039*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1061*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9216,7 +9421,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1041*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1063*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9225,7 +9430,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1043*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1065*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9234,7 +9439,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1045*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1067*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9243,7 +9448,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1047*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1069*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9252,7 +9457,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1049*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1071*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9261,7 +9466,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1051*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1073*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9270,7 +9475,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1053*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1075*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9279,7 +9484,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1055*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1077*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9288,7 +9493,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1057*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1079*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9297,7 +9502,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1059*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1081*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9306,7 +9511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1061*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1083*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9315,7 +9520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1063*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1085*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9324,7 +9529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1065*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1087*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9333,7 +9538,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1067*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1089*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9342,7 +9547,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1069*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1091*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9351,7 +9556,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1071*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1093*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9360,7 +9565,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1073*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1095*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9369,7 +9574,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1075*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1097*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9378,7 +9583,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1077*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1099*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9387,7 +9592,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1079*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1101*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9396,7 +9601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1081*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1103*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9409,7 +9614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1084*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1106*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9422,7 +9627,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1087*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9435,7 +9640,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1090*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1112*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9448,17 +9653,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1093*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1115*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1094*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1116*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1095*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1117*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9467,7 +9672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1097*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1119*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9476,7 +9681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1099*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1121*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9485,7 +9690,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1101*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1123*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9494,7 +9699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1103*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1125*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9503,7 +9708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1105*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1127*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9512,7 +9717,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1107*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1129*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1131*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1133*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1135*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1137*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9521,7 +9762,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1109*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1139*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9530,7 +9771,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1111*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1141*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9539,7 +9780,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1113*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1143*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9548,7 +9789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1115*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1145*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9557,7 +9798,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1117*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1147*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9566,7 +9807,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1119*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1149*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1151*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9575,7 +9825,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1121*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1153*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9584,7 +9834,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1123*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1155*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9593,7 +9843,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1125*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1157*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9602,7 +9852,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1127*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1159*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9611,7 +9861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1129*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1161*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9620,22 +9870,31 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1131*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1163*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1165*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1132*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1166*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1133*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1167*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1134*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1168*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9644,7 +9903,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1136*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1170*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9653,7 +9912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1138*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1172*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9662,7 +9921,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1140*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1174*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9671,7 +9930,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1142*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1176*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9680,7 +9939,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1144*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1178*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9689,7 +9948,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1146*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1180*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9698,7 +9957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1148*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1182*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9707,7 +9966,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1150*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1184*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9716,7 +9975,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1152*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1186*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9725,7 +9984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1154*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1188*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9734,7 +9993,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1156*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1190*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9743,7 +10002,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1158*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1192*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9752,7 +10011,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1160*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1194*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9761,12 +10020,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1162*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1196*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1163*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1197*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9775,7 +10034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1165*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1199*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9784,12 +10043,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1167*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1201*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1168*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1202*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9798,7 +10057,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1170*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1204*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9807,7 +10066,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1172*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1206*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9816,7 +10075,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1174*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1208*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9825,7 +10084,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1176*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1210*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9834,7 +10093,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1178*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1212*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9843,7 +10102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1180*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1214*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9852,7 +10111,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1182*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1216*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9861,7 +10120,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1184*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1218*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9870,7 +10129,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1186*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1220*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9879,7 +10138,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1188*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1222*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9888,7 +10147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1190*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1224*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9897,7 +10156,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1192*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1226*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9910,7 +10169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1195*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1229*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9923,17 +10182,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1198*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1232*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1199*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1233*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1200*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1234*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9942,7 +10201,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1202*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1236*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9951,7 +10210,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1204*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1238*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -9960,16 +10219,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1240*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:1207*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1208*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9978,7 +10237,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1210*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1244*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -9987,7 +10246,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1212*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -10000,7 +10259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1215*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1249*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -10009,26 +10268,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1251*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1218*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1252*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1219*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1253*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1220*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1254*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1221*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1255*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10045,7 +10305,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1225*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1259*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10062,7 +10322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1229*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1263*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10079,7 +10339,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1233*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1267*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10096,7 +10356,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1237*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1271*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10117,7 +10377,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1242*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1276*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10138,7 +10398,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1247*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1281*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10159,7 +10419,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1252*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1286*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10180,7 +10440,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1257*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1291*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10201,7 +10461,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1262*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1296*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10222,7 +10482,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1267*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1301*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -10243,7 +10503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1272*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1306*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -10264,7 +10524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1277*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1311*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10281,7 +10541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1281*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1315*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10298,7 +10558,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1285*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1319*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10315,12 +10575,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1289*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1323*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1290*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1324*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10337,12 +10597,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1294*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1328*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1295*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1329*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10359,7 +10619,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1299*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1333*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10376,7 +10636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1303*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1337*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10393,7 +10653,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1307*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1341*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10410,7 +10670,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1311*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1345*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10427,7 +10687,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1315*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1349*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10444,7 +10704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1319*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1353*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10461,7 +10721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1323*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1357*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10478,7 +10738,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1327*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1361*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10495,7 +10755,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1331*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1365*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10512,7 +10772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1335*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1369*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10529,7 +10789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1339*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1373*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10546,7 +10806,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1343*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1377*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10563,7 +10823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1347*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1381*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10580,7 +10840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1351*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1385*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10597,7 +10857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1355*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1389*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10614,7 +10874,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1359*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1393*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10631,7 +10891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1363*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1397*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10648,7 +10908,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1367*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1401*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10665,7 +10925,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1371*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1405*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10682,7 +10942,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1375*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1409*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10703,7 +10963,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1380*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1414*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10720,7 +10980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1384*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1418*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10741,7 +11001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1389*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1423*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -10758,7 +11018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1393*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1427*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10771,7 +11031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1396*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1430*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10784,7 +11044,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1399*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1433*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1436*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10797,7 +11070,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1402*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1439*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10810,7 +11083,46 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1405*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1442*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1445*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1448*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1451*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10827,7 +11139,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1409*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1455*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10840,7 +11152,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1412*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1458*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10857,7 +11169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1416*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1462*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10870,7 +11182,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1419*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1465*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10887,7 +11199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1423*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1469*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10900,7 +11212,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1426*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1472*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10917,7 +11229,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1430*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1476*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10930,7 +11242,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1433*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1479*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10951,7 +11263,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1438*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1484*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -10968,7 +11280,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1442*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1488*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10989,7 +11301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1447*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1493*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11006,7 +11318,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1451*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1497*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11027,7 +11339,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1456*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1502*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11048,7 +11360,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1461*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1507*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11065,7 +11377,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1465*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1511*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11082,7 +11394,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1469*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1515*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11103,7 +11415,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1474*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1520*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11124,7 +11436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1479*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1525*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11141,7 +11453,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1483*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1529*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11158,7 +11470,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1487*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1533*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11179,7 +11491,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1492*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1538*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11196,7 +11508,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1496*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1542*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11217,7 +11529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1501*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1547*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -11234,7 +11546,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1505*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1551*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11251,7 +11563,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1509*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1555*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11264,7 +11576,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1512*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1558*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11281,7 +11593,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1516*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1562*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11294,7 +11606,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1519*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1565*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11311,7 +11623,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1523*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1569*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11324,7 +11636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1526*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1572*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11341,7 +11653,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1530*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1576*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11354,7 +11666,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1533*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1579*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11371,7 +11683,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1537*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1583*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11384,7 +11696,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1540*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1586*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11401,7 +11713,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1544*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1590*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11414,7 +11726,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1547*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1593*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11431,7 +11743,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1551*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1597*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11444,7 +11756,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1554*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1600*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11461,7 +11773,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1558*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1604*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11474,7 +11786,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1561*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1607*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11491,7 +11803,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1565*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1611*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11508,7 +11820,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1569*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1615*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11521,7 +11833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1572*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1618*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11534,7 +11846,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1575*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1621*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11551,7 +11863,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1579*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1625*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11568,7 +11880,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1583*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1629*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11581,7 +11893,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1586*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1632*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11594,7 +11906,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1589*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1635*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11611,7 +11923,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1593*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1639*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11628,7 +11940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1597*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1643*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11641,7 +11953,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1600*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1646*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11654,7 +11966,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1603*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1649*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11671,7 +11983,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1607*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1653*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11688,7 +12000,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1611*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1657*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11701,7 +12013,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1614*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1660*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11714,7 +12026,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1617*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1663*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11731,7 +12043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1621*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1667*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11748,7 +12060,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1625*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1671*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11761,7 +12073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1628*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1674*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11774,7 +12086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1631*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1677*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11791,7 +12103,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1635*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1681*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11808,7 +12120,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1639*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1685*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11821,7 +12133,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1642*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1688*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11834,7 +12146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1645*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1691*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11851,7 +12163,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1649*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1695*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11868,7 +12180,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1653*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1699*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11881,7 +12193,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1656*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1702*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11894,7 +12206,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1659*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1705*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11903,7 +12215,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1661*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1707*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11920,7 +12232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1665*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1711*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11937,7 +12249,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1669*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1715*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11950,7 +12262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1672*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1718*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -11963,7 +12275,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1675*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1721*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11972,7 +12284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1677*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1723*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11989,7 +12301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1681*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1727*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12006,7 +12318,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1685*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1731*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12019,7 +12331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1688*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1734*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12032,7 +12344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1691*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1737*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12041,7 +12353,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1693*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1739*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12058,7 +12370,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1697*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1743*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12075,7 +12387,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1701*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1747*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12088,7 +12400,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1704*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1750*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12101,7 +12413,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1707*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1753*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12110,7 +12422,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, proto_header_cache.wr:1709*/ + /* cond_execute: class_tid: 1, control.outer_present_mode_2:1755*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + /* field_cond: class_tid: 1, proto_header_cache.wr:1756*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -12119,7 +12436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1711*/ + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1758*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -12136,7 +12453,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1715*/ + /* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1762*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -12145,12 +12462,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1717*/ + /* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1764*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1718*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1765*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12159,7 +12476,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1720*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1767*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -12168,12 +12485,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1722*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1769*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1723*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1770*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12194,7 +12511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1728*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1775*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12211,7 +12528,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1732*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1779*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12232,7 +12549,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1737*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1784*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12253,7 +12570,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1742*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1789*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12274,7 +12591,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1747*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1794*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12295,7 +12612,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1752*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1799*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12312,7 +12629,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1756*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1803*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12329,7 +12646,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1760*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1807*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12346,7 +12663,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1764*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1811*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12363,7 +12680,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1768*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1815*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12380,7 +12697,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1772*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1819*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12397,7 +12714,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1776*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1823*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12414,7 +12731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1780*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1827*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12431,7 +12748,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1784*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1831*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12448,7 +12765,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1788*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1835*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12465,7 +12782,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1792*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1839*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12482,7 +12799,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1796*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1843*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12499,7 +12816,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1800*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1847*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12520,7 +12837,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1805*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1852*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12537,7 +12854,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1809*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1856*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12550,7 +12867,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1812*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1859*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12563,7 +12880,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1815*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1862*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1865*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1868*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12584,7 +12927,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1820*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1873*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12601,7 +12944,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1824*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1877*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12618,7 +12961,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1828*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1881*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12631,7 +12974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1831*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1884*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12652,7 +12995,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1836*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1889*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12669,7 +13012,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1840*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1893*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12690,7 +13033,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1845*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12711,7 +13054,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1850*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1903*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12728,7 +13071,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1854*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1907*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12745,7 +13088,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1858*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1911*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12766,7 +13109,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1863*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1916*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12783,7 +13126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1867*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1920*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12800,7 +13143,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1871*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1924*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12817,7 +13160,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1875*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1928*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12830,7 +13173,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1878*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1931*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12843,7 +13186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1881*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1934*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12860,7 +13203,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1885*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1938*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12877,7 +13220,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1889*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1942*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12890,7 +13233,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1892*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1945*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12903,7 +13246,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1895*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1948*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12920,7 +13263,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1899*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1952*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12937,7 +13280,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1903*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1956*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12950,7 +13293,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1906*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1959*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -12963,7 +13306,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1909*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1962*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12980,7 +13323,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1913*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1966*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12997,7 +13340,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1917*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1970*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13010,7 +13353,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1920*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1973*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13023,7 +13366,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1923*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1976*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13040,7 +13383,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1927*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1980*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13057,7 +13400,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1931*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1984*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13070,7 +13413,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1934*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1987*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13083,7 +13426,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1937*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1990*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13100,7 +13443,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1941*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1994*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13117,7 +13460,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1945*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1998*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13130,7 +13473,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1948*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:2001*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13143,7 +13486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1951*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:2004*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13160,7 +13503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1955*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:2008*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13177,7 +13520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1959*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:2012*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13190,7 +13533,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1962*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:2015*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13203,7 +13546,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1965*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2018*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13212,7 +13555,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1967*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2020*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13221,7 +13564,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1969*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2022*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13230,7 +13573,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1971*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2024*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -13239,17 +13582,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1973*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2026*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1974*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2027*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1975*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2028*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13270,7 +13613,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1980*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2033*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13291,7 +13634,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1985*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2038*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13308,7 +13651,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1989*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2042*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13325,7 +13668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1993*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2046*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13346,7 +13689,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1998*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2051*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13367,7 +13710,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2003*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2056*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13388,7 +13731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2008*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2061*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13409,7 +13752,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2013*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2066*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13430,7 +13773,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2018*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2071*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13451,7 +13794,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2023*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2076*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -13472,7 +13815,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2028*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2081*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -13493,7 +13836,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2033*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2086*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13510,7 +13853,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2037*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2090*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13527,7 +13870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2041*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2094*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13544,7 +13887,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2045*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2098*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13561,7 +13904,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2049*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2102*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13578,7 +13921,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2053*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2106*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13595,7 +13938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2057*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2110*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13612,7 +13955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2061*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2114*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13629,7 +13972,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2065*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2118*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13646,7 +13989,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2069*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2122*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13663,7 +14006,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2073*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2126*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13680,7 +14023,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2077*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2130*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13697,7 +14040,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2081*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2134*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13714,7 +14057,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2085*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2138*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13731,7 +14074,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2089*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2142*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13748,7 +14091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2093*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2146*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13765,7 +14108,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2097*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2150*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13782,7 +14125,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2101*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2154*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13799,7 +14142,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2105*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2158*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13816,7 +14159,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2109*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2162*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13833,7 +14176,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2113*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2166*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13850,7 +14193,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2117*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2170*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13867,7 +14210,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2121*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2174*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13884,7 +14227,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2125*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2178*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13901,7 +14244,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2129*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2182*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13922,7 +14265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2134*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2187*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13939,7 +14282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2138*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2191*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13960,7 +14303,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2143*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2196*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -13977,7 +14320,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2147*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2200*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13990,7 +14333,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:2150*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2203*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14003,7 +14346,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:2153*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2206*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2209*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14016,7 +14372,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:2156*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2212*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14029,7 +14385,46 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:2159*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2215*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_MPLS + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2218*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2221*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE_OPT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2224*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14050,7 +14445,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2164*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2229*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14067,7 +14462,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2168*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2233*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14088,7 +14483,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2173*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2238*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14105,7 +14500,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2177*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14122,7 +14517,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2181*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14135,7 +14530,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2184*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2249*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14152,7 +14547,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2188*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2253*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14165,7 +14560,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:2191*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2256*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14186,7 +14581,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2196*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2261*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14203,7 +14598,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2200*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2265*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14224,7 +14619,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2205*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2270*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14241,7 +14636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2209*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2274*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14262,7 +14657,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2214*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2279*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14283,7 +14678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2219*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2284*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14300,7 +14695,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2223*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2288*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14317,7 +14712,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2227*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2292*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14338,7 +14733,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2232*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2297*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14359,7 +14754,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2237*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2302*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14376,7 +14771,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2241*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2306*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14393,7 +14788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2245*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2310*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14414,7 +14809,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2250*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2315*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14431,7 +14826,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2254*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2319*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14452,7 +14847,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2259*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2324*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -14469,7 +14864,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:2263*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2328*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14486,7 +14881,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2267*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2332*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14499,7 +14894,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2270*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2335*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14516,7 +14911,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2274*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2339*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14529,7 +14924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2277*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2342*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14546,7 +14941,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2281*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2346*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14559,7 +14954,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2284*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2349*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14576,7 +14971,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2288*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2353*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14589,7 +14984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2291*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2356*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14606,7 +15001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2295*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2360*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14619,7 +15014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2298*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2363*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14636,7 +15031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2302*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2367*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14649,7 +15044,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2305*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2370*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14666,7 +15061,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2309*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2374*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14679,7 +15074,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2312*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2377*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14696,7 +15091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2316*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2381*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14709,7 +15104,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:2319*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2384*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14726,7 +15121,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2323*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2388*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14743,7 +15138,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2327*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2392*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14756,7 +15151,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2330*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2395*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14769,7 +15164,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2333*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2398*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14786,7 +15181,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2337*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2402*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14803,7 +15198,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2341*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2406*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14816,7 +15211,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2344*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2409*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14829,7 +15224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:2347*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2412*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14846,7 +15241,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2351*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2416*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14863,7 +15258,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2355*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2420*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14876,7 +15271,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2358*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2423*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14889,7 +15284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2361*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2426*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14906,7 +15301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2365*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2430*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14923,7 +15318,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2369*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2434*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14936,7 +15331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2372*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2437*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14949,7 +15344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:2375*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2440*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14966,7 +15361,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2379*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2444*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -14983,7 +15378,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2383*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2448*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14996,7 +15391,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2386*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2451*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15009,7 +15404,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2389*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2454*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15026,7 +15421,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2393*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2458*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15043,7 +15438,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2397*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2462*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15056,7 +15451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2400*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2465*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15069,7 +15464,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:2403*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2468*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15086,7 +15481,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2407*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2472*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15103,7 +15498,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2411*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2476*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15116,7 +15511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2414*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2479*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15129,7 +15524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2417*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2482*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15146,7 +15541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2421*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2486*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15163,7 +15558,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2425*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2490*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15176,7 +15571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2428*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2493*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15189,7 +15584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2431*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2496*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15206,7 +15601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2435*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2500*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15223,7 +15618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2439*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2504*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15236,7 +15631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2442*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2507*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15249,7 +15644,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2445*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2510*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15266,7 +15661,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2449*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2514*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15283,7 +15678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2453*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2518*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15296,7 +15691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:2456*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2521*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15309,7 +15704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2459*/ + /* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2524*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -15318,7 +15713,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.field_sig_validation:2461*/ + /* cond_execute: class_tid: 1, control.field_sig_validation:2526*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_CC @@ -15327,7 +15722,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID }, - /* cond_execute: class_tid: 1, control.outer_loop_add_check:2463*/ + /* cond_execute: class_tid: 1, control.outer_loop_add_check:2528*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15336,7 +15731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD }, - /* cond_execute: class_tid: 1, em.ingress_generic_template:2465*/ + /* cond_execute: class_tid: 1, em.ingress_generic_template:2530*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -15353,17 +15748,31 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, control.em_add_check:2469*/ + /* cond_execute: class_tid: 1, control.em_add_check:2534*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL }, - /* cond_execute: class_tid: 1, control.outer_loop_check:2470*/ + /* cond_execute: class_tid: 1, wm.ingress_generic_template:2535*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD + }, + /* cond_execute: class_tid: 1, wm.ingress_generic_template:2535*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + /* cond_execute: class_tid: 1, control.outer_loop_check:2538*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.l2_only_check:2471*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2539*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15384,7 +15793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* cond_execute: class_tid: 2, control.l2_only_check:2471*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2539*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15405,7 +15814,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2481*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2549*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -15426,7 +15835,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2481*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2549*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -15447,7 +15856,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2491*/ + /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2559*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -15456,7 +15865,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* cond_execute: class_tid: 2, control.multi_tunnel_check:2493*/ + /* cond_execute: class_tid: 2, control.multi_tunnel_check:2561*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY @@ -15465,7 +15874,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2495*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2563*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15474,7 +15883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2497*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2565*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15483,7 +15892,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2499*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2567*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15492,7 +15901,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2501*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2569*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15501,7 +15910,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2503*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2571*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15510,7 +15919,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2505*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2573*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15519,7 +15928,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2507*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2575*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15528,7 +15937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2509*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2577*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15537,7 +15946,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2511*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2579*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15546,7 +15955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2513*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2581*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15555,7 +15964,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2515*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2583*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15564,7 +15973,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2517*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2585*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15573,7 +15982,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2519*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2587*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -15582,7 +15991,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2521*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2589*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -15591,12 +16000,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* cond_execute: class_tid: 2, control.multi_flow_cache_check:2523*/ + /* cond_execute: class_tid: 2, control.multi_flow_cache_check:2591*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2524*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2592*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15605,7 +16014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2526*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2594*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15614,7 +16023,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2528*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2596*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15623,7 +16032,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2530*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2598*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -15632,7 +16041,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2532*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2600*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15641,7 +16050,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2534*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2602*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15650,7 +16059,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2536*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2604*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15659,7 +16068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2538*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2606*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -15668,7 +16077,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2540*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2608*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15677,7 +16086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2542*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2610*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15686,7 +16095,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2544*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2612*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15695,7 +16104,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2546*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2614*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -15704,7 +16113,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2548*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2616*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -15713,7 +16122,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2550*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2618*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -15722,7 +16131,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, control.terminating_flow:2552*/ + /* field_cond: class_tid: 2, control.terminating_flow:2620*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15731,7 +16140,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, control.terminating_flow:2554*/ + /* field_cond: class_tid: 2, control.terminating_flow:2622*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15740,7 +16149,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, control.terminating_flow:2556*/ + /* field_cond: class_tid: 2, control.terminating_flow:2624*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15749,7 +16158,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, control.terminating_flow:2558*/ + /* field_cond: class_tid: 2, control.terminating_flow:2626*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -15758,17 +16167,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* cond_execute: class_tid: 2, control.group_id_check:2560*/ + /* cond_execute: class_tid: 2, control.group_id_check:2628*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* cond_execute: class_tid: 2, control.flow_chain_group_id:2561*/ + /* cond_execute: class_tid: 2, control.flow_chain_group_id:2629*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, proto_header_cache.rd:2562*/ + /* field_cond: class_tid: 2, proto_header_cache.rd:2630*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -15777,12 +16186,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.proto_header_cache_miss:2564*/ + /* cond_execute: class_tid: 2, control.proto_header_cache_miss:2632*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2565*/ + /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2633*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -15791,22 +16200,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.overlap_miss:2567*/ + /* cond_execute: class_tid: 2, control.overlap_miss:2635*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 2, group_miss_action_cache.rd:2568*/ + /* cond_execute: class_tid: 2, group_miss_action_cache.rd:2636*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, group_miss_action_cache.rd:2569*/ + /* field_cond: class_tid: 2, group_miss_action_cache.rd:2637*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2570*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2638*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15815,7 +16224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2572*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2640*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -15828,12 +16237,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2575*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2643*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2576*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2644*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15850,7 +16259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2580*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2648*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15867,7 +16276,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2584*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2652*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -15880,7 +16289,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2587*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2655*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15901,7 +16310,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2592*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2660*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15922,7 +16331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2597*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2665*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15943,7 +16352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2602*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2670*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -15964,7 +16373,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2607*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2675*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15981,12 +16390,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2611*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2679*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2612*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2680*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16003,7 +16412,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2616*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2684*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16020,7 +16429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2620*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2688*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16037,7 +16446,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2624*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2692*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16054,7 +16463,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2628*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2696*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16071,7 +16480,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2632*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2700*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16088,7 +16497,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2636*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2704*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16105,7 +16514,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2640*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2708*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16122,7 +16531,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2644*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2712*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16139,7 +16548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2648*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2716*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16156,7 +16565,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2652*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2720*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16173,7 +16582,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2656*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2724*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16194,7 +16603,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2661*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2729*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16211,7 +16620,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2665*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2733*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16224,7 +16633,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2668*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2736*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16237,7 +16646,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2671*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2739*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16254,7 +16663,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2675*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2743*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16267,7 +16676,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2678*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2746*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16284,7 +16693,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2682*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2750*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16297,7 +16706,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2685*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2753*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16318,7 +16727,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2690*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2758*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16335,7 +16744,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2694*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2762*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16356,7 +16765,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2699*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2767*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16377,7 +16786,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2704*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2772*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16394,7 +16803,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2708*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2776*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -16411,7 +16820,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2712*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2780*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16432,7 +16841,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2717*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2785*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16449,7 +16858,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2721*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2789*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16470,7 +16879,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2726*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2794*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16491,7 +16900,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2731*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2799*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16508,7 +16917,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2735*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2803*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16525,7 +16934,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2739*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2807*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16546,7 +16955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2744*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2812*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16567,7 +16976,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2749*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2817*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16584,7 +16993,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2753*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2821*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16601,7 +17010,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2757*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2825*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16622,7 +17031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2762*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2830*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16643,7 +17052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2767*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2835*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16660,7 +17069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2771*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2839*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16677,7 +17086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2775*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2843*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16698,7 +17107,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2780*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2848*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16719,7 +17128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2785*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2853*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16736,7 +17145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2789*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2857*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16753,7 +17162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2793*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2861*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16774,7 +17183,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2798*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2866*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16795,7 +17204,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2803*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2871*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16812,7 +17221,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2807*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2875*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -16829,7 +17238,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2811*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2879*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16838,7 +17247,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2813*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2881*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -16851,12 +17260,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2816*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2884*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2817*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2885*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -16869,7 +17278,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2820*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2888*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16878,7 +17287,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2822*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2890*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -16891,12 +17300,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2825*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2893*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2826*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2894*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -16909,12 +17318,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* cond_execute: class_tid: 2, wm.egress_generic_template_grp_catch_all:2829*/ + /* cond_execute: class_tid: 2, wm.egress_generic_template_grp_catch_all:2897*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2830*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16923,7 +17332,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2832*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2900*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16932,7 +17341,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2834*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2902*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -16945,7 +17354,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2837*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2905*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -16958,17 +17367,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2840*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2908*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2841*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2909*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2842*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2910*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -16985,7 +17394,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2846*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2914*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17002,7 +17411,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2850*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2918*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17019,7 +17428,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2854*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2922*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -17032,7 +17441,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2857*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2925*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17049,7 +17458,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2861*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2929*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -17062,7 +17471,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2864*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2932*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17083,7 +17492,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2869*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2937*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17104,7 +17513,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2874*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2942*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17125,7 +17534,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2879*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2947*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17146,7 +17555,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2884*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2952*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17167,7 +17576,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2889*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2957*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17188,7 +17597,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2894*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2962*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17209,7 +17618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2899*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2967*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -17230,7 +17639,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2904*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2972*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17247,7 +17656,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2908*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2976*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17264,7 +17673,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2912*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2980*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17281,12 +17690,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2916*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2984*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2917*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2985*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17303,12 +17712,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2921*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2989*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2922*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2990*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17325,7 +17734,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2926*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2994*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17342,7 +17751,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2930*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2998*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17359,7 +17768,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2934*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3002*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17376,7 +17785,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2938*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3006*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17393,7 +17802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2942*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3010*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17410,7 +17819,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2946*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3014*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17427,7 +17836,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2950*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3018*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17444,7 +17853,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2954*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3022*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17461,7 +17870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2958*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3026*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17478,7 +17887,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2962*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3030*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17495,7 +17904,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2966*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3034*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17512,7 +17921,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2970*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3038*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17529,7 +17938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2974*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3042*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17546,7 +17955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2978*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3046*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17563,7 +17972,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2982*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3050*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17580,7 +17989,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2986*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3054*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17597,7 +18006,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2990*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3058*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17614,7 +18023,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2994*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3062*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17631,7 +18040,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2998*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3066*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17648,7 +18057,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3002*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3070*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17669,7 +18078,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3007*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3075*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17686,7 +18095,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3011*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3079*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17707,7 +18116,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3016*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3084*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -17724,7 +18133,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3020*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3088*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17737,7 +18146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3023*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3091*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17750,7 +18159,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3026*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3094*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17763,7 +18172,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3029*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3097*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17776,7 +18185,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3032*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3100*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17793,7 +18202,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3036*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3104*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17806,7 +18215,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3039*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3107*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17823,7 +18232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3043*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3111*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17836,7 +18245,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3046*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3114*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17853,7 +18262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3050*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3118*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17866,7 +18275,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3053*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3121*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17883,7 +18292,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3057*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3125*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17896,7 +18305,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3060*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3128*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17917,7 +18326,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3065*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3133*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17934,7 +18343,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3069*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3137*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17955,7 +18364,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3074*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3142*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -17972,7 +18381,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3078*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3146*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17993,7 +18402,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3083*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3151*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18014,7 +18423,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3088*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3156*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18031,7 +18440,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3092*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3160*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18048,7 +18457,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3096*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3164*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18069,7 +18478,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3101*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3169*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18090,7 +18499,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3106*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3174*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18107,7 +18516,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3110*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3178*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18124,7 +18533,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3114*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3182*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -18145,7 +18554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3119*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3187*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -18162,7 +18571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3123*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3191*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -18183,7 +18592,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3128*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3196*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -18200,7 +18609,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3132*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3200*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18217,7 +18626,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3136*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3204*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18230,7 +18639,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3139*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3207*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18247,7 +18656,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3143*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3211*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18260,7 +18669,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3146*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3214*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18277,7 +18686,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3150*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3218*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18290,7 +18699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3153*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3221*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18307,7 +18716,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3157*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3225*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18320,7 +18729,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3160*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3228*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18337,7 +18746,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3164*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3232*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18350,7 +18759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3167*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3235*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18367,7 +18776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3171*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3239*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18380,7 +18789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3174*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18397,7 +18806,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3178*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3246*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18410,7 +18819,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3181*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3249*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18427,7 +18836,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3185*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3253*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18440,7 +18849,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3188*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3256*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18457,7 +18866,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3192*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3260*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18474,7 +18883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3196*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3264*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18487,7 +18896,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3199*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3267*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18500,7 +18909,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3202*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3270*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18517,7 +18926,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3206*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3274*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18534,7 +18943,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3210*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3278*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18547,7 +18956,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3213*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3281*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18560,7 +18969,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3216*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3284*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18573,7 +18982,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3219*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3287*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18586,7 +18995,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3222*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3290*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18595,7 +19004,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3224*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3292*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18604,7 +19013,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3226*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3294*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18621,7 +19030,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3230*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3298*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18638,7 +19047,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3234*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3302*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18651,7 +19060,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3237*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3305*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18664,7 +19073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3240*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3308*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18677,7 +19086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3243*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3311*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18690,7 +19099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3246*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3314*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18699,7 +19108,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3248*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3316*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18708,7 +19117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3250*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3318*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18725,7 +19134,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3254*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3322*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18742,7 +19151,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3258*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3326*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18755,7 +19164,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3261*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3329*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18768,7 +19177,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3264*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3332*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18785,7 +19194,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3268*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3336*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18802,7 +19211,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3272*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3340*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18815,7 +19224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3275*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3343*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18828,7 +19237,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3278*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3346*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18845,7 +19254,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3282*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3350*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18862,7 +19271,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3286*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3354*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18875,7 +19284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3289*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3357*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18888,7 +19297,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3292*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3360*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18905,7 +19314,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3296*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3364*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18922,7 +19331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3300*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3368*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18935,7 +19344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3303*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3371*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18948,7 +19357,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3306*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3374*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18957,7 +19366,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3308*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3376*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18974,7 +19383,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3312*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3380*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -18991,7 +19400,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3316*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3384*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19004,7 +19413,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3319*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3387*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19017,7 +19426,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3322*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3390*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19026,7 +19435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3324*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3392*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19043,7 +19452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3328*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3396*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19060,7 +19469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3332*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3400*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19073,7 +19482,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3335*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3403*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19086,7 +19495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3338*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3406*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19095,7 +19504,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3340*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3408*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19112,7 +19521,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3344*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3412*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19129,7 +19538,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3348*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3416*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19142,7 +19551,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3351*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3419*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19155,7 +19564,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3354*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3422*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19164,7 +19573,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:3356*/ + /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:3424*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -19173,12 +19582,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:3358*/ + /* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:3426*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3359*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3427*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19187,7 +19596,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3361*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3429*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19196,7 +19605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3363*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3431*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19205,7 +19614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3365*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3433*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19214,7 +19623,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3367*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3435*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19223,7 +19632,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3369*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3437*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19232,7 +19641,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3371*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3439*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19241,7 +19650,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:3373*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3441*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19250,7 +19659,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3375*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3443*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19259,7 +19668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3377*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3445*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19268,7 +19677,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3379*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3447*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19277,7 +19686,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3381*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3449*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19286,7 +19695,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3383*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3451*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19295,7 +19704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3385*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3453*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19304,7 +19713,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3387*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3455*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19313,7 +19722,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3389*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3457*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19322,7 +19731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3391*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3459*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19331,7 +19740,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3393*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3461*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19340,7 +19749,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3395*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3463*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19349,7 +19758,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3397*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3465*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19358,7 +19767,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3399*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3467*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19367,7 +19776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3401*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3469*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19376,7 +19785,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3403*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3471*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19385,7 +19794,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3405*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3473*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19394,7 +19803,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3407*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3475*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19403,7 +19812,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3409*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3477*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19412,7 +19821,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3411*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3479*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19421,7 +19830,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3413*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3481*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19430,7 +19839,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3415*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3483*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19439,7 +19848,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3417*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3485*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19448,7 +19857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3419*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3487*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19457,7 +19866,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3421*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3489*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19466,7 +19875,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3423*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3491*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19475,7 +19884,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3425*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3493*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19484,7 +19893,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3427*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3495*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19493,7 +19902,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3429*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3497*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19502,7 +19911,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3431*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3499*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19511,7 +19920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3433*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3501*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19520,7 +19929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3435*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3503*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19529,7 +19938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3437*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3505*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19538,7 +19947,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3439*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3507*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19547,7 +19956,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3441*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3509*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19556,7 +19965,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3443*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3511*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19565,7 +19974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3445*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3513*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19574,7 +19983,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3447*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3515*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19583,7 +19992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3449*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3517*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19592,7 +20001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3451*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3519*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19601,7 +20010,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3453*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3521*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19610,7 +20019,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3455*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3523*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19619,7 +20028,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3457*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3525*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19628,7 +20037,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3459*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3527*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19637,7 +20046,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3461*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3529*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19646,7 +20055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3463*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3531*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19655,7 +20064,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3465*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3533*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19664,7 +20073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3467*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3535*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19673,7 +20082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3469*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3537*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19682,7 +20091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3471*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3539*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19691,7 +20100,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3473*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3541*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19700,7 +20109,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3475*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3543*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19709,7 +20118,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3477*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3545*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19718,7 +20127,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3479*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3547*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19727,7 +20136,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3481*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3549*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19736,7 +20145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3483*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3551*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19745,7 +20154,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3485*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3553*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19754,7 +20163,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3487*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3555*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19763,7 +20172,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3489*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3557*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19772,7 +20181,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3491*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3559*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19781,7 +20190,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3493*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3561*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19790,7 +20199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3495*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3563*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19803,7 +20212,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3498*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3566*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19816,7 +20225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3501*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3569*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19829,7 +20238,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3504*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3572*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19842,17 +20251,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3507*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3575*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3508*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3576*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3509*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3577*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19861,7 +20270,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3511*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3579*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19870,7 +20279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3513*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3581*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19879,7 +20288,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3515*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3583*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19888,7 +20297,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3517*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3585*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19897,7 +20306,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3519*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3587*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19906,7 +20315,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3521*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3589*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19915,7 +20324,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3523*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3591*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19924,7 +20333,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3525*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3593*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19933,7 +20342,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3527*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3595*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19942,7 +20351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3529*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3597*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19951,7 +20360,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3531*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3599*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19960,7 +20369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3533*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3601*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19969,7 +20378,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3535*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3603*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19978,7 +20387,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3537*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3605*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19987,7 +20396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3539*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3607*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -19996,7 +20405,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3541*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3609*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20005,7 +20414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3543*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3611*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20014,22 +20423,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3545*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3613*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3546*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3614*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3547*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3615*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3548*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3616*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20038,7 +20447,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3550*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3618*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20047,7 +20456,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3552*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3620*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20056,7 +20465,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3554*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3622*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20065,7 +20474,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3556*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3624*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20074,7 +20483,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3558*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3626*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20083,7 +20492,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3560*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3628*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20092,7 +20501,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3562*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3630*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20101,7 +20510,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3564*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3632*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20110,7 +20519,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3566*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3634*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20119,7 +20528,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3568*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3636*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20128,7 +20537,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3570*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3638*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20137,7 +20546,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3572*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3640*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20146,7 +20555,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3574*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3642*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20155,12 +20564,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3576*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3644*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3577*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3645*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20169,7 +20578,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3579*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3647*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20178,12 +20587,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3581*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3649*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3582*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3650*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20192,7 +20601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3584*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3652*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20201,7 +20610,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3586*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3654*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20210,7 +20619,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3588*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3656*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20219,7 +20628,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3590*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3658*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20228,7 +20637,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3592*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3660*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20237,7 +20646,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3594*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3662*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20246,7 +20655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3596*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3664*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20255,7 +20664,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3598*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3666*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20264,7 +20673,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3600*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3668*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20273,7 +20682,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3602*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3670*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20282,7 +20691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3604*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3672*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20291,7 +20700,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3606*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3674*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20304,7 +20713,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3609*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3677*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20317,17 +20726,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3612*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3680*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3613*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3681*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3614*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3682*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -20336,7 +20745,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3616*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3684*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -20345,12 +20754,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:3618*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3686*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET + }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3619*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3688*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20359,7 +20772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3621*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3690*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20368,7 +20781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3623*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3692*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -20381,7 +20794,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3626*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3695*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -20390,26 +20803,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3697*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3629*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3630*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3699*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3631*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3700*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3632*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3701*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20426,7 +20840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3636*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3705*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20443,7 +20857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3640*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3709*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20460,7 +20874,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3644*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3713*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -20473,7 +20887,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3647*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3716*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20490,7 +20904,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3651*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3720*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -20503,7 +20917,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3654*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3723*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20524,7 +20938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3659*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3728*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20545,7 +20959,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3664*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3733*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20566,7 +20980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3669*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3738*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20587,7 +21001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3674*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3743*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20608,7 +21022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3679*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3748*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20629,7 +21043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3684*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3753*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -20650,7 +21064,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3689*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3758*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -20671,7 +21085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3694*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3763*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20688,7 +21102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3698*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3767*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20705,7 +21119,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3702*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3771*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20722,12 +21136,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3706*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3775*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3707*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3776*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20744,12 +21158,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3711*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3780*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3712*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3781*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20766,7 +21180,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3716*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3785*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20783,7 +21197,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3720*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3789*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20800,7 +21214,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3724*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3793*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20817,7 +21231,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3728*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3797*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20834,7 +21248,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3732*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3801*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20851,7 +21265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3736*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3805*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20868,7 +21282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3740*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3809*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20885,7 +21299,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3744*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3813*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20902,7 +21316,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3748*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3817*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20919,7 +21333,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3752*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3821*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20936,7 +21350,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3756*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3825*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20953,7 +21367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3760*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3829*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20970,7 +21384,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3764*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3833*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -20987,7 +21401,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3768*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3837*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21004,7 +21418,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3772*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3841*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21021,7 +21435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3776*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3845*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21038,7 +21452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3780*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3849*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21055,7 +21469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3784*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3853*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21072,7 +21486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3788*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3857*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21089,7 +21503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3792*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3861*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21110,7 +21524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3797*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3866*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21127,7 +21541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3801*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3870*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21148,7 +21562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3806*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3875*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -21165,7 +21579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3810*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3879*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21178,7 +21592,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3813*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3882*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21191,7 +21605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3816*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3885*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21204,7 +21618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3819*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3888*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21217,7 +21631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3822*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3891*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21234,7 +21648,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3826*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3895*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21247,7 +21661,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3829*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21264,7 +21678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3833*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3902*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21277,7 +21691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3836*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3905*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21294,7 +21708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3840*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3909*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21307,7 +21721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3843*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3912*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21324,7 +21738,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3847*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3916*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21337,7 +21751,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3850*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3919*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21358,7 +21772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3855*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3924*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21375,7 +21789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3859*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3928*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21396,7 +21810,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3864*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3933*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21413,7 +21827,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3868*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3937*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21434,7 +21848,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3873*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3942*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21455,7 +21869,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3878*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3947*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21472,7 +21886,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3882*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3951*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21489,7 +21903,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3886*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3955*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21510,7 +21924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3891*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3960*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21531,7 +21945,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3896*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3965*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21548,7 +21962,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3900*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3969*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21565,7 +21979,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3904*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3973*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21586,7 +22000,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3909*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3978*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21603,7 +22017,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3913*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3982*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21624,7 +22038,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3918*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3987*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -21641,7 +22055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3922*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3991*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21658,7 +22072,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3926*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3995*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21671,7 +22085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3929*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3998*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21688,7 +22102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3933*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4002*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21701,7 +22115,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3936*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4005*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21718,7 +22132,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3940*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4009*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21731,7 +22145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3943*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4012*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21748,7 +22162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3947*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4016*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21761,7 +22175,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3950*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4019*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21778,7 +22192,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3954*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4023*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21791,7 +22205,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3957*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4026*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21808,7 +22222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3961*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4030*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21821,7 +22235,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3964*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4033*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21838,7 +22252,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3968*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4037*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21851,7 +22265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3971*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4040*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21868,7 +22282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3975*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4044*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21881,7 +22295,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3978*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4047*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21898,7 +22312,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3982*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4051*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21915,7 +22329,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3986*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4055*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21928,7 +22342,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3989*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4058*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21941,7 +22355,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3992*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4061*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21958,7 +22372,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3996*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4065*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -21975,7 +22389,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4000*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4069*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -21988,7 +22402,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4003*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4072*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22001,7 +22415,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4006*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4075*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22018,7 +22432,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4010*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4079*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22035,7 +22449,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4014*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4083*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22048,7 +22462,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4017*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4086*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22061,7 +22475,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4020*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4089*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22078,7 +22492,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4024*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4093*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22095,7 +22509,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4028*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4097*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22108,7 +22522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4031*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4100*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22121,7 +22535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4034*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4103*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22138,7 +22552,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4038*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4107*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22155,7 +22569,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4042*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4111*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22168,7 +22582,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4045*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4114*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22181,7 +22595,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4048*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4117*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22198,7 +22612,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4052*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4121*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22215,7 +22629,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4056*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4125*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22228,7 +22642,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4059*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4128*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22241,7 +22655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4062*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4131*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22258,7 +22672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4066*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4135*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22275,7 +22689,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4070*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4139*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22288,7 +22702,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4073*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4142*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22301,7 +22715,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4076*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4145*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22310,7 +22724,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4078*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4147*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22327,7 +22741,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4082*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4151*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22344,7 +22758,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4086*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4155*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22357,7 +22771,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4089*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4158*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22370,7 +22784,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4092*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4161*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22379,7 +22793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4094*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4163*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22396,7 +22810,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4098*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4167*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22413,7 +22827,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4102*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4171*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22426,7 +22840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4105*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4174*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22439,7 +22853,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4108*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4177*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22448,7 +22862,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4110*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4179*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22465,7 +22879,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4114*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4183*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22482,7 +22896,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4118*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4187*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22495,7 +22909,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4121*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4190*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22508,7 +22922,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:4124*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:4193*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22517,7 +22931,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, proto_header_cache.wr:4126*/ + /* field_cond: class_tid: 2, proto_header_cache.wr:4195*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -22526,7 +22940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:4128*/ + /* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:4197*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -22543,7 +22957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, em_flow_conflict_cache.rd:4132*/ + /* field_cond: class_tid: 2, em_flow_conflict_cache.rd:4201*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -22552,12 +22966,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:4134*/ + /* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:4203*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4135*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4204*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22566,7 +22980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4137*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4206*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -22575,12 +22989,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4139*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4208*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4140*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4209*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22597,7 +23011,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4144*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4213*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22614,7 +23028,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4148*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4217*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22635,7 +23049,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4153*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4222*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22656,7 +23070,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4158*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4227*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22677,7 +23091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4163*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4232*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -22698,7 +23112,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4168*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4237*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22715,7 +23129,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4172*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4241*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22732,7 +23146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4176*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4245*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22749,7 +23163,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4180*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4249*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22766,7 +23180,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4184*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4253*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22783,7 +23197,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4188*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4257*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22800,7 +23214,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4192*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4261*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22817,7 +23231,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4196*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4265*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22834,7 +23248,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4200*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4269*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22851,7 +23265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4204*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4273*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22868,7 +23282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4208*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4277*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22885,7 +23299,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4212*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4281*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22902,7 +23316,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4216*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4285*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22923,7 +23337,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4221*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4290*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -22940,7 +23354,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4225*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4294*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22953,7 +23367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4228*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4297*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22966,7 +23380,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4231*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4300*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -22983,7 +23397,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4235*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4304*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -22996,7 +23410,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4238*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4307*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23013,7 +23427,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4242*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4311*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23026,7 +23440,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4245*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4314*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23047,7 +23461,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4250*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4319*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23064,7 +23478,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4254*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4323*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23085,7 +23499,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4259*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4328*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23106,7 +23520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4264*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4333*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23123,7 +23537,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4268*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4337*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23140,7 +23554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4272*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4341*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -23161,7 +23575,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4277*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4346*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -23178,7 +23592,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4281*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4350*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23195,7 +23609,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4285*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4354*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23212,7 +23626,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4289*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4358*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23225,7 +23639,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4292*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4361*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23238,7 +23652,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4295*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4364*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23255,7 +23669,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4299*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4368*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23272,7 +23686,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4303*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4372*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23285,7 +23699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4306*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4375*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23298,7 +23712,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4309*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4378*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23315,7 +23729,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4313*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4382*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23332,7 +23746,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4317*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4386*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23345,7 +23759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4320*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4389*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23358,7 +23772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4323*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4392*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23375,7 +23789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4327*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4396*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23392,7 +23806,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4331*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4400*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23405,7 +23819,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4334*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4403*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23418,7 +23832,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4337*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4406*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23435,7 +23849,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4341*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4410*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23452,7 +23866,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4345*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4414*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23465,7 +23879,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4348*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4417*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23478,7 +23892,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4351*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4420*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23495,7 +23909,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4355*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4424*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23512,7 +23926,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4359*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4428*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23525,7 +23939,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4362*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4431*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23538,7 +23952,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4365*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4434*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23555,7 +23969,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4369*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4438*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -23572,7 +23986,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4373*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4442*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23585,7 +23999,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:4376*/ + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4445*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -23598,7 +24012,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4379*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4448*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23607,7 +24021,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4381*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4450*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23616,7 +24030,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4383*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4452*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -23625,7 +24039,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:4385*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4454*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -23634,17 +24048,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:4387*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4456*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4388*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4457*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4389*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4458*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23661,7 +24075,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4393*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4462*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23678,7 +24092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4397*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4466*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23695,7 +24109,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4401*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4470*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23712,7 +24126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4405*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4474*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23733,7 +24147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4410*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4479*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23754,7 +24168,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4415*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4484*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23775,7 +24189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4420*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4489*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23796,7 +24210,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4425*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4494*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23817,7 +24231,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4430*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4499*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23838,7 +24252,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4435*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4504*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -23859,7 +24273,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4440*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4509*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -23880,7 +24294,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4445*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4514*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23897,7 +24311,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4449*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4518*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23914,7 +24328,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4453*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4522*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23931,7 +24345,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4457*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4526*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23948,7 +24362,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4461*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4530*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23965,7 +24379,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4465*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4534*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23982,7 +24396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4469*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4538*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -23999,7 +24413,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4473*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4542*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24016,7 +24430,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4477*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4546*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24033,7 +24447,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4481*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4550*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24050,7 +24464,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4485*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4554*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24067,7 +24481,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4489*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4558*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24084,7 +24498,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4493*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4562*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24101,7 +24515,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4497*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4566*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24118,7 +24532,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4501*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4570*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24135,7 +24549,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4505*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4574*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24152,7 +24566,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4509*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4578*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24169,7 +24583,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4513*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4582*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24186,7 +24600,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4517*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4586*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24203,7 +24617,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4521*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4590*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24220,7 +24634,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4525*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4594*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24237,7 +24651,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4529*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4598*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24254,7 +24668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4533*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4602*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24271,7 +24685,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4537*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4606*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24288,7 +24702,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4541*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4610*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24309,7 +24723,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4546*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4615*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24326,7 +24740,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4550*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4619*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24347,7 +24761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4555*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4624*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -24364,7 +24778,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4559*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4628*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24377,7 +24791,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:4562*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4631*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24390,7 +24804,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:4565*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4634*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24403,7 +24817,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:4568*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4637*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24416,7 +24830,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:4571*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4640*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24433,7 +24847,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4575*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4644*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24446,7 +24860,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4578*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4647*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24463,7 +24877,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4582*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4651*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24476,7 +24890,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4585*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4654*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24493,7 +24907,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4589*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4658*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24506,7 +24920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4592*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4661*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24523,7 +24937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4596*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4665*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24536,7 +24950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:4599*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4668*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24557,7 +24971,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4604*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4673*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24574,7 +24988,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4608*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4677*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24595,7 +25009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4613*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4682*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24612,7 +25026,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4617*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4686*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24633,7 +25047,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4622*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4691*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24654,7 +25068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4627*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4696*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24671,7 +25085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4631*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4700*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24688,7 +25102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4635*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4704*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24709,7 +25123,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4640*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4709*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24730,7 +25144,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4645*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4714*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24747,7 +25161,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4649*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4718*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24764,7 +25178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4653*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4722*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -24785,7 +25199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4658*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4727*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -24802,7 +25216,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4662*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4731*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -24823,7 +25237,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4667*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4736*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -24840,7 +25254,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:4671*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4740*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24857,7 +25271,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4675*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4744*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24870,7 +25284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4678*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4747*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24887,7 +25301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4682*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4751*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24900,7 +25314,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4685*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4754*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24917,7 +25331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4689*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4758*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24930,7 +25344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4692*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4761*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24947,7 +25361,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4696*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4765*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24960,7 +25374,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4699*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4768*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -24977,7 +25391,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4703*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4772*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -24990,7 +25404,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4706*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4775*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25007,7 +25421,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4710*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4779*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25020,7 +25434,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4713*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4782*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25037,7 +25451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4717*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4786*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25050,7 +25464,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4720*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4789*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25067,7 +25481,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4724*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4793*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25080,7 +25494,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:4727*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4796*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25097,7 +25511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4731*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4800*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25114,7 +25528,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4735*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4804*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25127,7 +25541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4738*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4807*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25140,7 +25554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4741*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4810*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25157,7 +25571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4745*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4814*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25174,7 +25588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4749*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4818*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25187,7 +25601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4752*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4821*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25200,7 +25614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:4755*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4824*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25217,7 +25631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4759*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4828*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25234,7 +25648,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4763*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4832*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25247,7 +25661,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4766*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4835*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25260,7 +25674,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4769*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4838*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25277,7 +25691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4773*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4842*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25294,7 +25708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4777*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4846*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25307,7 +25721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4780*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4849*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25320,7 +25734,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:4783*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4852*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25337,7 +25751,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4787*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4856*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25354,7 +25768,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4791*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4860*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25367,7 +25781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4794*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4863*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25380,7 +25794,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4797*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4866*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25397,7 +25811,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4801*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4870*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25414,7 +25828,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4805*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4874*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25427,7 +25841,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4808*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4877*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25440,7 +25854,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:4811*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4880*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25457,7 +25871,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4815*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4884*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25474,7 +25888,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4819*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4888*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25487,7 +25901,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4822*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4891*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25500,7 +25914,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4825*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4894*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25517,7 +25931,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4829*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25534,7 +25948,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4833*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4902*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25547,7 +25961,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4836*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4905*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25560,7 +25974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4839*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4908*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25577,7 +25991,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4843*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4912*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25594,7 +26008,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4847*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4916*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25607,7 +26021,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4850*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4919*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25620,7 +26034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4853*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4922*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25637,7 +26051,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4857*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4926*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25654,7 +26068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4861*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4930*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25667,7 +26081,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:4864*/ + /* field_cond: class_tid: 2, em_key_recipe.0:4933*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -25680,7 +26094,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4867*/ + /* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4936*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -25689,7 +26103,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.field_sig_validation:4869*/ + /* cond_execute: class_tid: 2, control.field_sig_validation:4938*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_CC @@ -25698,7 +26112,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID }, - /* cond_execute: class_tid: 2, control.outer_loop_add_check:4871*/ + /* cond_execute: class_tid: 2, control.outer_loop_add_check:4940*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -25707,7 +26121,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD }, - /* cond_execute: class_tid: 2, em.egress_generic_template:4873*/ + /* cond_execute: class_tid: 2, em.egress_generic_template:4942*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH @@ -25724,27 +26138,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.em_add_check:4877*/ + /* cond_execute: class_tid: 2, control.em_add_check:4946*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL }, - /* cond_execute: class_tid: 2, control.outer_loop_check:4878*/ + /* cond_execute: class_tid: 2, control.outer_loop_check:4947*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 3, control.prof_func_miss:4879*/ + /* cond_execute: class_tid: 3, control.prof_func_miss:4948*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, control.non_vfr_egr_2:4880*/ + /* cond_execute: class_tid: 3, control.non_vfr_egr_2:4949*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4881*/ + /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4950*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT @@ -25753,52 +26167,52 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT }, - /* cond_execute: class_tid: 3, control.default_custom_tunnel:4883*/ + /* cond_execute: class_tid: 3, control.default_custom_tunnel:4952*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_port:4884*/ + /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_port:4953*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT }, - /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_ip_port:4885*/ + /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_ip_port:4954*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT }, - /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr_glb_act_rec_rd.0:4886*/ + /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr_glb_act_rec_rd.0:4955*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 4, control.vf_2_vfr.0:4887*/ + /* cond_execute: class_tid: 4, control.vf_2_vfr.0:4956*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr.0:4888*/ + /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr.0:4957*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 4, control.0:4889*/ + /* cond_execute: class_tid: 4, control.0:4958*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 5, control.ing_0:4890*/ + /* cond_execute: class_tid: 5, control.ing_0:4959*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 5, l2_cntxt_tcam_cache.ing_rd_sock:4891*/ + /* cond_execute: class_tid: 5, l2_cntxt_tcam_cache.ing_rd_sock:4960*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT }, - /* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4892*/ + /* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4961*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT @@ -25807,7 +26221,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4894*/ + /* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4963*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT @@ -25816,7 +26230,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4896*/ + /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4965*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT @@ -25825,7 +26239,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4898*/ + /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4967*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT @@ -25834,47 +26248,47 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: class_tid: 6, control.l2_cache_check:4900*/ + /* cond_execute: class_tid: 6, control.l2_cache_check:4969*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 6, control.l2_cache_cnt_check:4901*/ + /* cond_execute: class_tid: 6, control.l2_cache_cnt_check:4970*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: class_tid: 7, control.direction_check:4902*/ + /* cond_execute: class_tid: 7, control.direction_check:4971*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: class_tid: 7, control.flow_chain_group_id:4903*/ + /* cond_execute: class_tid: 7, control.flow_chain_group_id:4972*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 7, control.group_miss_action:4904*/ + /* cond_execute: class_tid: 7, control.group_miss_action:4973*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all:4905*/ + /* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all:4974*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC }, - /* cond_execute: class_tid: 7, control.flow_chain_group_id_egr:4906*/ + /* cond_execute: class_tid: 7, control.flow_chain_group_id_egr:4975*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 7, control.group_miss_action_egr:4907*/ + /* cond_execute: class_tid: 7, control.group_miss_action_egr:4976*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all_egr:4908*/ + /* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all_egr:4977*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_CC @@ -26013,6 +26427,27 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} } }, + /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ { .field_info_mask = { @@ -28472,8 +28907,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (157 >> 8) & 0xff, - 157 & 0xff, + (159 >> 8) & 0xff, + 159 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -28544,8 +28979,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (160 >> 8) & 0xff, - 160 & 0xff, + (162 >> 8) & 0xff, + 162 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -28640,8 +29075,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (164 >> 8) & 0xff, - 164 & 0xff, + (166 >> 8) & 0xff, + 166 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CF, @@ -28678,8 +29113,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (422 >> 8) & 0xff, - 422 & 0xff, + (430 >> 8) & 0xff, + 430 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28691,8 +29126,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (424 >> 8) & 0xff, - 424 & 0xff, + (432 >> 8) & 0xff, + 432 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28706,8 +29141,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (426 >> 8) & 0xff, - 426 & 0xff, + (434 >> 8) & 0xff, + 434 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28719,8 +29154,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (429 >> 8) & 0xff, - 429 & 0xff, + (437 >> 8) & 0xff, + 437 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28734,8 +29169,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (432 >> 8) & 0xff, - 432 & 0xff, + (440 >> 8) & 0xff, + 440 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28747,8 +29182,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (433 >> 8) & 0xff, - 433 & 0xff, + (441 >> 8) & 0xff, + 441 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28762,8 +29197,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (434 >> 8) & 0xff, - 434 & 0xff, + (442 >> 8) & 0xff, + 442 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28775,8 +29210,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (438 >> 8) & 0xff, - 438 & 0xff, + (446 >> 8) & 0xff, + 446 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28790,8 +29225,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (442 >> 8) & 0xff, - 442 & 0xff, + (450 >> 8) & 0xff, + 450 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28803,8 +29238,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (446 >> 8) & 0xff, - 446 & 0xff, + (454 >> 8) & 0xff, + 454 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28818,8 +29253,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (450 >> 8) & 0xff, - 450 & 0xff, + (458 >> 8) & 0xff, + 458 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28831,8 +29266,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (455 >> 8) & 0xff, - 455 & 0xff, + (463 >> 8) & 0xff, + 463 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28846,15 +29281,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (460 >> 8) & 0xff, - 460 & 0xff, + (468 >> 8) & 0xff, + 468 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (48 >> 8) & 0xff, - 48 & 0xff} + (49 >> 8) & 0xff, + 49 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -28862,15 +29297,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (470 >> 8) & 0xff, - 470 & 0xff, + (478 >> 8) & 0xff, + 478 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (49 >> 8) & 0xff, - 49 & 0xff} + (50 >> 8) & 0xff, + 50 & 0xff} } }, { @@ -28880,8 +29315,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (480 >> 8) & 0xff, - 480 & 0xff, + (488 >> 8) & 0xff, + 488 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28893,8 +29328,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (485 >> 8) & 0xff, - 485 & 0xff, + (493 >> 8) & 0xff, + 493 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28908,8 +29343,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (490 >> 8) & 0xff, - 490 & 0xff, + (498 >> 8) & 0xff, + 498 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28921,8 +29356,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (494 >> 8) & 0xff, - 494 & 0xff, + (502 >> 8) & 0xff, + 502 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28936,14 +29371,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (498 >> 8) & 0xff, - 498 & 0xff, + (506 >> 8) & 0xff, + 506 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (50 >> 8) & 0xff, - 50 & 0xff}, + (51 >> 8) & 0xff, + 51 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -28952,14 +29387,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (503 >> 8) & 0xff, - 503 & 0xff, + (511 >> 8) & 0xff, + 511 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (51 >> 8) & 0xff, - 51 & 0xff}, + (52 >> 8) & 0xff, + 52 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -28970,8 +29405,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (508 >> 8) & 0xff, - 508 & 0xff, + (516 >> 8) & 0xff, + 516 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -28983,8 +29418,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (512 >> 8) & 0xff, - 512 & 0xff, + (520 >> 8) & 0xff, + 520 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -28998,8 +29433,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (516 >> 8) & 0xff, - 516 & 0xff, + (524 >> 8) & 0xff, + 524 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -29011,8 +29446,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (520 >> 8) & 0xff, - 520 & 0xff, + (528 >> 8) & 0xff, + 528 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -29026,15 +29461,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (524 >> 8) & 0xff, - 524 & 0xff, + (532 >> 8) & 0xff, + 532 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (52 >> 8) & 0xff, - 52 & 0xff} + (53 >> 8) & 0xff, + 53 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -29042,15 +29477,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (532 >> 8) & 0xff, - 532 & 0xff, + (540 >> 8) & 0xff, + 540 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (53 >> 8) & 0xff, - 53 & 0xff} + (54 >> 8) & 0xff, + 54 & 0xff} } }, { @@ -29060,15 +29495,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (540 >> 8) & 0xff, - 540 & 0xff, + (548 >> 8) & 0xff, + 548 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (54 >> 8) & 0xff, - 54 & 0xff} + (55 >> 8) & 0xff, + 55 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -29076,15 +29511,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (548 >> 8) & 0xff, - 548 & 0xff, + (556 >> 8) & 0xff, + 556 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (55 >> 8) & 0xff, - 55 & 0xff} + (56 >> 8) & 0xff, + 56 & 0xff} } }, { @@ -29094,15 +29529,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (556 >> 8) & 0xff, - 556 & 0xff, + (564 >> 8) & 0xff, + 564 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (56 >> 8) & 0xff, - 56 & 0xff} + (57 >> 8) & 0xff, + 57 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -29110,15 +29545,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (564 >> 8) & 0xff, - 564 & 0xff, + (572 >> 8) & 0xff, + 572 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (57 >> 8) & 0xff, - 57 & 0xff} + (58 >> 8) & 0xff, + 58 & 0xff} } }, { @@ -29128,15 +29563,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (572 >> 8) & 0xff, - 572 & 0xff, + (580 >> 8) & 0xff, + 580 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (58 >> 8) & 0xff, - 58 & 0xff} + (59 >> 8) & 0xff, + 59 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -29144,15 +29579,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (580 >> 8) & 0xff, - 580 & 0xff, + (588 >> 8) & 0xff, + 588 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (59 >> 8) & 0xff, - 59 & 0xff} + (60 >> 8) & 0xff, + 60 & 0xff} } }, { @@ -29162,15 +29597,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (588 >> 8) & 0xff, - 588 & 0xff, + (596 >> 8) & 0xff, + 596 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (60 >> 8) & 0xff, - 60 & 0xff} + (61 >> 8) & 0xff, + 61 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -29178,15 +29613,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (597 >> 8) & 0xff, - 597 & 0xff, + (605 >> 8) & 0xff, + 605 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (61 >> 8) & 0xff, - 61 & 0xff} + (62 >> 8) & 0xff, + 62 & 0xff} } }, { @@ -29196,15 +29631,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (606 >> 8) & 0xff, - 606 & 0xff, + (614 >> 8) & 0xff, + 614 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (62 >> 8) & 0xff, - 62 & 0xff} + (63 >> 8) & 0xff, + 63 & 0xff} }, .field_info_spec = { .description = "tids", @@ -29212,15 +29647,43 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (612 >> 8) & 0xff, - 612 & 0xff, + (623 >> 8) & 0xff, + 623 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (63 >> 8) & 0xff, - 63 & 0xff} + (65 >> 8) & 0xff, + 65 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (632 >> 8) & 0xff, + 632 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (635 >> 8) & 0xff, + 635 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { @@ -29230,15 +29693,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (618 >> 8) & 0xff, - 618 & 0xff, + (638 >> 8) & 0xff, + 638 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (64 >> 8) & 0xff, - 64 & 0xff} + (67 >> 8) & 0xff, + 67 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -29246,15 +29709,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (625 >> 8) & 0xff, - 625 & 0xff, + (645 >> 8) & 0xff, + 645 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (65 >> 8) & 0xff, - 65 & 0xff} + (68 >> 8) & 0xff, + 68 & 0xff} } }, { @@ -29264,15 +29727,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (632 >> 8) & 0xff, - 632 & 0xff, + (652 >> 8) & 0xff, + 652 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (66 >> 8) & 0xff, - 66 & 0xff} + (69 >> 8) & 0xff, + 69 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -29280,15 +29743,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (639 >> 8) & 0xff, - 639 & 0xff, + (659 >> 8) & 0xff, + 659 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (67 >> 8) & 0xff, - 67 & 0xff} + (70 >> 8) & 0xff, + 70 & 0xff} } }, { @@ -29298,15 +29761,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (646 >> 8) & 0xff, - 646 & 0xff, + (666 >> 8) & 0xff, + 666 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (68 >> 8) & 0xff, - 68 & 0xff} + (71 >> 8) & 0xff, + 71 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -29314,15 +29777,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (655 >> 8) & 0xff, - 655 & 0xff, + (675 >> 8) & 0xff, + 675 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (69 >> 8) & 0xff, - 69 & 0xff} + (72 >> 8) & 0xff, + 72 & 0xff} } }, { @@ -29332,15 +29795,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (664 >> 8) & 0xff, - 664 & 0xff, + (684 >> 8) & 0xff, + 684 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (70 >> 8) & 0xff, - 70 & 0xff} + (73 >> 8) & 0xff, + 73 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -29348,15 +29811,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (682 >> 8) & 0xff, - 682 & 0xff, + (702 >> 8) & 0xff, + 702 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (73 >> 8) & 0xff, - 73 & 0xff} + (76 >> 8) & 0xff, + 76 & 0xff} } }, { @@ -29366,15 +29829,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (700 >> 8) & 0xff, - 700 & 0xff, + (720 >> 8) & 0xff, + 720 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (76 >> 8) & 0xff, - 76 & 0xff} + (79 >> 8) & 0xff, + 79 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -29382,15 +29845,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (709 >> 8) & 0xff, - 709 & 0xff, + (729 >> 8) & 0xff, + 729 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (77 >> 8) & 0xff, - 77 & 0xff} + (80 >> 8) & 0xff, + 80 & 0xff} } }, { @@ -29400,15 +29863,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (718 >> 8) & 0xff, - 718 & 0xff, + (738 >> 8) & 0xff, + 738 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (78 >> 8) & 0xff, - 78 & 0xff} + (81 >> 8) & 0xff, + 81 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -29416,15 +29879,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (725 >> 8) & 0xff, - 725 & 0xff, + (745 >> 8) & 0xff, + 745 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (79 >> 8) & 0xff, - 79 & 0xff} + (82 >> 8) & 0xff, + 82 & 0xff} } }, { @@ -29434,15 +29897,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (732 >> 8) & 0xff, - 732 & 0xff, + (752 >> 8) & 0xff, + 752 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (80 >> 8) & 0xff, - 80 & 0xff} + (83 >> 8) & 0xff, + 83 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -29450,15 +29913,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (739 >> 8) & 0xff, - 739 & 0xff, + (759 >> 8) & 0xff, + 759 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (81 >> 8) & 0xff, - 81 & 0xff} + (84 >> 8) & 0xff, + 84 & 0xff} } }, { @@ -29468,15 +29931,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (746 >> 8) & 0xff, - 746 & 0xff, + (766 >> 8) & 0xff, + 766 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (82 >> 8) & 0xff, - 82 & 0xff} + (85 >> 8) & 0xff, + 85 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -29484,15 +29947,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (753 >> 8) & 0xff, - 753 & 0xff, + (773 >> 8) & 0xff, + 773 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (83 >> 8) & 0xff, - 83 & 0xff} + (86 >> 8) & 0xff, + 86 & 0xff} } }, { @@ -29502,15 +29965,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (760 >> 8) & 0xff, - 760 & 0xff, + (780 >> 8) & 0xff, + 780 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (84 >> 8) & 0xff, - 84 & 0xff} + (87 >> 8) & 0xff, + 87 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -29518,15 +29981,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (767 >> 8) & 0xff, - 767 & 0xff, + (787 >> 8) & 0xff, + 787 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (85 >> 8) & 0xff, - 85 & 0xff} + (88 >> 8) & 0xff, + 88 & 0xff} } }, { @@ -29536,15 +29999,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (774 >> 8) & 0xff, - 774 & 0xff, + (794 >> 8) & 0xff, + 794 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (86 >> 8) & 0xff, - 86 & 0xff} + (89 >> 8) & 0xff, + 89 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -29552,15 +30015,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (788 >> 8) & 0xff, - 788 & 0xff, + (808 >> 8) & 0xff, + 808 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (89 >> 8) & 0xff, - 89 & 0xff} + (92 >> 8) & 0xff, + 92 & 0xff} } }, { @@ -29570,15 +30033,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (802 >> 8) & 0xff, - 802 & 0xff, + (822 >> 8) & 0xff, + 822 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (92 >> 8) & 0xff, - 92 & 0xff} + (95 >> 8) & 0xff, + 95 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -29586,15 +30049,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (826 >> 8) & 0xff, - 826 & 0xff, + (846 >> 8) & 0xff, + 846 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (99 >> 8) & 0xff, - 99 & 0xff} + (102 >> 8) & 0xff, + 102 & 0xff} } }, { @@ -29604,15 +30067,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (850 >> 8) & 0xff, - 850 & 0xff, + (870 >> 8) & 0xff, + 870 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (106 >> 8) & 0xff, - 106 & 0xff} + (109 >> 8) & 0xff, + 109 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -29620,15 +30083,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (864 >> 8) & 0xff, - 864 & 0xff, + (884 >> 8) & 0xff, + 884 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (109 >> 8) & 0xff, - 109 & 0xff} + (112 >> 8) & 0xff, + 112 & 0xff} } }, { @@ -29638,15 +30101,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (878 >> 8) & 0xff, - 878 & 0xff, + (898 >> 8) & 0xff, + 898 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (112 >> 8) & 0xff, - 112 & 0xff} + (115 >> 8) & 0xff, + 115 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -29654,15 +30117,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (894 >> 8) & 0xff, - 894 & 0xff, + (914 >> 8) & 0xff, + 914 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (116 >> 8) & 0xff, - 116 & 0xff} + (119 >> 8) & 0xff, + 119 & 0xff} } }, { @@ -29672,15 +30135,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (910 >> 8) & 0xff, - 910 & 0xff, + (930 >> 8) & 0xff, + 930 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (120 >> 8) & 0xff, - 120 & 0xff} + (123 >> 8) & 0xff, + 123 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -29688,15 +30151,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (926 >> 8) & 0xff, - 926 & 0xff, + (946 >> 8) & 0xff, + 946 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (124 >> 8) & 0xff, - 124 & 0xff} + (127 >> 8) & 0xff, + 127 & 0xff} } }, /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ @@ -29715,8 +30178,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (942 >> 8) & 0xff, - 942 & 0xff, + (962 >> 8) & 0xff, + 962 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -29780,15 +30243,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (961 >> 8) & 0xff, - 961 & 0xff, + (981 >> 8) & 0xff, + 981 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (136 >> 8) & 0xff, - 136 & 0xff} + (139 >> 8) & 0xff, + 139 & 0xff} }, .field_info_spec = { .description = "l4_hdr_is_udp_tcp", @@ -29796,8 +30259,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (969 >> 8) & 0xff, - 969 & 0xff, + (989 >> 8) & 0xff, + 989 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -29805,8 +30268,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (139 >> 8) & 0xff, - 139 & 0xff} + (142 >> 8) & 0xff, + 142 & 0xff} } }, { @@ -29816,15 +30279,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (977 >> 8) & 0xff, - 977 & 0xff, + (997 >> 8) & 0xff, + 997 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (142 >> 8) & 0xff, - 142 & 0xff} + (145 >> 8) & 0xff, + 145 & 0xff} }, .field_info_spec = { .description = "l4_hdr_type", @@ -29832,15 +30295,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (985 >> 8) & 0xff, - 985 & 0xff, + (1005 >> 8) & 0xff, + 1005 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (145 >> 8) & 0xff, - 145 & 0xff} + (148 >> 8) & 0xff, + 148 & 0xff} } }, { @@ -29850,15 +30313,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (993 >> 8) & 0xff, - 993 & 0xff, + (1013 >> 8) & 0xff, + 1013 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (148 >> 8) & 0xff, - 148 & 0xff} + (151 >> 8) & 0xff, + 151 & 0xff} }, .field_info_spec = { .description = "l4_hdr_error", @@ -29866,15 +30329,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1001 >> 8) & 0xff, - 1001 & 0xff, + (1021 >> 8) & 0xff, + 1021 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (151 >> 8) & 0xff, - 151 & 0xff} + (154 >> 8) & 0xff, + 154 & 0xff} } }, { @@ -29884,15 +30347,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1009 >> 8) & 0xff, - 1009 & 0xff, + (1029 >> 8) & 0xff, + 1029 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (154 >> 8) & 0xff, - 154 & 0xff} + (157 >> 8) & 0xff, + 157 & 0xff} }, .field_info_spec = { .description = "l4_hdr_valid", @@ -29900,8 +30363,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1017 >> 8) & 0xff, - 1017 & 0xff, + (1037 >> 8) & 0xff, + 1037 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -29909,8 +30372,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (157 >> 8) & 0xff, - 157 & 0xff} + (160 >> 8) & 0xff, + 160 & 0xff} } }, { @@ -29970,8 +30433,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1025 >> 8) & 0xff, - 1025 & 0xff, + (1045 >> 8) & 0xff, + 1045 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -29979,8 +30442,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (160 >> 8) & 0xff, - 160 & 0xff} + (163 >> 8) & 0xff, + 163 & 0xff} } }, { @@ -29990,15 +30453,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1033 >> 8) & 0xff, - 1033 & 0xff, + (1055 >> 8) & 0xff, + 1055 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (163 >> 8) & 0xff, - 163 & 0xff} + (167 >> 8) & 0xff, + 167 & 0xff} }, .field_info_spec = { .description = "l3_hdr_type", @@ -30006,8 +30469,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1041 >> 8) & 0xff, - 1041 & 0xff, + (1063 >> 8) & 0xff, + 1063 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30015,8 +30478,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (166 >> 8) & 0xff, - 166 & 0xff} + (170 >> 8) & 0xff, + 170 & 0xff} } }, { @@ -30026,15 +30489,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1049 >> 8) & 0xff, - 1049 & 0xff, + (1071 >> 8) & 0xff, + 1071 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (169 >> 8) & 0xff, - 169 & 0xff} + (173 >> 8) & 0xff, + 173 & 0xff} }, .field_info_spec = { .description = "l3_hdr_error", @@ -30042,15 +30505,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1057 >> 8) & 0xff, - 1057 & 0xff, + (1079 >> 8) & 0xff, + 1079 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (172 >> 8) & 0xff, - 172 & 0xff} + (176 >> 8) & 0xff, + 176 & 0xff} } }, { @@ -30060,15 +30523,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1065 >> 8) & 0xff, - 1065 & 0xff, + (1087 >> 8) & 0xff, + 1087 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (175 >> 8) & 0xff, - 175 & 0xff} + (179 >> 8) & 0xff, + 179 & 0xff} }, .field_info_spec = { .description = "l3_hdr_valid", @@ -30076,8 +30539,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1073 >> 8) & 0xff, - 1073 & 0xff, + (1095 >> 8) & 0xff, + 1095 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30085,8 +30548,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (178 >> 8) & 0xff, - 178 & 0xff} + (182 >> 8) & 0xff, + 182 & 0xff} } }, { @@ -30104,8 +30567,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1081 >> 8) & 0xff, - 1081 & 0xff, + (1103 >> 8) & 0xff, + 1103 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30113,8 +30576,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_TWO_VTAGS_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (181 >> 8) & 0xff, - 181 & 0xff} + (185 >> 8) & 0xff, + 185 & 0xff} } }, { @@ -30132,8 +30595,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1087 >> 8) & 0xff, - 1087 & 0xff, + (1109 >> 8) & 0xff, + 1109 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30141,8 +30604,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_VTAG_PRESENT_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (182 >> 8) & 0xff, - 182 & 0xff} + (186 >> 8) & 0xff, + 186 & 0xff} } }, { @@ -30150,9 +30613,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .description = "l2_uc_mc_bc", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_uc_mc_bc", @@ -30168,8 +30629,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1093 >> 8) & 0xff, - 1093 & 0xff, + (1115 >> 8) & 0xff, + 1115 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30181,8 +30642,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1094 >> 8) & 0xff, - 1094 & 0xff, + (1116 >> 8) & 0xff, + 1116 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -30196,15 +30657,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1095 >> 8) & 0xff, - 1095 & 0xff, + (1117 >> 8) & 0xff, + 1117 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (183 >> 8) & 0xff, - 183 & 0xff} + (187 >> 8) & 0xff, + 187 & 0xff} }, .field_info_spec = { .description = "l2_hdr_error", @@ -30212,25 +30673,35 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1099 >> 8) & 0xff, - 1099 & 0xff, + (1121 >> 8) & 0xff, + 1121 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (184 >> 8) & 0xff, - 184 & 0xff} + (188 >> 8) & 0xff, + 188 & 0xff} } }, { .field_info_mask = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1125 >> 8) & 0xff, + 1125 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (189 >> 8) & 0xff, + 189 & 0xff} }, .field_info_spec = { .description = "l2_hdr_valid", @@ -30238,8 +30709,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1103 >> 8) & 0xff, - 1103 & 0xff, + (1131 >> 8) & 0xff, + 1131 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30247,8 +30718,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (185 >> 8) & 0xff, - 185 & 0xff} + (191 >> 8) & 0xff, + 191 & 0xff} } }, { @@ -30272,15 +30743,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1107 >> 8) & 0xff, - 1107 & 0xff, + (1137 >> 8) & 0xff, + 1137 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (186 >> 8) & 0xff, - 186 & 0xff} + (193 >> 8) & 0xff, + 193 & 0xff} }, .field_info_spec = { .description = "tun_hdr_type", @@ -30288,15 +30759,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1119 >> 8) & 0xff, - 1119 & 0xff, + (1151 >> 8) & 0xff, + 1151 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (191 >> 8) & 0xff, - 191 & 0xff} + (199 >> 8) & 0xff, + 199 & 0xff} } }, { @@ -30306,8 +30777,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1131 >> 8) & 0xff, - 1131 & 0xff, + (1165 >> 8) & 0xff, + 1165 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30319,8 +30790,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1132 >> 8) & 0xff, - 1132 & 0xff, + (1166 >> 8) & 0xff, + 1166 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -30342,8 +30813,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1133 >> 8) & 0xff, - 1133 & 0xff, + (1167 >> 8) & 0xff, + 1167 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30359,15 +30830,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1134 >> 8) & 0xff, - 1134 & 0xff, + (1168 >> 8) & 0xff, + 1168 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (196 >> 8) & 0xff, - 196 & 0xff} + (205 >> 8) & 0xff, + 205 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_is_udp_tcp", @@ -30375,8 +30846,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1138 >> 8) & 0xff, - 1138 & 0xff, + (1172 >> 8) & 0xff, + 1172 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30384,8 +30855,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (197 >> 8) & 0xff, - 197 & 0xff} + (206 >> 8) & 0xff, + 206 & 0xff} } }, { @@ -30395,15 +30866,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1142 >> 8) & 0xff, - 1142 & 0xff, + (1176 >> 8) & 0xff, + 1176 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (198 >> 8) & 0xff, - 198 & 0xff} + (207 >> 8) & 0xff, + 207 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_type", @@ -30411,15 +30882,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1146 >> 8) & 0xff, - 1146 & 0xff, + (1180 >> 8) & 0xff, + 1180 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (199 >> 8) & 0xff, - 199 & 0xff} + (208 >> 8) & 0xff, + 208 & 0xff} } }, { @@ -30429,15 +30900,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1150 >> 8) & 0xff, - 1150 & 0xff, + (1184 >> 8) & 0xff, + 1184 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (200 >> 8) & 0xff, - 200 & 0xff} + (209 >> 8) & 0xff, + 209 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_error", @@ -30445,15 +30916,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1154 >> 8) & 0xff, - 1154 & 0xff, + (1188 >> 8) & 0xff, + 1188 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (201 >> 8) & 0xff, - 201 & 0xff} + (210 >> 8) & 0xff, + 210 & 0xff} } }, { @@ -30463,15 +30934,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1158 >> 8) & 0xff, - 1158 & 0xff, + (1192 >> 8) & 0xff, + 1192 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (202 >> 8) & 0xff, - 202 & 0xff} + (211 >> 8) & 0xff, + 211 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_valid", @@ -30479,8 +30950,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1163 >> 8) & 0xff, - 1163 & 0xff, + (1197 >> 8) & 0xff, + 1197 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30488,8 +30959,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (204 >> 8) & 0xff, - 204 & 0xff} + (213 >> 8) & 0xff, + 213 & 0xff} } }, { @@ -30535,8 +31006,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1168 >> 8) & 0xff, - 1168 & 0xff, + (1202 >> 8) & 0xff, + 1202 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30544,8 +31015,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (206 >> 8) & 0xff, - 206 & 0xff} + (215 >> 8) & 0xff, + 215 & 0xff} } }, { @@ -30555,15 +31026,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1172 >> 8) & 0xff, - 1172 & 0xff, + (1206 >> 8) & 0xff, + 1206 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (207 >> 8) & 0xff, - 207 & 0xff} + (216 >> 8) & 0xff, + 216 & 0xff} }, .field_info_spec = { .description = "tl3_hdr_type", @@ -30571,8 +31042,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1176 >> 8) & 0xff, - 1176 & 0xff, + (1210 >> 8) & 0xff, + 1210 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30580,8 +31051,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (208 >> 8) & 0xff, - 208 & 0xff} + (217 >> 8) & 0xff, + 217 & 0xff} } }, { @@ -30591,15 +31062,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1180 >> 8) & 0xff, - 1180 & 0xff, + (1214 >> 8) & 0xff, + 1214 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (209 >> 8) & 0xff, - 209 & 0xff} + (218 >> 8) & 0xff, + 218 & 0xff} }, .field_info_spec = { .description = "tl3_hdr_error", @@ -30607,15 +31078,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1184 >> 8) & 0xff, - 1184 & 0xff, + (1218 >> 8) & 0xff, + 1218 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (210 >> 8) & 0xff, - 210 & 0xff} + (219 >> 8) & 0xff, + 219 & 0xff} } }, { @@ -30633,8 +31104,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1188 >> 8) & 0xff, - 1188 & 0xff, + (1222 >> 8) & 0xff, + 1222 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30642,8 +31113,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (211 >> 8) & 0xff, - 211 & 0xff} + (220 >> 8) & 0xff, + 220 & 0xff} } }, { @@ -30661,8 +31132,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1192 >> 8) & 0xff, - 1192 & 0xff, + (1226 >> 8) & 0xff, + 1226 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30686,8 +31157,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1195 >> 8) & 0xff, - 1195 & 0xff, + (1229 >> 8) & 0xff, + 1229 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30717,8 +31188,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1198 >> 8) & 0xff, - 1198 & 0xff, + (1232 >> 8) & 0xff, + 1232 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30730,8 +31201,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1199 >> 8) & 0xff, - 1199 & 0xff, + (1233 >> 8) & 0xff, + 1233 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -30753,8 +31224,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1200 >> 8) & 0xff, - 1200 & 0xff, + (1234 >> 8) & 0xff, + 1234 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -30762,8 +31233,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL2_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (212 >> 8) & 0xff, - 212 & 0xff} + (221 >> 8) & 0xff, + 221 & 0xff} } }, { @@ -30829,15 +31300,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1204 >> 8) & 0xff, - 1204 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (1238 >> 8) & 0xff, + 1238 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (213 >> 8) & 0xff, - 213 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (222 >> 8) & 0xff, + 222 & 0xff} } }, { @@ -30915,8 +31389,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1208 >> 8) & 0xff, - 1208 & 0xff, + (1242 >> 8) & 0xff, + 1242 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30928,8 +31402,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1210 >> 8) & 0xff, - 1210 & 0xff, + (1244 >> 8) & 0xff, + 1244 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -30946,8 +31420,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1212 >> 8) & 0xff, - 1212 & 0xff, + (1246 >> 8) & 0xff, + 1246 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30959,15 +31433,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1215 >> 8) & 0xff, - 1215 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (1249 >> 8) & 0xff, + 1249 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (214 >> 8) & 0xff, - 214 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (223 >> 8) & 0xff, + 223 & 0xff} } }, { @@ -30977,8 +31454,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1219 >> 8) & 0xff, - 1219 & 0xff, + (1253 >> 8) & 0xff, + 1253 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -30990,8 +31467,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1220 >> 8) & 0xff, - 1220 & 0xff, + (1254 >> 8) & 0xff, + 1254 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -31008,8 +31485,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1221 >> 8) & 0xff, - 1221 & 0xff, + (1255 >> 8) & 0xff, + 1255 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31024,8 +31501,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1225 >> 8) & 0xff, - 1225 & 0xff, + (1259 >> 8) & 0xff, + 1259 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31042,8 +31519,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1229 >> 8) & 0xff, - 1229 & 0xff, + (1263 >> 8) & 0xff, + 1263 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31058,8 +31535,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1233 >> 8) & 0xff, - 1233 & 0xff, + (1267 >> 8) & 0xff, + 1267 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31076,8 +31553,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1237 >> 8) & 0xff, - 1237 & 0xff, + (1271 >> 8) & 0xff, + 1271 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31092,8 +31569,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1242 >> 8) & 0xff, - 1242 & 0xff, + (1276 >> 8) & 0xff, + 1276 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31110,8 +31587,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1247 >> 8) & 0xff, - 1247 & 0xff, + (1281 >> 8) & 0xff, + 1281 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31120,8 +31597,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (215 >> 8) & 0xff, - 215 & 0xff} + (225 >> 8) & 0xff, + 225 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -31129,8 +31606,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1257 >> 8) & 0xff, - 1257 & 0xff, + (1291 >> 8) & 0xff, + 1291 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31139,8 +31616,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (216 >> 8) & 0xff, - 216 & 0xff} + (226 >> 8) & 0xff, + 226 & 0xff} } }, { @@ -31150,8 +31627,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1267 >> 8) & 0xff, - 1267 & 0xff, + (1301 >> 8) & 0xff, + 1301 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31166,8 +31643,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1272 >> 8) & 0xff, - 1272 & 0xff, + (1306 >> 8) & 0xff, + 1306 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31184,8 +31661,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1277 >> 8) & 0xff, - 1277 & 0xff, + (1311 >> 8) & 0xff, + 1311 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31200,8 +31677,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1281 >> 8) & 0xff, - 1281 & 0xff, + (1315 >> 8) & 0xff, + 1315 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31218,14 +31695,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1285 >> 8) & 0xff, - 1285 & 0xff, + (1319 >> 8) & 0xff, + 1319 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (217 >> 8) & 0xff, - 217 & 0xff}, + (227 >> 8) & 0xff, + 227 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -31234,14 +31711,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1290 >> 8) & 0xff, - 1290 & 0xff, + (1324 >> 8) & 0xff, + 1324 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (218 >> 8) & 0xff, - 218 & 0xff}, + (228 >> 8) & 0xff, + 228 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -31252,8 +31729,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1295 >> 8) & 0xff, - 1295 & 0xff, + (1329 >> 8) & 0xff, + 1329 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31268,8 +31745,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1299 >> 8) & 0xff, - 1299 & 0xff, + (1333 >> 8) & 0xff, + 1333 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31286,8 +31763,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1303 >> 8) & 0xff, - 1303 & 0xff, + (1337 >> 8) & 0xff, + 1337 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31302,8 +31779,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1307 >> 8) & 0xff, - 1307 & 0xff, + (1341 >> 8) & 0xff, + 1341 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31320,8 +31797,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1311 >> 8) & 0xff, - 1311 & 0xff, + (1345 >> 8) & 0xff, + 1345 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31330,8 +31807,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (219 >> 8) & 0xff, - 219 & 0xff} + (229 >> 8) & 0xff, + 229 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -31339,8 +31816,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1319 >> 8) & 0xff, - 1319 & 0xff, + (1353 >> 8) & 0xff, + 1353 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31349,8 +31826,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (220 >> 8) & 0xff, - 220 & 0xff} + (230 >> 8) & 0xff, + 230 & 0xff} } }, { @@ -31360,8 +31837,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1327 >> 8) & 0xff, - 1327 & 0xff, + (1361 >> 8) & 0xff, + 1361 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31370,8 +31847,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (221 >> 8) & 0xff, - 221 & 0xff} + (231 >> 8) & 0xff, + 231 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -31379,8 +31856,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1335 >> 8) & 0xff, - 1335 & 0xff, + (1369 >> 8) & 0xff, + 1369 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31389,8 +31866,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (222 >> 8) & 0xff, - 222 & 0xff} + (232 >> 8) & 0xff, + 232 & 0xff} } }, { @@ -31400,8 +31877,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1343 >> 8) & 0xff, - 1343 & 0xff, + (1377 >> 8) & 0xff, + 1377 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31410,8 +31887,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (223 >> 8) & 0xff, - 223 & 0xff} + (233 >> 8) & 0xff, + 233 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -31419,8 +31896,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1351 >> 8) & 0xff, - 1351 & 0xff, + (1385 >> 8) & 0xff, + 1385 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31429,8 +31906,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (224 >> 8) & 0xff, - 224 & 0xff} + (234 >> 8) & 0xff, + 234 & 0xff} } }, { @@ -31440,8 +31917,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1359 >> 8) & 0xff, - 1359 & 0xff, + (1393 >> 8) & 0xff, + 1393 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31450,8 +31927,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (225 >> 8) & 0xff, - 225 & 0xff} + (235 >> 8) & 0xff, + 235 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -31459,8 +31936,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1367 >> 8) & 0xff, - 1367 & 0xff, + (1401 >> 8) & 0xff, + 1401 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31469,8 +31946,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (226 >> 8) & 0xff, - 226 & 0xff} + (236 >> 8) & 0xff, + 236 & 0xff} } }, { @@ -31480,8 +31957,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1375 >> 8) & 0xff, - 1375 & 0xff, + (1409 >> 8) & 0xff, + 1409 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31490,8 +31967,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (227 >> 8) & 0xff, - 227 & 0xff} + (237 >> 8) & 0xff, + 237 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -31499,8 +31976,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1384 >> 8) & 0xff, - 1384 & 0xff, + (1418 >> 8) & 0xff, + 1418 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31509,8 +31986,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (228 >> 8) & 0xff, - 228 & 0xff} + (238 >> 8) & 0xff, + 238 & 0xff} } }, { @@ -31520,8 +31997,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1393 >> 8) & 0xff, - 1393 & 0xff, + (1427 >> 8) & 0xff, + 1427 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31530,8 +32007,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (229 >> 8) & 0xff, - 229 & 0xff} + (239 >> 8) & 0xff, + 239 & 0xff} }, .field_info_spec = { .description = "tids", @@ -31539,8 +32016,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1399 >> 8) & 0xff, - 1399 & 0xff, + (1436 >> 8) & 0xff, + 1436 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31549,8 +32026,42 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (230 >> 8) & 0xff, - 230 & 0xff} + (241 >> 8) & 0xff, + 241 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1445 >> 8) & 0xff, + 1445 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1448 >> 8) & 0xff, + 1448 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { @@ -31560,8 +32071,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1405 >> 8) & 0xff, - 1405 & 0xff, + (1451 >> 8) & 0xff, + 1451 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31570,8 +32081,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (231 >> 8) & 0xff, - 231 & 0xff} + (243 >> 8) & 0xff, + 243 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -31579,8 +32090,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1412 >> 8) & 0xff, - 1412 & 0xff, + (1458 >> 8) & 0xff, + 1458 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31589,8 +32100,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (232 >> 8) & 0xff, - 232 & 0xff} + (244 >> 8) & 0xff, + 244 & 0xff} } }, { @@ -31600,8 +32111,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1419 >> 8) & 0xff, - 1419 & 0xff, + (1465 >> 8) & 0xff, + 1465 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31610,8 +32121,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (233 >> 8) & 0xff, - 233 & 0xff} + (245 >> 8) & 0xff, + 245 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -31619,8 +32130,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1426 >> 8) & 0xff, - 1426 & 0xff, + (1472 >> 8) & 0xff, + 1472 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31629,8 +32140,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (234 >> 8) & 0xff, - 234 & 0xff} + (246 >> 8) & 0xff, + 246 & 0xff} } }, { @@ -31640,8 +32151,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1433 >> 8) & 0xff, - 1433 & 0xff, + (1479 >> 8) & 0xff, + 1479 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31650,8 +32161,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (235 >> 8) & 0xff, - 235 & 0xff} + (247 >> 8) & 0xff, + 247 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -31659,8 +32170,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1442 >> 8) & 0xff, - 1442 & 0xff, + (1488 >> 8) & 0xff, + 1488 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31669,8 +32180,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (236 >> 8) & 0xff, - 236 & 0xff} + (248 >> 8) & 0xff, + 248 & 0xff} } }, { @@ -31680,8 +32191,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1451 >> 8) & 0xff, - 1451 & 0xff, + (1497 >> 8) & 0xff, + 1497 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31690,8 +32201,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (237 >> 8) & 0xff, - 237 & 0xff} + (249 >> 8) & 0xff, + 249 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -31699,8 +32210,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1469 >> 8) & 0xff, - 1469 & 0xff, + (1515 >> 8) & 0xff, + 1515 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31709,8 +32220,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (240 >> 8) & 0xff, - 240 & 0xff} + (252 >> 8) & 0xff, + 252 & 0xff} } }, { @@ -31720,8 +32231,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1487 >> 8) & 0xff, - 1487 & 0xff, + (1533 >> 8) & 0xff, + 1533 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31730,8 +32241,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (243 >> 8) & 0xff, - 243 & 0xff} + (255 >> 8) & 0xff, + 255 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -31739,8 +32250,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1496 >> 8) & 0xff, - 1496 & 0xff, + (1542 >> 8) & 0xff, + 1542 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31749,8 +32260,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (244 >> 8) & 0xff, - 244 & 0xff} + (256 >> 8) & 0xff, + 256 & 0xff} } }, { @@ -31760,8 +32271,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1505 >> 8) & 0xff, - 1505 & 0xff, + (1551 >> 8) & 0xff, + 1551 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31770,8 +32281,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (245 >> 8) & 0xff, - 245 & 0xff} + (257 >> 8) & 0xff, + 257 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -31779,8 +32290,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1512 >> 8) & 0xff, - 1512 & 0xff, + (1558 >> 8) & 0xff, + 1558 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31789,8 +32300,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (246 >> 8) & 0xff, - 246 & 0xff} + (258 >> 8) & 0xff, + 258 & 0xff} } }, { @@ -31800,8 +32311,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1519 >> 8) & 0xff, - 1519 & 0xff, + (1565 >> 8) & 0xff, + 1565 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31810,8 +32321,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (247 >> 8) & 0xff, - 247 & 0xff} + (259 >> 8) & 0xff, + 259 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -31819,8 +32330,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1526 >> 8) & 0xff, - 1526 & 0xff, + (1572 >> 8) & 0xff, + 1572 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31829,8 +32340,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (248 >> 8) & 0xff, - 248 & 0xff} + (260 >> 8) & 0xff, + 260 & 0xff} } }, { @@ -31840,8 +32351,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1533 >> 8) & 0xff, - 1533 & 0xff, + (1579 >> 8) & 0xff, + 1579 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31850,8 +32361,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (249 >> 8) & 0xff, - 249 & 0xff} + (261 >> 8) & 0xff, + 261 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -31859,8 +32370,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1540 >> 8) & 0xff, - 1540 & 0xff, + (1586 >> 8) & 0xff, + 1586 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31869,8 +32380,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (250 >> 8) & 0xff, - 250 & 0xff} + (262 >> 8) & 0xff, + 262 & 0xff} } }, { @@ -31880,8 +32391,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1547 >> 8) & 0xff, - 1547 & 0xff, + (1593 >> 8) & 0xff, + 1593 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31890,8 +32401,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (251 >> 8) & 0xff, - 251 & 0xff} + (263 >> 8) & 0xff, + 263 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -31899,8 +32410,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1554 >> 8) & 0xff, - 1554 & 0xff, + (1600 >> 8) & 0xff, + 1600 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31909,8 +32420,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (252 >> 8) & 0xff, - 252 & 0xff} + (264 >> 8) & 0xff, + 264 & 0xff} } }, { @@ -31920,8 +32431,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1561 >> 8) & 0xff, - 1561 & 0xff, + (1607 >> 8) & 0xff, + 1607 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31930,8 +32441,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (253 >> 8) & 0xff, - 253 & 0xff} + (265 >> 8) & 0xff, + 265 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -31939,8 +32450,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1575 >> 8) & 0xff, - 1575 & 0xff, + (1621 >> 8) & 0xff, + 1621 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31949,8 +32460,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (256 >> 8) & 0xff, - 256 & 0xff} + (268 >> 8) & 0xff, + 268 & 0xff} } }, { @@ -31960,8 +32471,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1589 >> 8) & 0xff, - 1589 & 0xff, + (1635 >> 8) & 0xff, + 1635 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31970,8 +32481,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (259 >> 8) & 0xff, - 259 & 0xff} + (271 >> 8) & 0xff, + 271 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -31979,8 +32490,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1603 >> 8) & 0xff, - 1603 & 0xff, + (1649 >> 8) & 0xff, + 1649 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -31989,8 +32500,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (262 >> 8) & 0xff, - 262 & 0xff} + (274 >> 8) & 0xff, + 274 & 0xff} } }, { @@ -32000,8 +32511,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1617 >> 8) & 0xff, - 1617 & 0xff, + (1663 >> 8) & 0xff, + 1663 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32010,8 +32521,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (265 >> 8) & 0xff, - 265 & 0xff} + (277 >> 8) & 0xff, + 277 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -32019,8 +32530,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1631 >> 8) & 0xff, - 1631 & 0xff, + (1677 >> 8) & 0xff, + 1677 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32029,8 +32540,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (268 >> 8) & 0xff, - 268 & 0xff} + (280 >> 8) & 0xff, + 280 & 0xff} } }, { @@ -32040,8 +32551,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1645 >> 8) & 0xff, - 1645 & 0xff, + (1691 >> 8) & 0xff, + 1691 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32050,8 +32561,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (271 >> 8) & 0xff, - 271 & 0xff} + (283 >> 8) & 0xff, + 283 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -32059,8 +32570,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1661 >> 8) & 0xff, - 1661 & 0xff, + (1707 >> 8) & 0xff, + 1707 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32069,8 +32580,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (275 >> 8) & 0xff, - 275 & 0xff} + (287 >> 8) & 0xff, + 287 & 0xff} } }, { @@ -32080,8 +32591,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1677 >> 8) & 0xff, - 1677 & 0xff, + (1723 >> 8) & 0xff, + 1723 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32090,8 +32601,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (279 >> 8) & 0xff, - 279 & 0xff} + (291 >> 8) & 0xff, + 291 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -32099,8 +32610,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1693 >> 8) & 0xff, - 1693 & 0xff, + (1739 >> 8) & 0xff, + 1739 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32109,8 +32620,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (283 >> 8) & 0xff, - 283 & 0xff} + (295 >> 8) & 0xff, + 295 & 0xff} } }, /* class_tid: 1, , table: proto_header_cache.wr */ @@ -32129,8 +32640,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1709 >> 8) & 0xff, - 1709 & 0xff, + (1756 >> 8) & 0xff, + 1756 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -32215,8 +32726,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1715 >> 8) & 0xff, - 1715 & 0xff, + (1762 >> 8) & 0xff, + 1762 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -32298,8 +32809,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1965 >> 8) & 0xff, - 1965 & 0xff, + (2018 >> 8) & 0xff, + 2018 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32311,8 +32822,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1967 >> 8) & 0xff, - 1967 & 0xff, + (2020 >> 8) & 0xff, + 2020 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -32329,8 +32840,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1969 >> 8) & 0xff, - 1969 & 0xff, + (2022 >> 8) & 0xff, + 2022 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32342,8 +32853,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1971 >> 8) & 0xff, - 1971 & 0xff, + (2024 >> 8) & 0xff, + 2024 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -32360,8 +32871,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1973 >> 8) & 0xff, - 1973 & 0xff, + (2026 >> 8) & 0xff, + 2026 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32373,8 +32884,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1974 >> 8) & 0xff, - 1974 & 0xff, + (2027 >> 8) & 0xff, + 2027 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -32391,8 +32902,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1975 >> 8) & 0xff, - 1975 & 0xff, + (2028 >> 8) & 0xff, + 2028 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32404,8 +32915,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1980 >> 8) & 0xff, - 1980 & 0xff, + (2033 >> 8) & 0xff, + 2033 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32422,8 +32933,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1985 >> 8) & 0xff, - 1985 & 0xff, + (2038 >> 8) & 0xff, + 2038 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32435,8 +32946,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1989 >> 8) & 0xff, - 1989 & 0xff, + (2042 >> 8) & 0xff, + 2042 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32453,8 +32964,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1993 >> 8) & 0xff, - 1993 & 0xff, + (2046 >> 8) & 0xff, + 2046 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32466,8 +32977,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1998 >> 8) & 0xff, - 1998 & 0xff, + (2051 >> 8) & 0xff, + 2051 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32484,15 +32995,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2003 >> 8) & 0xff, - 2003 & 0xff, + (2056 >> 8) & 0xff, + 2056 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (324 >> 8) & 0xff, - 324 & 0xff} + (337 >> 8) & 0xff, + 337 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -32500,8 +33011,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2013 >> 8) & 0xff, - 2013 & 0xff, + (2066 >> 8) & 0xff, + 2066 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32510,8 +33021,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (325 >> 8) & 0xff, - 325 & 0xff} + (338 >> 8) & 0xff, + 338 & 0xff} } }, { @@ -32521,8 +33032,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2023 >> 8) & 0xff, - 2023 & 0xff, + (2076 >> 8) & 0xff, + 2076 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32534,8 +33045,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2028 >> 8) & 0xff, - 2028 & 0xff, + (2081 >> 8) & 0xff, + 2081 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32552,8 +33063,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2033 >> 8) & 0xff, - 2033 & 0xff, + (2086 >> 8) & 0xff, + 2086 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32565,8 +33076,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2037 >> 8) & 0xff, - 2037 & 0xff, + (2090 >> 8) & 0xff, + 2090 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32583,8 +33094,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2041 >> 8) & 0xff, - 2041 & 0xff, + (2094 >> 8) & 0xff, + 2094 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32596,8 +33107,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2045 >> 8) & 0xff, - 2045 & 0xff, + (2098 >> 8) & 0xff, + 2098 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32614,8 +33125,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2049 >> 8) & 0xff, - 2049 & 0xff, + (2102 >> 8) & 0xff, + 2102 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32627,8 +33138,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2053 >> 8) & 0xff, - 2053 & 0xff, + (2106 >> 8) & 0xff, + 2106 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32645,8 +33156,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2057 >> 8) & 0xff, - 2057 & 0xff, + (2110 >> 8) & 0xff, + 2110 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -32658,8 +33169,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2061 >> 8) & 0xff, - 2061 & 0xff, + (2114 >> 8) & 0xff, + 2114 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32676,15 +33187,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2065 >> 8) & 0xff, - 2065 & 0xff, + (2118 >> 8) & 0xff, + 2118 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (326 >> 8) & 0xff, - 326 & 0xff} + (339 >> 8) & 0xff, + 339 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -32692,8 +33203,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2073 >> 8) & 0xff, - 2073 & 0xff, + (2126 >> 8) & 0xff, + 2126 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32702,8 +33213,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (327 >> 8) & 0xff, - 327 & 0xff} + (340 >> 8) & 0xff, + 340 & 0xff} } }, { @@ -32713,15 +33224,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2081 >> 8) & 0xff, - 2081 & 0xff, + (2134 >> 8) & 0xff, + 2134 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (328 >> 8) & 0xff, - 328 & 0xff} + (341 >> 8) & 0xff, + 341 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -32729,8 +33240,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2089 >> 8) & 0xff, - 2089 & 0xff, + (2142 >> 8) & 0xff, + 2142 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32739,8 +33250,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (329 >> 8) & 0xff, - 329 & 0xff} + (342 >> 8) & 0xff, + 342 & 0xff} } }, { @@ -32750,15 +33261,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2097 >> 8) & 0xff, - 2097 & 0xff, + (2150 >> 8) & 0xff, + 2150 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (330 >> 8) & 0xff, - 330 & 0xff} + (343 >> 8) & 0xff, + 343 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -32766,8 +33277,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2105 >> 8) & 0xff, - 2105 & 0xff, + (2158 >> 8) & 0xff, + 2158 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32776,8 +33287,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (331 >> 8) & 0xff, - 331 & 0xff} + (344 >> 8) & 0xff, + 344 & 0xff} } }, { @@ -32787,15 +33298,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2113 >> 8) & 0xff, - 2113 & 0xff, + (2166 >> 8) & 0xff, + 2166 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (332 >> 8) & 0xff, - 332 & 0xff} + (345 >> 8) & 0xff, + 345 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -32803,8 +33314,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2121 >> 8) & 0xff, - 2121 & 0xff, + (2174 >> 8) & 0xff, + 2174 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32813,8 +33324,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (333 >> 8) & 0xff, - 333 & 0xff} + (346 >> 8) & 0xff, + 346 & 0xff} } }, { @@ -32824,15 +33335,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2129 >> 8) & 0xff, - 2129 & 0xff, + (2182 >> 8) & 0xff, + 2182 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (334 >> 8) & 0xff, - 334 & 0xff} + (347 >> 8) & 0xff, + 347 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -32840,8 +33351,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2138 >> 8) & 0xff, - 2138 & 0xff, + (2191 >> 8) & 0xff, + 2191 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32850,8 +33361,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (335 >> 8) & 0xff, - 335 & 0xff} + (348 >> 8) & 0xff, + 348 & 0xff} } }, { @@ -32861,15 +33372,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2147 >> 8) & 0xff, - 2147 & 0xff, + (2200 >> 8) & 0xff, + 2200 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (336 >> 8) & 0xff, - 336 & 0xff} + (349 >> 8) & 0xff, + 349 & 0xff} }, .field_info_spec = { .description = "tids", @@ -32877,8 +33388,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2153 >> 8) & 0xff, - 2153 & 0xff, + (2209 >> 8) & 0xff, + 2209 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32887,8 +33398,39 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (337 >> 8) & 0xff, - 337 & 0xff} + (351 >> 8) & 0xff, + 351 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2218 >> 8) & 0xff, + 2218 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2221 >> 8) & 0xff, + 2221 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { @@ -32898,15 +33440,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2159 >> 8) & 0xff, - 2159 & 0xff, + (2224 >> 8) & 0xff, + 2224 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (338 >> 8) & 0xff, - 338 & 0xff} + (353 >> 8) & 0xff, + 353 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -32914,8 +33456,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2168 >> 8) & 0xff, - 2168 & 0xff, + (2233 >> 8) & 0xff, + 2233 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32924,8 +33466,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (339 >> 8) & 0xff, - 339 & 0xff} + (354 >> 8) & 0xff, + 354 & 0xff} } }, { @@ -32935,15 +33477,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2177 >> 8) & 0xff, - 2177 & 0xff, + (2242 >> 8) & 0xff, + 2242 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (340 >> 8) & 0xff, - 340 & 0xff} + (355 >> 8) & 0xff, + 355 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -32951,8 +33493,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2184 >> 8) & 0xff, - 2184 & 0xff, + (2249 >> 8) & 0xff, + 2249 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32961,8 +33503,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (341 >> 8) & 0xff, - 341 & 0xff} + (356 >> 8) & 0xff, + 356 & 0xff} } }, { @@ -32972,15 +33514,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2191 >> 8) & 0xff, - 2191 & 0xff, + (2256 >> 8) & 0xff, + 2256 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (342 >> 8) & 0xff, - 342 & 0xff} + (357 >> 8) & 0xff, + 357 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -32988,8 +33530,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2200 >> 8) & 0xff, - 2200 & 0xff, + (2265 >> 8) & 0xff, + 2265 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -32998,8 +33540,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (343 >> 8) & 0xff, - 343 & 0xff} + (358 >> 8) & 0xff, + 358 & 0xff} } }, { @@ -33009,15 +33551,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2209 >> 8) & 0xff, - 2209 & 0xff, + (2274 >> 8) & 0xff, + 2274 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (344 >> 8) & 0xff, - 344 & 0xff} + (359 >> 8) & 0xff, + 359 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -33025,8 +33567,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2227 >> 8) & 0xff, - 2227 & 0xff, + (2292 >> 8) & 0xff, + 2292 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33035,8 +33577,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (347 >> 8) & 0xff, - 347 & 0xff} + (362 >> 8) & 0xff, + 362 & 0xff} } }, { @@ -33046,15 +33588,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2245 >> 8) & 0xff, - 2245 & 0xff, + (2310 >> 8) & 0xff, + 2310 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (350 >> 8) & 0xff, - 350 & 0xff} + (365 >> 8) & 0xff, + 365 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -33062,8 +33604,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2254 >> 8) & 0xff, - 2254 & 0xff, + (2319 >> 8) & 0xff, + 2319 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33072,8 +33614,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (351 >> 8) & 0xff, - 351 & 0xff} + (366 >> 8) & 0xff, + 366 & 0xff} } }, { @@ -33083,15 +33625,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2263 >> 8) & 0xff, - 2263 & 0xff, + (2328 >> 8) & 0xff, + 2328 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (352 >> 8) & 0xff, - 352 & 0xff} + (367 >> 8) & 0xff, + 367 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -33099,8 +33641,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2270 >> 8) & 0xff, - 2270 & 0xff, + (2335 >> 8) & 0xff, + 2335 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33109,8 +33651,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (353 >> 8) & 0xff, - 353 & 0xff} + (368 >> 8) & 0xff, + 368 & 0xff} } }, { @@ -33120,15 +33662,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2277 >> 8) & 0xff, - 2277 & 0xff, + (2342 >> 8) & 0xff, + 2342 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (354 >> 8) & 0xff, - 354 & 0xff} + (369 >> 8) & 0xff, + 369 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -33136,8 +33678,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2284 >> 8) & 0xff, - 2284 & 0xff, + (2349 >> 8) & 0xff, + 2349 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33146,8 +33688,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (355 >> 8) & 0xff, - 355 & 0xff} + (370 >> 8) & 0xff, + 370 & 0xff} } }, { @@ -33157,15 +33699,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2291 >> 8) & 0xff, - 2291 & 0xff, + (2356 >> 8) & 0xff, + 2356 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (356 >> 8) & 0xff, - 356 & 0xff} + (371 >> 8) & 0xff, + 371 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -33173,8 +33715,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2298 >> 8) & 0xff, - 2298 & 0xff, + (2363 >> 8) & 0xff, + 2363 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33183,8 +33725,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (357 >> 8) & 0xff, - 357 & 0xff} + (372 >> 8) & 0xff, + 372 & 0xff} } }, { @@ -33194,15 +33736,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2305 >> 8) & 0xff, - 2305 & 0xff, + (2370 >> 8) & 0xff, + 2370 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (358 >> 8) & 0xff, - 358 & 0xff} + (373 >> 8) & 0xff, + 373 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -33210,8 +33752,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2312 >> 8) & 0xff, - 2312 & 0xff, + (2377 >> 8) & 0xff, + 2377 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33220,8 +33762,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (359 >> 8) & 0xff, - 359 & 0xff} + (374 >> 8) & 0xff, + 374 & 0xff} } }, { @@ -33231,15 +33773,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2319 >> 8) & 0xff, - 2319 & 0xff, + (2384 >> 8) & 0xff, + 2384 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (360 >> 8) & 0xff, - 360 & 0xff} + (375 >> 8) & 0xff, + 375 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -33247,8 +33789,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2333 >> 8) & 0xff, - 2333 & 0xff, + (2398 >> 8) & 0xff, + 2398 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33257,8 +33799,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (363 >> 8) & 0xff, - 363 & 0xff} + (378 >> 8) & 0xff, + 378 & 0xff} } }, { @@ -33268,15 +33810,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2347 >> 8) & 0xff, - 2347 & 0xff, + (2412 >> 8) & 0xff, + 2412 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (366 >> 8) & 0xff, - 366 & 0xff} + (381 >> 8) & 0xff, + 381 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -33284,8 +33826,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2361 >> 8) & 0xff, - 2361 & 0xff, + (2426 >> 8) & 0xff, + 2426 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33294,8 +33836,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (369 >> 8) & 0xff, - 369 & 0xff} + (384 >> 8) & 0xff, + 384 & 0xff} } }, { @@ -33305,15 +33847,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2375 >> 8) & 0xff, - 2375 & 0xff, + (2440 >> 8) & 0xff, + 2440 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (372 >> 8) & 0xff, - 372 & 0xff} + (387 >> 8) & 0xff, + 387 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -33321,8 +33863,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2389 >> 8) & 0xff, - 2389 & 0xff, + (2454 >> 8) & 0xff, + 2454 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33331,8 +33873,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (375 >> 8) & 0xff, - 375 & 0xff} + (390 >> 8) & 0xff, + 390 & 0xff} } }, { @@ -33342,15 +33884,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2403 >> 8) & 0xff, - 2403 & 0xff, + (2468 >> 8) & 0xff, + 2468 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (378 >> 8) & 0xff, - 378 & 0xff} + (393 >> 8) & 0xff, + 393 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -33358,8 +33900,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2417 >> 8) & 0xff, - 2417 & 0xff, + (2482 >> 8) & 0xff, + 2482 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33368,8 +33910,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (381 >> 8) & 0xff, - 381 & 0xff} + (396 >> 8) & 0xff, + 396 & 0xff} } }, { @@ -33379,15 +33921,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2431 >> 8) & 0xff, - 2431 & 0xff, + (2496 >> 8) & 0xff, + 2496 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (384 >> 8) & 0xff, - 384 & 0xff} + (399 >> 8) & 0xff, + 399 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -33395,8 +33937,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2445 >> 8) & 0xff, - 2445 & 0xff, + (2510 >> 8) & 0xff, + 2510 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33405,8 +33947,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (387 >> 8) & 0xff, - 387 & 0xff} + (402 >> 8) & 0xff, + 402 & 0xff} } }, /* class_tid: 1, , table: em_flow_conflict_cache.wr */ @@ -33439,8 +33981,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2459 >> 8) & 0xff, - 2459 & 0xff, + (2524 >> 8) & 0xff, + 2524 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -33573,8 +34115,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2495 >> 8) & 0xff, - 2495 & 0xff, + (2563 >> 8) & 0xff, + 2563 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33589,8 +34131,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2497 >> 8) & 0xff, - 2497 & 0xff, + (2565 >> 8) & 0xff, + 2565 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33607,8 +34149,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2499 >> 8) & 0xff, - 2499 & 0xff, + (2567 >> 8) & 0xff, + 2567 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33623,8 +34165,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2501 >> 8) & 0xff, - 2501 & 0xff, + (2569 >> 8) & 0xff, + 2569 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33641,8 +34183,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2503 >> 8) & 0xff, - 2503 & 0xff, + (2571 >> 8) & 0xff, + 2571 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33657,8 +34199,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2505 >> 8) & 0xff, - 2505 & 0xff, + (2573 >> 8) & 0xff, + 2573 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33675,8 +34217,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2507 >> 8) & 0xff, - 2507 & 0xff, + (2575 >> 8) & 0xff, + 2575 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33691,8 +34233,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2509 >> 8) & 0xff, - 2509 & 0xff, + (2577 >> 8) & 0xff, + 2577 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33709,8 +34251,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2511 >> 8) & 0xff, - 2511 & 0xff, + (2579 >> 8) & 0xff, + 2579 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33725,8 +34267,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2513 >> 8) & 0xff, - 2513 & 0xff, + (2581 >> 8) & 0xff, + 2581 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33743,8 +34285,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2515 >> 8) & 0xff, - 2515 & 0xff, + (2583 >> 8) & 0xff, + 2583 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33759,8 +34301,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2517 >> 8) & 0xff, - 2517 & 0xff, + (2585 >> 8) & 0xff, + 2585 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33777,8 +34319,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2519 >> 8) & 0xff, - 2519 & 0xff, + (2587 >> 8) & 0xff, + 2587 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33793,8 +34335,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2521 >> 8) & 0xff, - 2521 & 0xff, + (2589 >> 8) & 0xff, + 2589 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33861,8 +34403,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2524 >> 8) & 0xff, - 2524 & 0xff, + (2592 >> 8) & 0xff, + 2592 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33877,8 +34419,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2526 >> 8) & 0xff, - 2526 & 0xff, + (2594 >> 8) & 0xff, + 2594 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33895,8 +34437,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2528 >> 8) & 0xff, - 2528 & 0xff, + (2596 >> 8) & 0xff, + 2596 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33911,8 +34453,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2530 >> 8) & 0xff, - 2530 & 0xff, + (2598 >> 8) & 0xff, + 2598 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33929,8 +34471,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2532 >> 8) & 0xff, - 2532 & 0xff, + (2600 >> 8) & 0xff, + 2600 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33945,8 +34487,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2534 >> 8) & 0xff, - 2534 & 0xff, + (2602 >> 8) & 0xff, + 2602 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33963,8 +34505,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2536 >> 8) & 0xff, - 2536 & 0xff, + (2604 >> 8) & 0xff, + 2604 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33979,8 +34521,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2538 >> 8) & 0xff, - 2538 & 0xff, + (2606 >> 8) & 0xff, + 2606 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -33997,8 +34539,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2540 >> 8) & 0xff, - 2540 & 0xff, + (2608 >> 8) & 0xff, + 2608 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34013,8 +34555,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2542 >> 8) & 0xff, - 2542 & 0xff, + (2610 >> 8) & 0xff, + 2610 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34031,8 +34573,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2544 >> 8) & 0xff, - 2544 & 0xff, + (2612 >> 8) & 0xff, + 2612 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34047,8 +34589,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2546 >> 8) & 0xff, - 2546 & 0xff, + (2614 >> 8) & 0xff, + 2614 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34065,8 +34607,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2548 >> 8) & 0xff, - 2548 & 0xff, + (2616 >> 8) & 0xff, + 2616 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34081,8 +34623,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2550 >> 8) & 0xff, - 2550 & 0xff, + (2618 >> 8) & 0xff, + 2618 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -34154,8 +34696,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2562 >> 8) & 0xff, - 2562 & 0xff, + (2630 >> 8) & 0xff, + 2630 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -34226,8 +34768,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2565 >> 8) & 0xff, - 2565 & 0xff, + (2633 >> 8) & 0xff, + 2633 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -34322,8 +34864,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2569 >> 8) & 0xff, - 2569 & 0xff, + (2637 >> 8) & 0xff, + 2637 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CF, @@ -34360,8 +34902,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2830 >> 8) & 0xff, - 2830 & 0xff, + (2898 >> 8) & 0xff, + 2898 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34373,8 +34915,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2832 >> 8) & 0xff, - 2832 & 0xff, + (2900 >> 8) & 0xff, + 2900 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34388,8 +34930,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2834 >> 8) & 0xff, - 2834 & 0xff, + (2902 >> 8) & 0xff, + 2902 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34401,8 +34943,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2837 >> 8) & 0xff, - 2837 & 0xff, + (2905 >> 8) & 0xff, + 2905 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34416,8 +34958,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2840 >> 8) & 0xff, - 2840 & 0xff, + (2908 >> 8) & 0xff, + 2908 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34429,8 +34971,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2841 >> 8) & 0xff, - 2841 & 0xff, + (2909 >> 8) & 0xff, + 2909 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -34447,8 +34989,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2842 >> 8) & 0xff, - 2842 & 0xff, + (2910 >> 8) & 0xff, + 2910 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34460,8 +35002,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2846 >> 8) & 0xff, - 2846 & 0xff, + (2914 >> 8) & 0xff, + 2914 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34475,14 +35017,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2850 >> 8) & 0xff, - 2850 & 0xff, + (2918 >> 8) & 0xff, + 2918 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (433 >> 8) & 0xff, - 433 & 0xff}, + (448 >> 8) & 0xff, + 448 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -34491,14 +35033,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2857 >> 8) & 0xff, - 2857 & 0xff, + (2925 >> 8) & 0xff, + 2925 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (434 >> 8) & 0xff, - 434 & 0xff}, + (449 >> 8) & 0xff, + 449 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -34509,8 +35051,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2864 >> 8) & 0xff, - 2864 & 0xff, + (2932 >> 8) & 0xff, + 2932 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34522,8 +35064,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2869 >> 8) & 0xff, - 2869 & 0xff, + (2937 >> 8) & 0xff, + 2937 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34537,15 +35079,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2874 >> 8) & 0xff, - 2874 & 0xff, + (2942 >> 8) & 0xff, + 2942 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (435 >> 8) & 0xff, - 435 & 0xff} + (450 >> 8) & 0xff, + 450 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -34553,15 +35095,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2884 >> 8) & 0xff, - 2884 & 0xff, + (2952 >> 8) & 0xff, + 2952 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (436 >> 8) & 0xff, - 436 & 0xff} + (451 >> 8) & 0xff, + 451 & 0xff} } }, { @@ -34571,8 +35113,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2894 >> 8) & 0xff, - 2894 & 0xff, + (2962 >> 8) & 0xff, + 2962 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34584,8 +35126,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2899 >> 8) & 0xff, - 2899 & 0xff, + (2967 >> 8) & 0xff, + 2967 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34599,8 +35141,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2904 >> 8) & 0xff, - 2904 & 0xff, + (2972 >> 8) & 0xff, + 2972 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34612,8 +35154,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2908 >> 8) & 0xff, - 2908 & 0xff, + (2976 >> 8) & 0xff, + 2976 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34627,14 +35169,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2912 >> 8) & 0xff, - 2912 & 0xff, + (2980 >> 8) & 0xff, + 2980 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (437 >> 8) & 0xff, - 437 & 0xff}, + (452 >> 8) & 0xff, + 452 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -34643,14 +35185,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2917 >> 8) & 0xff, - 2917 & 0xff, + (2985 >> 8) & 0xff, + 2985 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (438 >> 8) & 0xff, - 438 & 0xff}, + (453 >> 8) & 0xff, + 453 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -34661,8 +35203,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2922 >> 8) & 0xff, - 2922 & 0xff, + (2990 >> 8) & 0xff, + 2990 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34674,8 +35216,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2926 >> 8) & 0xff, - 2926 & 0xff, + (2994 >> 8) & 0xff, + 2994 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34689,8 +35231,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2930 >> 8) & 0xff, - 2930 & 0xff, + (2998 >> 8) & 0xff, + 2998 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -34702,8 +35244,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2934 >> 8) & 0xff, - 2934 & 0xff, + (3002 >> 8) & 0xff, + 3002 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -34717,15 +35259,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2938 >> 8) & 0xff, - 2938 & 0xff, + (3006 >> 8) & 0xff, + 3006 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (439 >> 8) & 0xff, - 439 & 0xff} + (454 >> 8) & 0xff, + 454 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -34733,15 +35275,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2946 >> 8) & 0xff, - 2946 & 0xff, + (3014 >> 8) & 0xff, + 3014 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (440 >> 8) & 0xff, - 440 & 0xff} + (455 >> 8) & 0xff, + 455 & 0xff} } }, { @@ -34751,15 +35293,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2954 >> 8) & 0xff, - 2954 & 0xff, + (3022 >> 8) & 0xff, + 3022 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (441 >> 8) & 0xff, - 441 & 0xff} + (456 >> 8) & 0xff, + 456 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -34767,15 +35309,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2962 >> 8) & 0xff, - 2962 & 0xff, + (3030 >> 8) & 0xff, + 3030 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (442 >> 8) & 0xff, - 442 & 0xff} + (457 >> 8) & 0xff, + 457 & 0xff} } }, { @@ -34785,15 +35327,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2970 >> 8) & 0xff, - 2970 & 0xff, + (3038 >> 8) & 0xff, + 3038 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (443 >> 8) & 0xff, - 443 & 0xff} + (458 >> 8) & 0xff, + 458 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -34801,15 +35343,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2978 >> 8) & 0xff, - 2978 & 0xff, + (3046 >> 8) & 0xff, + 3046 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (444 >> 8) & 0xff, - 444 & 0xff} + (459 >> 8) & 0xff, + 459 & 0xff} } }, { @@ -34819,15 +35361,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2986 >> 8) & 0xff, - 2986 & 0xff, + (3054 >> 8) & 0xff, + 3054 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (445 >> 8) & 0xff, - 445 & 0xff} + (460 >> 8) & 0xff, + 460 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -34835,15 +35377,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2994 >> 8) & 0xff, - 2994 & 0xff, + (3062 >> 8) & 0xff, + 3062 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (446 >> 8) & 0xff, - 446 & 0xff} + (461 >> 8) & 0xff, + 461 & 0xff} } }, { @@ -34853,15 +35395,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3002 >> 8) & 0xff, - 3002 & 0xff, + (3070 >> 8) & 0xff, + 3070 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (447 >> 8) & 0xff, - 447 & 0xff} + (462 >> 8) & 0xff, + 462 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -34869,15 +35411,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3011 >> 8) & 0xff, - 3011 & 0xff, + (3079 >> 8) & 0xff, + 3079 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (448 >> 8) & 0xff, - 448 & 0xff} + (463 >> 8) & 0xff, + 463 & 0xff} } }, { @@ -34887,15 +35429,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3020 >> 8) & 0xff, - 3020 & 0xff, + (3088 >> 8) & 0xff, + 3088 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (449 >> 8) & 0xff, - 449 & 0xff} + (464 >> 8) & 0xff, + 464 & 0xff} }, .field_info_spec = { .description = "tids", @@ -34903,15 +35445,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3026 >> 8) & 0xff, - 3026 & 0xff, + (3094 >> 8) & 0xff, + 3094 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (450 >> 8) & 0xff, - 450 & 0xff} + (465 >> 8) & 0xff, + 465 & 0xff} } }, { @@ -34921,15 +35463,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3032 >> 8) & 0xff, - 3032 & 0xff, + (3100 >> 8) & 0xff, + 3100 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (451 >> 8) & 0xff, - 451 & 0xff} + (466 >> 8) & 0xff, + 466 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -34937,15 +35479,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3039 >> 8) & 0xff, - 3039 & 0xff, + (3107 >> 8) & 0xff, + 3107 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (452 >> 8) & 0xff, - 452 & 0xff} + (467 >> 8) & 0xff, + 467 & 0xff} } }, { @@ -34955,15 +35497,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3046 >> 8) & 0xff, - 3046 & 0xff, + (3114 >> 8) & 0xff, + 3114 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (453 >> 8) & 0xff, - 453 & 0xff} + (468 >> 8) & 0xff, + 468 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -34971,15 +35513,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3053 >> 8) & 0xff, - 3053 & 0xff, + (3121 >> 8) & 0xff, + 3121 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (454 >> 8) & 0xff, - 454 & 0xff} + (469 >> 8) & 0xff, + 469 & 0xff} } }, { @@ -34989,15 +35531,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3060 >> 8) & 0xff, - 3060 & 0xff, + (3128 >> 8) & 0xff, + 3128 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (455 >> 8) & 0xff, - 455 & 0xff} + (470 >> 8) & 0xff, + 470 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -35005,15 +35547,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3069 >> 8) & 0xff, - 3069 & 0xff, + (3137 >> 8) & 0xff, + 3137 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (456 >> 8) & 0xff, - 456 & 0xff} + (471 >> 8) & 0xff, + 471 & 0xff} } }, { @@ -35023,15 +35565,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3078 >> 8) & 0xff, - 3078 & 0xff, + (3146 >> 8) & 0xff, + 3146 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (457 >> 8) & 0xff, - 457 & 0xff} + (472 >> 8) & 0xff, + 472 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -35039,15 +35581,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3096 >> 8) & 0xff, - 3096 & 0xff, + (3164 >> 8) & 0xff, + 3164 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (460 >> 8) & 0xff, - 460 & 0xff} + (475 >> 8) & 0xff, + 475 & 0xff} } }, { @@ -35057,15 +35599,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3114 >> 8) & 0xff, - 3114 & 0xff, + (3182 >> 8) & 0xff, + 3182 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (463 >> 8) & 0xff, - 463 & 0xff} + (478 >> 8) & 0xff, + 478 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -35073,15 +35615,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3123 >> 8) & 0xff, - 3123 & 0xff, + (3191 >> 8) & 0xff, + 3191 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (464 >> 8) & 0xff, - 464 & 0xff} + (479 >> 8) & 0xff, + 479 & 0xff} } }, { @@ -35091,15 +35633,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3132 >> 8) & 0xff, - 3132 & 0xff, + (3200 >> 8) & 0xff, + 3200 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (465 >> 8) & 0xff, - 465 & 0xff} + (480 >> 8) & 0xff, + 480 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -35107,15 +35649,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3139 >> 8) & 0xff, - 3139 & 0xff, + (3207 >> 8) & 0xff, + 3207 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (466 >> 8) & 0xff, - 466 & 0xff} + (481 >> 8) & 0xff, + 481 & 0xff} } }, { @@ -35125,15 +35667,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3146 >> 8) & 0xff, - 3146 & 0xff, + (3214 >> 8) & 0xff, + 3214 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (467 >> 8) & 0xff, - 467 & 0xff} + (482 >> 8) & 0xff, + 482 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -35141,15 +35683,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3153 >> 8) & 0xff, - 3153 & 0xff, + (3221 >> 8) & 0xff, + 3221 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (468 >> 8) & 0xff, - 468 & 0xff} + (483 >> 8) & 0xff, + 483 & 0xff} } }, { @@ -35159,15 +35701,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3160 >> 8) & 0xff, - 3160 & 0xff, + (3228 >> 8) & 0xff, + 3228 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (469 >> 8) & 0xff, - 469 & 0xff} + (484 >> 8) & 0xff, + 484 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -35175,15 +35717,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3167 >> 8) & 0xff, - 3167 & 0xff, + (3235 >> 8) & 0xff, + 3235 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (470 >> 8) & 0xff, - 470 & 0xff} + (485 >> 8) & 0xff, + 485 & 0xff} } }, { @@ -35193,15 +35735,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3174 >> 8) & 0xff, - 3174 & 0xff, + (3242 >> 8) & 0xff, + 3242 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (471 >> 8) & 0xff, - 471 & 0xff} + (486 >> 8) & 0xff, + 486 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -35209,15 +35751,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3181 >> 8) & 0xff, - 3181 & 0xff, + (3249 >> 8) & 0xff, + 3249 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (472 >> 8) & 0xff, - 472 & 0xff} + (487 >> 8) & 0xff, + 487 & 0xff} } }, { @@ -35227,15 +35769,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3188 >> 8) & 0xff, - 3188 & 0xff, + (3256 >> 8) & 0xff, + 3256 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (473 >> 8) & 0xff, - 473 & 0xff} + (488 >> 8) & 0xff, + 488 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -35243,15 +35785,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3202 >> 8) & 0xff, - 3202 & 0xff, + (3270 >> 8) & 0xff, + 3270 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (476 >> 8) & 0xff, - 476 & 0xff} + (491 >> 8) & 0xff, + 491 & 0xff} } }, { @@ -35261,15 +35803,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3216 >> 8) & 0xff, - 3216 & 0xff, + (3284 >> 8) & 0xff, + 3284 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (479 >> 8) & 0xff, - 479 & 0xff} + (494 >> 8) & 0xff, + 494 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -35277,15 +35819,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3240 >> 8) & 0xff, - 3240 & 0xff, + (3308 >> 8) & 0xff, + 3308 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (486 >> 8) & 0xff, - 486 & 0xff} + (501 >> 8) & 0xff, + 501 & 0xff} } }, { @@ -35295,15 +35837,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3264 >> 8) & 0xff, - 3264 & 0xff, + (3332 >> 8) & 0xff, + 3332 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (493 >> 8) & 0xff, - 493 & 0xff} + (508 >> 8) & 0xff, + 508 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -35311,15 +35853,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3278 >> 8) & 0xff, - 3278 & 0xff, + (3346 >> 8) & 0xff, + 3346 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (496 >> 8) & 0xff, - 496 & 0xff} + (511 >> 8) & 0xff, + 511 & 0xff} } }, { @@ -35329,15 +35871,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3292 >> 8) & 0xff, - 3292 & 0xff, + (3360 >> 8) & 0xff, + 3360 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (499 >> 8) & 0xff, - 499 & 0xff} + (514 >> 8) & 0xff, + 514 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -35345,15 +35887,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3308 >> 8) & 0xff, - 3308 & 0xff, + (3376 >> 8) & 0xff, + 3376 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (503 >> 8) & 0xff, - 503 & 0xff} + (518 >> 8) & 0xff, + 518 & 0xff} } }, { @@ -35363,15 +35905,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3324 >> 8) & 0xff, - 3324 & 0xff, + (3392 >> 8) & 0xff, + 3392 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (507 >> 8) & 0xff, - 507 & 0xff} + (522 >> 8) & 0xff, + 522 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -35379,15 +35921,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3340 >> 8) & 0xff, - 3340 & 0xff, + (3408 >> 8) & 0xff, + 3408 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (511 >> 8) & 0xff, - 511 & 0xff} + (526 >> 8) & 0xff, + 526 & 0xff} } }, /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ @@ -35406,8 +35948,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3356 >> 8) & 0xff, - 3356 & 0xff, + (3424 >> 8) & 0xff, + 3424 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -35471,15 +36013,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3375 >> 8) & 0xff, - 3375 & 0xff, + (3443 >> 8) & 0xff, + 3443 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (523 >> 8) & 0xff, - 523 & 0xff} + (538 >> 8) & 0xff, + 538 & 0xff} }, .field_info_spec = { .description = "l4_hdr_is_udp_tcp", @@ -35487,8 +36029,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3383 >> 8) & 0xff, - 3383 & 0xff, + (3451 >> 8) & 0xff, + 3451 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35496,8 +36038,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (526 >> 8) & 0xff, - 526 & 0xff} + (541 >> 8) & 0xff, + 541 & 0xff} } }, { @@ -35507,15 +36049,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3391 >> 8) & 0xff, - 3391 & 0xff, + (3459 >> 8) & 0xff, + 3459 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (529 >> 8) & 0xff, - 529 & 0xff} + (544 >> 8) & 0xff, + 544 & 0xff} }, .field_info_spec = { .description = "l4_hdr_type", @@ -35523,15 +36065,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3399 >> 8) & 0xff, - 3399 & 0xff, + (3467 >> 8) & 0xff, + 3467 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (532 >> 8) & 0xff, - 532 & 0xff} + (547 >> 8) & 0xff, + 547 & 0xff} } }, { @@ -35541,15 +36083,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3407 >> 8) & 0xff, - 3407 & 0xff, + (3475 >> 8) & 0xff, + 3475 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (535 >> 8) & 0xff, - 535 & 0xff} + (550 >> 8) & 0xff, + 550 & 0xff} }, .field_info_spec = { .description = "l4_hdr_error", @@ -35557,15 +36099,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3415 >> 8) & 0xff, - 3415 & 0xff, + (3483 >> 8) & 0xff, + 3483 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (538 >> 8) & 0xff, - 538 & 0xff} + (553 >> 8) & 0xff, + 553 & 0xff} } }, { @@ -35575,15 +36117,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3423 >> 8) & 0xff, - 3423 & 0xff, + (3491 >> 8) & 0xff, + 3491 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (541 >> 8) & 0xff, - 541 & 0xff} + (556 >> 8) & 0xff, + 556 & 0xff} }, .field_info_spec = { .description = "l4_hdr_valid", @@ -35591,8 +36133,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3431 >> 8) & 0xff, - 3431 & 0xff, + (3499 >> 8) & 0xff, + 3499 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35600,8 +36142,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (544 >> 8) & 0xff, - 544 & 0xff} + (559 >> 8) & 0xff, + 559 & 0xff} } }, { @@ -35661,8 +36203,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3439 >> 8) & 0xff, - 3439 & 0xff, + (3507 >> 8) & 0xff, + 3507 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35670,8 +36212,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (547 >> 8) & 0xff, - 547 & 0xff} + (562 >> 8) & 0xff, + 562 & 0xff} } }, { @@ -35681,15 +36223,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3447 >> 8) & 0xff, - 3447 & 0xff, + (3515 >> 8) & 0xff, + 3515 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (550 >> 8) & 0xff, - 550 & 0xff} + (565 >> 8) & 0xff, + 565 & 0xff} }, .field_info_spec = { .description = "l3_hdr_type", @@ -35697,8 +36239,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3455 >> 8) & 0xff, - 3455 & 0xff, + (3523 >> 8) & 0xff, + 3523 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35706,8 +36248,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (553 >> 8) & 0xff, - 553 & 0xff} + (568 >> 8) & 0xff, + 568 & 0xff} } }, { @@ -35717,15 +36259,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3463 >> 8) & 0xff, - 3463 & 0xff, + (3531 >> 8) & 0xff, + 3531 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (556 >> 8) & 0xff, - 556 & 0xff} + (571 >> 8) & 0xff, + 571 & 0xff} }, .field_info_spec = { .description = "l3_hdr_error", @@ -35733,15 +36275,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3471 >> 8) & 0xff, - 3471 & 0xff, + (3539 >> 8) & 0xff, + 3539 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (559 >> 8) & 0xff, - 559 & 0xff} + (574 >> 8) & 0xff, + 574 & 0xff} } }, { @@ -35751,15 +36293,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3479 >> 8) & 0xff, - 3479 & 0xff, + (3547 >> 8) & 0xff, + 3547 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (562 >> 8) & 0xff, - 562 & 0xff} + (577 >> 8) & 0xff, + 577 & 0xff} }, .field_info_spec = { .description = "l3_hdr_valid", @@ -35767,8 +36309,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3487 >> 8) & 0xff, - 3487 & 0xff, + (3555 >> 8) & 0xff, + 3555 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35776,8 +36318,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (565 >> 8) & 0xff, - 565 & 0xff} + (580 >> 8) & 0xff, + 580 & 0xff} } }, { @@ -35795,8 +36337,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3495 >> 8) & 0xff, - 3495 & 0xff, + (3563 >> 8) & 0xff, + 3563 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35804,8 +36346,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_TWO_VTAGS_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (568 >> 8) & 0xff, - 568 & 0xff} + (583 >> 8) & 0xff, + 583 & 0xff} } }, { @@ -35823,8 +36365,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3501 >> 8) & 0xff, - 3501 & 0xff, + (3569 >> 8) & 0xff, + 3569 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35832,8 +36374,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_VTAG_PRESENT_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (569 >> 8) & 0xff, - 569 & 0xff} + (584 >> 8) & 0xff, + 584 & 0xff} } }, { @@ -35859,8 +36401,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3507 >> 8) & 0xff, - 3507 & 0xff, + (3575 >> 8) & 0xff, + 3575 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -35872,8 +36414,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3508 >> 8) & 0xff, - 3508 & 0xff, + (3576 >> 8) & 0xff, + 3576 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -35887,15 +36429,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3509 >> 8) & 0xff, - 3509 & 0xff, + (3577 >> 8) & 0xff, + 3577 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (570 >> 8) & 0xff, - 570 & 0xff} + (585 >> 8) & 0xff, + 585 & 0xff} }, .field_info_spec = { .description = "l2_hdr_error", @@ -35903,15 +36445,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3513 >> 8) & 0xff, - 3513 & 0xff, + (3581 >> 8) & 0xff, + 3581 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (571 >> 8) & 0xff, - 571 & 0xff} + (586 >> 8) & 0xff, + 586 & 0xff} } }, { @@ -35929,8 +36471,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3517 >> 8) & 0xff, - 3517 & 0xff, + (3585 >> 8) & 0xff, + 3585 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -35938,8 +36480,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_L2_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (572 >> 8) & 0xff, - 572 & 0xff} + (587 >> 8) & 0xff, + 587 & 0xff} } }, { @@ -35963,15 +36505,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3521 >> 8) & 0xff, - 3521 & 0xff, + (3589 >> 8) & 0xff, + 3589 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (573 >> 8) & 0xff, - 573 & 0xff} + (588 >> 8) & 0xff, + 588 & 0xff} }, .field_info_spec = { .description = "tun_hdr_type", @@ -35979,15 +36521,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3533 >> 8) & 0xff, - 3533 & 0xff, + (3601 >> 8) & 0xff, + 3601 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (578 >> 8) & 0xff, - 578 & 0xff} + (593 >> 8) & 0xff, + 593 & 0xff} } }, { @@ -35997,8 +36539,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3545 >> 8) & 0xff, - 3545 & 0xff, + (3613 >> 8) & 0xff, + 3613 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -36010,8 +36552,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3546 >> 8) & 0xff, - 3546 & 0xff, + (3614 >> 8) & 0xff, + 3614 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -36033,8 +36575,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3547 >> 8) & 0xff, - 3547 & 0xff, + (3615 >> 8) & 0xff, + 3615 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36050,15 +36592,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3548 >> 8) & 0xff, - 3548 & 0xff, + (3616 >> 8) & 0xff, + 3616 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (583 >> 8) & 0xff, - 583 & 0xff} + (598 >> 8) & 0xff, + 598 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_is_udp_tcp", @@ -36066,8 +36608,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3552 >> 8) & 0xff, - 3552 & 0xff, + (3620 >> 8) & 0xff, + 3620 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36075,8 +36617,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (584 >> 8) & 0xff, - 584 & 0xff} + (599 >> 8) & 0xff, + 599 & 0xff} } }, { @@ -36086,15 +36628,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3556 >> 8) & 0xff, - 3556 & 0xff, + (3624 >> 8) & 0xff, + 3624 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (585 >> 8) & 0xff, - 585 & 0xff} + (600 >> 8) & 0xff, + 600 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_type", @@ -36102,15 +36644,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3560 >> 8) & 0xff, - 3560 & 0xff, + (3628 >> 8) & 0xff, + 3628 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (586 >> 8) & 0xff, - 586 & 0xff} + (601 >> 8) & 0xff, + 601 & 0xff} } }, { @@ -36120,15 +36662,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3564 >> 8) & 0xff, - 3564 & 0xff, + (3632 >> 8) & 0xff, + 3632 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (587 >> 8) & 0xff, - 587 & 0xff} + (602 >> 8) & 0xff, + 602 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_error", @@ -36136,15 +36678,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3568 >> 8) & 0xff, - 3568 & 0xff, + (3636 >> 8) & 0xff, + 3636 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (588 >> 8) & 0xff, - 588 & 0xff} + (603 >> 8) & 0xff, + 603 & 0xff} } }, { @@ -36154,15 +36696,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3572 >> 8) & 0xff, - 3572 & 0xff, + (3640 >> 8) & 0xff, + 3640 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (589 >> 8) & 0xff, - 589 & 0xff} + (604 >> 8) & 0xff, + 604 & 0xff} }, .field_info_spec = { .description = "tl4_hdr_valid", @@ -36170,8 +36712,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3577 >> 8) & 0xff, - 3577 & 0xff, + (3645 >> 8) & 0xff, + 3645 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36179,8 +36721,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (591 >> 8) & 0xff, - 591 & 0xff} + (606 >> 8) & 0xff, + 606 & 0xff} } }, { @@ -36226,8 +36768,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3582 >> 8) & 0xff, - 3582 & 0xff, + (3650 >> 8) & 0xff, + 3650 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36235,8 +36777,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (593 >> 8) & 0xff, - 593 & 0xff} + (608 >> 8) & 0xff, + 608 & 0xff} } }, { @@ -36246,15 +36788,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3586 >> 8) & 0xff, - 3586 & 0xff, + (3654 >> 8) & 0xff, + 3654 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (594 >> 8) & 0xff, - 594 & 0xff} + (609 >> 8) & 0xff, + 609 & 0xff} }, .field_info_spec = { .description = "tl3_hdr_type", @@ -36262,8 +36804,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3590 >> 8) & 0xff, - 3590 & 0xff, + (3658 >> 8) & 0xff, + 3658 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36271,8 +36813,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (595 >> 8) & 0xff, - 595 & 0xff} + (610 >> 8) & 0xff, + 610 & 0xff} } }, { @@ -36282,15 +36824,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3594 >> 8) & 0xff, - 3594 & 0xff, + (3662 >> 8) & 0xff, + 3662 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (596 >> 8) & 0xff, - 596 & 0xff} + (611 >> 8) & 0xff, + 611 & 0xff} }, .field_info_spec = { .description = "tl3_hdr_error", @@ -36298,15 +36840,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3598 >> 8) & 0xff, - 3598 & 0xff, + (3666 >> 8) & 0xff, + 3666 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (597 >> 8) & 0xff, - 597 & 0xff} + (612 >> 8) & 0xff, + 612 & 0xff} } }, { @@ -36324,8 +36866,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3602 >> 8) & 0xff, - 3602 & 0xff, + (3670 >> 8) & 0xff, + 3670 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36333,8 +36875,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { ULP_THOR_SYM_TL3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (598 >> 8) & 0xff, - 598 & 0xff} + (613 >> 8) & 0xff, + 613 & 0xff} } }, { @@ -36352,8 +36894,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3606 >> 8) & 0xff, - 3606 & 0xff, + (3674 >> 8) & 0xff, + 3674 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36377,8 +36919,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3609 >> 8) & 0xff, - 3609 & 0xff, + (3677 >> 8) & 0xff, + 3677 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36408,8 +36950,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3612 >> 8) & 0xff, - 3612 & 0xff, + (3680 >> 8) & 0xff, + 3680 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -36421,8 +36963,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3613 >> 8) & 0xff, - 3613 & 0xff, + (3681 >> 8) & 0xff, + 3681 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -36444,8 +36986,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3614 >> 8) & 0xff, - 3614 & 0xff, + (3682 >> 8) & 0xff, + 3682 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -36517,15 +37059,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3616 >> 8) & 0xff, - 3616 & 0xff, + (3684 >> 8) & 0xff, + 3684 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (599 >> 8) & 0xff, - 599 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (614 >> 8) & 0xff, + 614 & 0xff} } }, { @@ -36603,8 +37148,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3619 >> 8) & 0xff, - 3619 & 0xff, + (3688 >> 8) & 0xff, + 3688 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -36616,8 +37161,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3621 >> 8) & 0xff, - 3621 & 0xff, + (3690 >> 8) & 0xff, + 3690 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -36634,8 +37179,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3623 >> 8) & 0xff, - 3623 & 0xff, + (3692 >> 8) & 0xff, + 3692 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -36647,15 +37192,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3626 >> 8) & 0xff, - 3626 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + (3695 >> 8) & 0xff, + 3695 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (600 >> 8) & 0xff, - 600 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (615 >> 8) & 0xff, + 615 & 0xff} } }, { @@ -36665,8 +37213,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3630 >> 8) & 0xff, - 3630 & 0xff, + (3699 >> 8) & 0xff, + 3699 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -36678,8 +37226,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3631 >> 8) & 0xff, - 3631 & 0xff, + (3700 >> 8) & 0xff, + 3700 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -36696,8 +37244,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3632 >> 8) & 0xff, - 3632 & 0xff, + (3701 >> 8) & 0xff, + 3701 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36712,8 +37260,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3636 >> 8) & 0xff, - 3636 & 0xff, + (3705 >> 8) & 0xff, + 3705 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36730,14 +37278,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3640 >> 8) & 0xff, - 3640 & 0xff, + (3709 >> 8) & 0xff, + 3709 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (601 >> 8) & 0xff, - 601 & 0xff}, + (617 >> 8) & 0xff, + 617 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -36746,14 +37294,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3647 >> 8) & 0xff, - 3647 & 0xff, + (3716 >> 8) & 0xff, + 3716 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (602 >> 8) & 0xff, - 602 & 0xff}, + (618 >> 8) & 0xff, + 618 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -36764,8 +37312,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3654 >> 8) & 0xff, - 3654 & 0xff, + (3723 >> 8) & 0xff, + 3723 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36780,8 +37328,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3659 >> 8) & 0xff, - 3659 & 0xff, + (3728 >> 8) & 0xff, + 3728 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36798,8 +37346,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3664 >> 8) & 0xff, - 3664 & 0xff, + (3733 >> 8) & 0xff, + 3733 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36808,8 +37356,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (603 >> 8) & 0xff, - 603 & 0xff} + (619 >> 8) & 0xff, + 619 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -36817,8 +37365,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3674 >> 8) & 0xff, - 3674 & 0xff, + (3743 >> 8) & 0xff, + 3743 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36827,8 +37375,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (604 >> 8) & 0xff, - 604 & 0xff} + (620 >> 8) & 0xff, + 620 & 0xff} } }, { @@ -36838,8 +37386,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3684 >> 8) & 0xff, - 3684 & 0xff, + (3753 >> 8) & 0xff, + 3753 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36854,8 +37402,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3689 >> 8) & 0xff, - 3689 & 0xff, + (3758 >> 8) & 0xff, + 3758 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36872,8 +37420,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3694 >> 8) & 0xff, - 3694 & 0xff, + (3763 >> 8) & 0xff, + 3763 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36888,8 +37436,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3698 >> 8) & 0xff, - 3698 & 0xff, + (3767 >> 8) & 0xff, + 3767 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36906,14 +37454,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3702 >> 8) & 0xff, - 3702 & 0xff, + (3771 >> 8) & 0xff, + 3771 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (605 >> 8) & 0xff, - 605 & 0xff}, + (621 >> 8) & 0xff, + 621 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { @@ -36922,14 +37470,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3707 >> 8) & 0xff, - 3707 & 0xff, + (3776 >> 8) & 0xff, + 3776 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (606 >> 8) & 0xff, - 606 & 0xff}, + (622 >> 8) & 0xff, + 622 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, @@ -36940,8 +37488,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3712 >> 8) & 0xff, - 3712 & 0xff, + (3781 >> 8) & 0xff, + 3781 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36956,8 +37504,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3716 >> 8) & 0xff, - 3716 & 0xff, + (3785 >> 8) & 0xff, + 3785 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36974,8 +37522,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3720 >> 8) & 0xff, - 3720 & 0xff, + (3789 >> 8) & 0xff, + 3789 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -36990,8 +37538,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3724 >> 8) & 0xff, - 3724 & 0xff, + (3793 >> 8) & 0xff, + 3793 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37008,8 +37556,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3728 >> 8) & 0xff, - 3728 & 0xff, + (3797 >> 8) & 0xff, + 3797 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37018,8 +37566,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (607 >> 8) & 0xff, - 607 & 0xff} + (623 >> 8) & 0xff, + 623 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -37027,8 +37575,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3736 >> 8) & 0xff, - 3736 & 0xff, + (3805 >> 8) & 0xff, + 3805 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37037,8 +37585,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (608 >> 8) & 0xff, - 608 & 0xff} + (624 >> 8) & 0xff, + 624 & 0xff} } }, { @@ -37048,8 +37596,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3744 >> 8) & 0xff, - 3744 & 0xff, + (3813 >> 8) & 0xff, + 3813 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37058,8 +37606,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (609 >> 8) & 0xff, - 609 & 0xff} + (625 >> 8) & 0xff, + 625 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -37067,8 +37615,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3752 >> 8) & 0xff, - 3752 & 0xff, + (3821 >> 8) & 0xff, + 3821 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37077,8 +37625,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (610 >> 8) & 0xff, - 610 & 0xff} + (626 >> 8) & 0xff, + 626 & 0xff} } }, { @@ -37088,8 +37636,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3760 >> 8) & 0xff, - 3760 & 0xff, + (3829 >> 8) & 0xff, + 3829 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37098,8 +37646,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (611 >> 8) & 0xff, - 611 & 0xff} + (627 >> 8) & 0xff, + 627 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -37107,8 +37655,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3768 >> 8) & 0xff, - 3768 & 0xff, + (3837 >> 8) & 0xff, + 3837 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37117,8 +37665,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (612 >> 8) & 0xff, - 612 & 0xff} + (628 >> 8) & 0xff, + 628 & 0xff} } }, { @@ -37128,8 +37676,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3776 >> 8) & 0xff, - 3776 & 0xff, + (3845 >> 8) & 0xff, + 3845 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37138,8 +37686,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (613 >> 8) & 0xff, - 613 & 0xff} + (629 >> 8) & 0xff, + 629 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -37147,8 +37695,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3784 >> 8) & 0xff, - 3784 & 0xff, + (3853 >> 8) & 0xff, + 3853 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37157,8 +37705,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (614 >> 8) & 0xff, - 614 & 0xff} + (630 >> 8) & 0xff, + 630 & 0xff} } }, { @@ -37168,8 +37716,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3792 >> 8) & 0xff, - 3792 & 0xff, + (3861 >> 8) & 0xff, + 3861 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37178,8 +37726,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (615 >> 8) & 0xff, - 615 & 0xff} + (631 >> 8) & 0xff, + 631 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -37187,8 +37735,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3801 >> 8) & 0xff, - 3801 & 0xff, + (3870 >> 8) & 0xff, + 3870 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37197,8 +37745,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (616 >> 8) & 0xff, - 616 & 0xff} + (632 >> 8) & 0xff, + 632 & 0xff} } }, { @@ -37208,8 +37756,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3810 >> 8) & 0xff, - 3810 & 0xff, + (3879 >> 8) & 0xff, + 3879 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37218,8 +37766,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (617 >> 8) & 0xff, - 617 & 0xff} + (633 >> 8) & 0xff, + 633 & 0xff} }, .field_info_spec = { .description = "tids", @@ -37227,8 +37775,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3816 >> 8) & 0xff, - 3816 & 0xff, + (3885 >> 8) & 0xff, + 3885 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37237,8 +37785,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (618 >> 8) & 0xff, - 618 & 0xff} + (634 >> 8) & 0xff, + 634 & 0xff} } }, { @@ -37248,8 +37796,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3822 >> 8) & 0xff, - 3822 & 0xff, + (3891 >> 8) & 0xff, + 3891 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37258,8 +37806,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (619 >> 8) & 0xff, - 619 & 0xff} + (635 >> 8) & 0xff, + 635 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -37267,8 +37815,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3829 >> 8) & 0xff, - 3829 & 0xff, + (3898 >> 8) & 0xff, + 3898 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37277,8 +37825,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (620 >> 8) & 0xff, - 620 & 0xff} + (636 >> 8) & 0xff, + 636 & 0xff} } }, { @@ -37288,8 +37836,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3836 >> 8) & 0xff, - 3836 & 0xff, + (3905 >> 8) & 0xff, + 3905 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37298,8 +37846,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (621 >> 8) & 0xff, - 621 & 0xff} + (637 >> 8) & 0xff, + 637 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -37307,8 +37855,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3843 >> 8) & 0xff, - 3843 & 0xff, + (3912 >> 8) & 0xff, + 3912 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37317,8 +37865,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (622 >> 8) & 0xff, - 622 & 0xff} + (638 >> 8) & 0xff, + 638 & 0xff} } }, { @@ -37328,8 +37876,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3850 >> 8) & 0xff, - 3850 & 0xff, + (3919 >> 8) & 0xff, + 3919 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37338,8 +37886,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (623 >> 8) & 0xff, - 623 & 0xff} + (639 >> 8) & 0xff, + 639 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -37347,8 +37895,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3859 >> 8) & 0xff, - 3859 & 0xff, + (3928 >> 8) & 0xff, + 3928 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37357,8 +37905,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (624 >> 8) & 0xff, - 624 & 0xff} + (640 >> 8) & 0xff, + 640 & 0xff} } }, { @@ -37368,8 +37916,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3868 >> 8) & 0xff, - 3868 & 0xff, + (3937 >> 8) & 0xff, + 3937 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37378,8 +37926,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (625 >> 8) & 0xff, - 625 & 0xff} + (641 >> 8) & 0xff, + 641 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -37387,8 +37935,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3886 >> 8) & 0xff, - 3886 & 0xff, + (3955 >> 8) & 0xff, + 3955 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37397,8 +37945,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (628 >> 8) & 0xff, - 628 & 0xff} + (644 >> 8) & 0xff, + 644 & 0xff} } }, { @@ -37408,8 +37956,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3904 >> 8) & 0xff, - 3904 & 0xff, + (3973 >> 8) & 0xff, + 3973 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37418,8 +37966,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (631 >> 8) & 0xff, - 631 & 0xff} + (647 >> 8) & 0xff, + 647 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -37427,8 +37975,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3913 >> 8) & 0xff, - 3913 & 0xff, + (3982 >> 8) & 0xff, + 3982 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37437,8 +37985,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (632 >> 8) & 0xff, - 632 & 0xff} + (648 >> 8) & 0xff, + 648 & 0xff} } }, { @@ -37448,8 +37996,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3922 >> 8) & 0xff, - 3922 & 0xff, + (3991 >> 8) & 0xff, + 3991 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37458,8 +38006,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (633 >> 8) & 0xff, - 633 & 0xff} + (649 >> 8) & 0xff, + 649 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -37467,8 +38015,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3929 >> 8) & 0xff, - 3929 & 0xff, + (3998 >> 8) & 0xff, + 3998 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37477,8 +38025,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (634 >> 8) & 0xff, - 634 & 0xff} + (650 >> 8) & 0xff, + 650 & 0xff} } }, { @@ -37488,8 +38036,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3936 >> 8) & 0xff, - 3936 & 0xff, + (4005 >> 8) & 0xff, + 4005 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37498,8 +38046,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (635 >> 8) & 0xff, - 635 & 0xff} + (651 >> 8) & 0xff, + 651 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -37507,8 +38055,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3943 >> 8) & 0xff, - 3943 & 0xff, + (4012 >> 8) & 0xff, + 4012 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37517,8 +38065,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (636 >> 8) & 0xff, - 636 & 0xff} + (652 >> 8) & 0xff, + 652 & 0xff} } }, { @@ -37528,8 +38076,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3950 >> 8) & 0xff, - 3950 & 0xff, + (4019 >> 8) & 0xff, + 4019 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37538,8 +38086,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (637 >> 8) & 0xff, - 637 & 0xff} + (653 >> 8) & 0xff, + 653 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -37547,8 +38095,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3957 >> 8) & 0xff, - 3957 & 0xff, + (4026 >> 8) & 0xff, + 4026 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37557,8 +38105,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (638 >> 8) & 0xff, - 638 & 0xff} + (654 >> 8) & 0xff, + 654 & 0xff} } }, { @@ -37568,8 +38116,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3964 >> 8) & 0xff, - 3964 & 0xff, + (4033 >> 8) & 0xff, + 4033 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37578,8 +38126,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (639 >> 8) & 0xff, - 639 & 0xff} + (655 >> 8) & 0xff, + 655 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -37587,8 +38135,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3971 >> 8) & 0xff, - 3971 & 0xff, + (4040 >> 8) & 0xff, + 4040 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37597,8 +38145,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (640 >> 8) & 0xff, - 640 & 0xff} + (656 >> 8) & 0xff, + 656 & 0xff} } }, { @@ -37608,8 +38156,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3978 >> 8) & 0xff, - 3978 & 0xff, + (4047 >> 8) & 0xff, + 4047 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37618,8 +38166,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (641 >> 8) & 0xff, - 641 & 0xff} + (657 >> 8) & 0xff, + 657 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -37627,8 +38175,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3992 >> 8) & 0xff, - 3992 & 0xff, + (4061 >> 8) & 0xff, + 4061 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37637,8 +38185,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (644 >> 8) & 0xff, - 644 & 0xff} + (660 >> 8) & 0xff, + 660 & 0xff} } }, { @@ -37648,8 +38196,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4006 >> 8) & 0xff, - 4006 & 0xff, + (4075 >> 8) & 0xff, + 4075 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37658,8 +38206,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (647 >> 8) & 0xff, - 647 & 0xff} + (663 >> 8) & 0xff, + 663 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -37667,8 +38215,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4020 >> 8) & 0xff, - 4020 & 0xff, + (4089 >> 8) & 0xff, + 4089 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37677,8 +38225,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (650 >> 8) & 0xff, - 650 & 0xff} + (666 >> 8) & 0xff, + 666 & 0xff} } }, { @@ -37688,8 +38236,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4034 >> 8) & 0xff, - 4034 & 0xff, + (4103 >> 8) & 0xff, + 4103 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37698,8 +38246,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (653 >> 8) & 0xff, - 653 & 0xff} + (669 >> 8) & 0xff, + 669 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -37707,8 +38255,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4048 >> 8) & 0xff, - 4048 & 0xff, + (4117 >> 8) & 0xff, + 4117 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37717,8 +38265,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (656 >> 8) & 0xff, - 656 & 0xff} + (672 >> 8) & 0xff, + 672 & 0xff} } }, { @@ -37728,8 +38276,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4062 >> 8) & 0xff, - 4062 & 0xff, + (4131 >> 8) & 0xff, + 4131 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37738,8 +38286,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (659 >> 8) & 0xff, - 659 & 0xff} + (675 >> 8) & 0xff, + 675 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -37747,8 +38295,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4078 >> 8) & 0xff, - 4078 & 0xff, + (4147 >> 8) & 0xff, + 4147 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37757,8 +38305,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (663 >> 8) & 0xff, - 663 & 0xff} + (679 >> 8) & 0xff, + 679 & 0xff} } }, { @@ -37768,8 +38316,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4094 >> 8) & 0xff, - 4094 & 0xff, + (4163 >> 8) & 0xff, + 4163 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37778,8 +38326,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (667 >> 8) & 0xff, - 667 & 0xff} + (683 >> 8) & 0xff, + 683 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -37787,8 +38335,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4110 >> 8) & 0xff, - 4110 & 0xff, + (4179 >> 8) & 0xff, + 4179 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -37797,8 +38345,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (671 >> 8) & 0xff, - 671 & 0xff} + (687 >> 8) & 0xff, + 687 & 0xff} } }, /* class_tid: 2, , table: proto_header_cache.wr */ @@ -37817,8 +38365,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4126 >> 8) & 0xff, - 4126 & 0xff, + (4195 >> 8) & 0xff, + 4195 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -37903,8 +38451,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4132 >> 8) & 0xff, - 4132 & 0xff, + (4201 >> 8) & 0xff, + 4201 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -37986,8 +38534,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4379 >> 8) & 0xff, - 4379 & 0xff, + (4448 >> 8) & 0xff, + 4448 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -37999,8 +38547,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4381 >> 8) & 0xff, - 4381 & 0xff, + (4450 >> 8) & 0xff, + 4450 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -38017,8 +38565,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4383 >> 8) & 0xff, - 4383 & 0xff, + (4452 >> 8) & 0xff, + 4452 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38030,8 +38578,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4385 >> 8) & 0xff, - 4385 & 0xff, + (4454 >> 8) & 0xff, + 4454 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -38048,8 +38596,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4387 >> 8) & 0xff, - 4387 & 0xff, + (4456 >> 8) & 0xff, + 4456 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38061,8 +38609,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4388 >> 8) & 0xff, - 4388 & 0xff, + (4457 >> 8) & 0xff, + 4457 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -38079,8 +38627,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4389 >> 8) & 0xff, - 4389 & 0xff, + (4458 >> 8) & 0xff, + 4458 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38092,8 +38640,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4393 >> 8) & 0xff, - 4393 & 0xff, + (4462 >> 8) & 0xff, + 4462 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38110,8 +38658,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4397 >> 8) & 0xff, - 4397 & 0xff, + (4466 >> 8) & 0xff, + 4466 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38123,8 +38671,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4401 >> 8) & 0xff, - 4401 & 0xff, + (4470 >> 8) & 0xff, + 4470 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38141,8 +38689,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4405 >> 8) & 0xff, - 4405 & 0xff, + (4474 >> 8) & 0xff, + 4474 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38154,8 +38702,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4410 >> 8) & 0xff, - 4410 & 0xff, + (4479 >> 8) & 0xff, + 4479 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38172,15 +38720,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4415 >> 8) & 0xff, - 4415 & 0xff, + (4484 >> 8) & 0xff, + 4484 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (712 >> 8) & 0xff, - 712 & 0xff} + (728 >> 8) & 0xff, + 728 & 0xff} }, .field_info_spec = { .description = "tl2_ivv", @@ -38188,8 +38736,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4425 >> 8) & 0xff, - 4425 & 0xff, + (4494 >> 8) & 0xff, + 4494 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38198,8 +38746,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (713 >> 8) & 0xff, - 713 & 0xff} + (729 >> 8) & 0xff, + 729 & 0xff} } }, { @@ -38209,8 +38757,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4435 >> 8) & 0xff, - 4435 & 0xff, + (4504 >> 8) & 0xff, + 4504 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38222,8 +38770,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4440 >> 8) & 0xff, - 4440 & 0xff, + (4509 >> 8) & 0xff, + 4509 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38240,8 +38788,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4445 >> 8) & 0xff, - 4445 & 0xff, + (4514 >> 8) & 0xff, + 4514 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38253,8 +38801,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4449 >> 8) & 0xff, - 4449 & 0xff, + (4518 >> 8) & 0xff, + 4518 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38271,8 +38819,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4453 >> 8) & 0xff, - 4453 & 0xff, + (4522 >> 8) & 0xff, + 4522 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38284,8 +38832,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4457 >> 8) & 0xff, - 4457 & 0xff, + (4526 >> 8) & 0xff, + 4526 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38302,8 +38850,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4461 >> 8) & 0xff, - 4461 & 0xff, + (4530 >> 8) & 0xff, + 4530 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38315,8 +38863,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4465 >> 8) & 0xff, - 4465 & 0xff, + (4534 >> 8) & 0xff, + 4534 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38333,8 +38881,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4469 >> 8) & 0xff, - 4469 & 0xff, + (4538 >> 8) & 0xff, + 4538 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -38346,8 +38894,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4473 >> 8) & 0xff, - 4473 & 0xff, + (4542 >> 8) & 0xff, + 4542 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38364,15 +38912,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4477 >> 8) & 0xff, - 4477 & 0xff, + (4546 >> 8) & 0xff, + 4546 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (714 >> 8) & 0xff, - 714 & 0xff} + (730 >> 8) & 0xff, + 730 & 0xff} }, .field_info_spec = { .description = "tl3.ttl", @@ -38380,8 +38928,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4485 >> 8) & 0xff, - 4485 & 0xff, + (4554 >> 8) & 0xff, + 4554 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38390,8 +38938,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (715 >> 8) & 0xff, - 715 & 0xff} + (731 >> 8) & 0xff, + 731 & 0xff} } }, { @@ -38401,15 +38949,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4493 >> 8) & 0xff, - 4493 & 0xff, + (4562 >> 8) & 0xff, + 4562 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (716 >> 8) & 0xff, - 716 & 0xff} + (732 >> 8) & 0xff, + 732 & 0xff} }, .field_info_spec = { .description = "tl3.prot", @@ -38417,8 +38965,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4501 >> 8) & 0xff, - 4501 & 0xff, + (4570 >> 8) & 0xff, + 4570 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38427,8 +38975,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (717 >> 8) & 0xff, - 717 & 0xff} + (733 >> 8) & 0xff, + 733 & 0xff} } }, { @@ -38438,15 +38986,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4509 >> 8) & 0xff, - 4509 & 0xff, + (4578 >> 8) & 0xff, + 4578 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (718 >> 8) & 0xff, - 718 & 0xff} + (734 >> 8) & 0xff, + 734 & 0xff} }, .field_info_spec = { .description = "tl3.qos", @@ -38454,8 +39002,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4517 >> 8) & 0xff, - 4517 & 0xff, + (4586 >> 8) & 0xff, + 4586 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38464,8 +39012,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (719 >> 8) & 0xff, - 719 & 0xff} + (735 >> 8) & 0xff, + 735 & 0xff} } }, { @@ -38475,15 +39023,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4525 >> 8) & 0xff, - 4525 & 0xff, + (4594 >> 8) & 0xff, + 4594 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (720 >> 8) & 0xff, - 720 & 0xff} + (736 >> 8) & 0xff, + 736 & 0xff} }, .field_info_spec = { .description = "tl4.src", @@ -38491,8 +39039,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4533 >> 8) & 0xff, - 4533 & 0xff, + (4602 >> 8) & 0xff, + 4602 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38501,8 +39049,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (721 >> 8) & 0xff, - 721 & 0xff} + (737 >> 8) & 0xff, + 737 & 0xff} } }, { @@ -38512,15 +39060,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4541 >> 8) & 0xff, - 4541 & 0xff, + (4610 >> 8) & 0xff, + 4610 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (722 >> 8) & 0xff, - 722 & 0xff} + (738 >> 8) & 0xff, + 738 & 0xff} }, .field_info_spec = { .description = "tl4.dst", @@ -38528,8 +39076,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4550 >> 8) & 0xff, - 4550 & 0xff, + (4619 >> 8) & 0xff, + 4619 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38538,8 +39086,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (723 >> 8) & 0xff, - 723 & 0xff} + (739 >> 8) & 0xff, + 739 & 0xff} } }, { @@ -38549,15 +39097,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4559 >> 8) & 0xff, - 4559 & 0xff, + (4628 >> 8) & 0xff, + 4628 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (724 >> 8) & 0xff, - 724 & 0xff} + (740 >> 8) & 0xff, + 740 & 0xff} }, .field_info_spec = { .description = "tids", @@ -38565,8 +39113,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4565 >> 8) & 0xff, - 4565 & 0xff, + (4634 >> 8) & 0xff, + 4634 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38575,8 +39123,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (725 >> 8) & 0xff, - 725 & 0xff} + (741 >> 8) & 0xff, + 741 & 0xff} } }, { @@ -38586,15 +39134,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4571 >> 8) & 0xff, - 4571 & 0xff, + (4640 >> 8) & 0xff, + 4640 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (726 >> 8) & 0xff, - 726 & 0xff} + (742 >> 8) & 0xff, + 742 & 0xff} }, .field_info_spec = { .description = "l2_dmac", @@ -38602,8 +39150,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4578 >> 8) & 0xff, - 4578 & 0xff, + (4647 >> 8) & 0xff, + 4647 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38612,8 +39160,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (727 >> 8) & 0xff, - 727 & 0xff} + (743 >> 8) & 0xff, + 743 & 0xff} } }, { @@ -38623,15 +39171,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4585 >> 8) & 0xff, - 4585 & 0xff, + (4654 >> 8) & 0xff, + 4654 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (728 >> 8) & 0xff, - 728 & 0xff} + (744 >> 8) & 0xff, + 744 & 0xff} }, .field_info_spec = { .description = "l2_smac", @@ -38639,8 +39187,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4592 >> 8) & 0xff, - 4592 & 0xff, + (4661 >> 8) & 0xff, + 4661 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38649,8 +39197,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (729 >> 8) & 0xff, - 729 & 0xff} + (745 >> 8) & 0xff, + 745 & 0xff} } }, { @@ -38660,15 +39208,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4599 >> 8) & 0xff, - 4599 & 0xff, + (4668 >> 8) & 0xff, + 4668 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (730 >> 8) & 0xff, - 730 & 0xff} + (746 >> 8) & 0xff, + 746 & 0xff} }, .field_info_spec = { .description = "l2_ovv", @@ -38676,8 +39224,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4608 >> 8) & 0xff, - 4608 & 0xff, + (4677 >> 8) & 0xff, + 4677 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38686,8 +39234,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (731 >> 8) & 0xff, - 731 & 0xff} + (747 >> 8) & 0xff, + 747 & 0xff} } }, { @@ -38697,15 +39245,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4617 >> 8) & 0xff, - 4617 & 0xff, + (4686 >> 8) & 0xff, + 4686 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (732 >> 8) & 0xff, - 732 & 0xff} + (748 >> 8) & 0xff, + 748 & 0xff} }, .field_info_spec = { .description = "l2_ivv", @@ -38713,8 +39261,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4635 >> 8) & 0xff, - 4635 & 0xff, + (4704 >> 8) & 0xff, + 4704 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38723,8 +39271,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (735 >> 8) & 0xff, - 735 & 0xff} + (751 >> 8) & 0xff, + 751 & 0xff} } }, { @@ -38734,15 +39282,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4653 >> 8) & 0xff, - 4653 & 0xff, + (4722 >> 8) & 0xff, + 4722 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (738 >> 8) & 0xff, - 738 & 0xff} + (754 >> 8) & 0xff, + 754 & 0xff} }, .field_info_spec = { .description = "l2_etype", @@ -38750,8 +39298,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4662 >> 8) & 0xff, - 4662 & 0xff, + (4731 >> 8) & 0xff, + 4731 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38760,8 +39308,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (739 >> 8) & 0xff, - 739 & 0xff} + (755 >> 8) & 0xff, + 755 & 0xff} } }, { @@ -38771,15 +39319,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4671 >> 8) & 0xff, - 4671 & 0xff, + (4740 >> 8) & 0xff, + 4740 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (740 >> 8) & 0xff, - 740 & 0xff} + (756 >> 8) & 0xff, + 756 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv4", @@ -38787,8 +39335,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4678 >> 8) & 0xff, - 4678 & 0xff, + (4747 >> 8) & 0xff, + 4747 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38797,8 +39345,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (741 >> 8) & 0xff, - 741 & 0xff} + (757 >> 8) & 0xff, + 757 & 0xff} } }, { @@ -38808,15 +39356,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4685 >> 8) & 0xff, - 4685 & 0xff, + (4754 >> 8) & 0xff, + 4754 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (742 >> 8) & 0xff, - 742 & 0xff} + (758 >> 8) & 0xff, + 758 & 0xff} }, .field_info_spec = { .description = "l3.sip.ipv6", @@ -38824,8 +39372,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4692 >> 8) & 0xff, - 4692 & 0xff, + (4761 >> 8) & 0xff, + 4761 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38834,8 +39382,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (743 >> 8) & 0xff, - 743 & 0xff} + (759 >> 8) & 0xff, + 759 & 0xff} } }, { @@ -38845,15 +39393,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4699 >> 8) & 0xff, - 4699 & 0xff, + (4768 >> 8) & 0xff, + 4768 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (744 >> 8) & 0xff, - 744 & 0xff} + (760 >> 8) & 0xff, + 760 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv4", @@ -38861,8 +39409,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4706 >> 8) & 0xff, - 4706 & 0xff, + (4775 >> 8) & 0xff, + 4775 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38871,8 +39419,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (745 >> 8) & 0xff, - 745 & 0xff} + (761 >> 8) & 0xff, + 761 & 0xff} } }, { @@ -38882,15 +39430,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4713 >> 8) & 0xff, - 4713 & 0xff, + (4782 >> 8) & 0xff, + 4782 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (746 >> 8) & 0xff, - 746 & 0xff} + (762 >> 8) & 0xff, + 762 & 0xff} }, .field_info_spec = { .description = "l3.dip.ipv6", @@ -38898,8 +39446,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4720 >> 8) & 0xff, - 4720 & 0xff, + (4789 >> 8) & 0xff, + 4789 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38908,8 +39456,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (747 >> 8) & 0xff, - 747 & 0xff} + (763 >> 8) & 0xff, + 763 & 0xff} } }, { @@ -38919,15 +39467,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4727 >> 8) & 0xff, - 4727 & 0xff, + (4796 >> 8) & 0xff, + 4796 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (748 >> 8) & 0xff, - 748 & 0xff} + (764 >> 8) & 0xff, + 764 & 0xff} }, .field_info_spec = { .description = "l3.ttl", @@ -38935,8 +39483,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4741 >> 8) & 0xff, - 4741 & 0xff, + (4810 >> 8) & 0xff, + 4810 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38945,8 +39493,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (751 >> 8) & 0xff, - 751 & 0xff} + (767 >> 8) & 0xff, + 767 & 0xff} } }, { @@ -38956,15 +39504,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4755 >> 8) & 0xff, - 4755 & 0xff, + (4824 >> 8) & 0xff, + 4824 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (754 >> 8) & 0xff, - 754 & 0xff} + (770 >> 8) & 0xff, + 770 & 0xff} }, .field_info_spec = { .description = "l3.prot", @@ -38972,8 +39520,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4769 >> 8) & 0xff, - 4769 & 0xff, + (4838 >> 8) & 0xff, + 4838 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38982,8 +39530,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (757 >> 8) & 0xff, - 757 & 0xff} + (773 >> 8) & 0xff, + 773 & 0xff} } }, { @@ -38993,15 +39541,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4783 >> 8) & 0xff, - 4783 & 0xff, + (4852 >> 8) & 0xff, + 4852 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (760 >> 8) & 0xff, - 760 & 0xff} + (776 >> 8) & 0xff, + 776 & 0xff} }, .field_info_spec = { .description = "l3.qos", @@ -39009,8 +39557,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4797 >> 8) & 0xff, - 4797 & 0xff, + (4866 >> 8) & 0xff, + 4866 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39019,8 +39567,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (763 >> 8) & 0xff, - 763 & 0xff} + (779 >> 8) & 0xff, + 779 & 0xff} } }, { @@ -39030,15 +39578,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4811 >> 8) & 0xff, - 4811 & 0xff, + (4880 >> 8) & 0xff, + 4880 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (766 >> 8) & 0xff, - 766 & 0xff} + (782 >> 8) & 0xff, + 782 & 0xff} }, .field_info_spec = { .description = "l4.src", @@ -39046,8 +39594,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4825 >> 8) & 0xff, - 4825 & 0xff, + (4894 >> 8) & 0xff, + 4894 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39056,8 +39604,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (769 >> 8) & 0xff, - 769 & 0xff} + (785 >> 8) & 0xff, + 785 & 0xff} } }, { @@ -39067,15 +39615,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4839 >> 8) & 0xff, - 4839 & 0xff, + (4908 >> 8) & 0xff, + 4908 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (772 >> 8) & 0xff, - 772 & 0xff} + (788 >> 8) & 0xff, + 788 & 0xff} }, .field_info_spec = { .description = "l4.dst", @@ -39083,8 +39631,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4853 >> 8) & 0xff, - 4853 & 0xff, + (4922 >> 8) & 0xff, + 4922 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39093,8 +39641,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (775 >> 8) & 0xff, - 775 & 0xff} + (791 >> 8) & 0xff, + 791 & 0xff} } }, /* class_tid: 2, , table: em_flow_conflict_cache.wr */ @@ -39127,8 +39675,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4867 >> 8) & 0xff, - 4867 & 0xff, + (4936 >> 8) & 0xff, + 4936 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -45228,8 +45776,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4905 >> 8) & 0xff, - 4905 & 0xff, + (4974 >> 8) & 0xff, + 4974 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46006,8 +46554,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4908 >> 8) & 0xff, - 4908 & 0xff, + (4977 >> 8) & 0xff, + 4977 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46166,8 +46714,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (146 >> 8) & 0xff, - 146 & 0xff, + (148 >> 8) & 0xff, + 148 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46184,8 +46732,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (149 >> 8) & 0xff, - 149 & 0xff, + (151 >> 8) & 0xff, + 151 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46202,8 +46750,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (152 >> 8) & 0xff, - 152 & 0xff, + (154 >> 8) & 0xff, + 154 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46220,8 +46768,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (154 >> 8) & 0xff, - 154 & 0xff, + (156 >> 8) & 0xff, + 156 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46238,8 +46786,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (156 >> 8) & 0xff, - 156 & 0xff, + (158 >> 8) & 0xff, + 158 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46253,8 +46801,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (189 >> 8) & 0xff, - 189 & 0xff, + (191 >> 8) & 0xff, + 191 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46268,8 +46816,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (203 >> 8) & 0xff, - 203 & 0xff, + (205 >> 8) & 0xff, + 205 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46283,8 +46831,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (204 >> 8) & 0xff, - 204 & 0xff, + (206 >> 8) & 0xff, + 206 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46298,8 +46846,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (212 >> 8) & 0xff, - 212 & 0xff, + (214 >> 8) & 0xff, + 214 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46313,8 +46861,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (220 >> 8) & 0xff, - 220 & 0xff, + (222 >> 8) & 0xff, + 222 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46328,8 +46876,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (228 >> 8) & 0xff, - 228 & 0xff, + (230 >> 8) & 0xff, + 230 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46343,8 +46891,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (236 >> 8) & 0xff, - 236 & 0xff, + (238 >> 8) & 0xff, + 238 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46358,8 +46906,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (244 >> 8) & 0xff, - 244 & 0xff, + (246 >> 8) & 0xff, + 246 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46373,8 +46921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (253 >> 8) & 0xff, - 253 & 0xff, + (255 >> 8) & 0xff, + 255 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46388,8 +46936,26 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (260 >> 8) & 0xff, - 260 & 0xff, + (262 >> 8) & 0xff, + 262 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (20 >> 8) & 0xff, + 20 & 0xff} + }, + { + .description = "tids.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (265 >> 8) & 0xff, + 265 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46403,8 +46969,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (267 >> 8) & 0xff, - 267 & 0xff, + (275 >> 8) & 0xff, + 275 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46418,8 +46984,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (274 >> 8) & 0xff, - 274 & 0xff, + (282 >> 8) & 0xff, + 282 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46433,8 +46999,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (282 >> 8) & 0xff, - 282 & 0xff, + (290 >> 8) & 0xff, + 290 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46448,8 +47014,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (291 >> 8) & 0xff, - 291 & 0xff, + (299 >> 8) & 0xff, + 299 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46457,8 +47023,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (24 >> 8) & 0xff, - 24 & 0xff} + (25 >> 8) & 0xff, + 25 & 0xff} }, { .description = "l2_ivv.en", @@ -46466,8 +47032,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (296 >> 8) & 0xff, - 296 & 0xff, + (304 >> 8) & 0xff, + 304 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46475,8 +47041,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (25 >> 8) & 0xff, - 25 & 0xff} + (26 >> 8) & 0xff, + 26 & 0xff} }, { .description = "l2_ivv.en", @@ -46484,8 +47050,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (300 >> 8) & 0xff, - 300 & 0xff, + (308 >> 8) & 0xff, + 308 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46499,8 +47065,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (309 >> 8) & 0xff, - 309 & 0xff, + (317 >> 8) & 0xff, + 317 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46514,8 +47080,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (318 >> 8) & 0xff, - 318 & 0xff, + (326 >> 8) & 0xff, + 326 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46523,8 +47089,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (28 >> 8) & 0xff, - 28 & 0xff} + (29 >> 8) & 0xff, + 29 & 0xff} }, { .description = "l3_sip.en", @@ -46532,8 +47098,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (323 >> 8) & 0xff, - 323 & 0xff, + (331 >> 8) & 0xff, + 331 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46541,8 +47107,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (29 >> 8) & 0xff, - 29 & 0xff} + (30 >> 8) & 0xff, + 30 & 0xff} }, { .description = "l3_sip.en", @@ -46550,8 +47116,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (327 >> 8) & 0xff, - 327 & 0xff, + (335 >> 8) & 0xff, + 335 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46565,8 +47131,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (336 >> 8) & 0xff, - 336 & 0xff, + (344 >> 8) & 0xff, + 344 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46574,8 +47140,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (31 >> 8) & 0xff, - 31 & 0xff} + (32 >> 8) & 0xff, + 32 & 0xff} }, { .description = "l3_dip.en", @@ -46583,8 +47149,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (341 >> 8) & 0xff, - 341 & 0xff, + (349 >> 8) & 0xff, + 349 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46592,8 +47158,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (32 >> 8) & 0xff, - 32 & 0xff} + (33 >> 8) & 0xff, + 33 & 0xff} }, { .description = "l3_dip.en", @@ -46601,8 +47167,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (345 >> 8) & 0xff, - 345 & 0xff, + (353 >> 8) & 0xff, + 353 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46616,8 +47182,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (354 >> 8) & 0xff, - 354 & 0xff, + (362 >> 8) & 0xff, + 362 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46625,8 +47191,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (34 >> 8) & 0xff, - 34 & 0xff} + (35 >> 8) & 0xff, + 35 & 0xff} }, { .description = "l3_ttl.en", @@ -46634,8 +47200,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (359 >> 8) & 0xff, - 359 & 0xff, + (367 >> 8) & 0xff, + 367 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46643,8 +47209,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (35 >> 8) & 0xff, - 35 & 0xff} + (36 >> 8) & 0xff, + 36 & 0xff} }, { .description = "l3_ttl.en", @@ -46652,8 +47218,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (363 >> 8) & 0xff, - 363 & 0xff, + (371 >> 8) & 0xff, + 371 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46667,8 +47233,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (372 >> 8) & 0xff, - 372 & 0xff, + (380 >> 8) & 0xff, + 380 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46676,8 +47242,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (37 >> 8) & 0xff, - 37 & 0xff} + (38 >> 8) & 0xff, + 38 & 0xff} }, { .description = "l3_prot.en", @@ -46685,8 +47251,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (377 >> 8) & 0xff, - 377 & 0xff, + (385 >> 8) & 0xff, + 385 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46694,8 +47260,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (38 >> 8) & 0xff, - 38 & 0xff} + (39 >> 8) & 0xff, + 39 & 0xff} }, { .description = "l3_prot.en", @@ -46703,8 +47269,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (381 >> 8) & 0xff, - 381 & 0xff, + (389 >> 8) & 0xff, + 389 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46718,8 +47284,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (390 >> 8) & 0xff, - 390 & 0xff, + (398 >> 8) & 0xff, + 398 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46727,8 +47293,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (40 >> 8) & 0xff, - 40 & 0xff} + (41 >> 8) & 0xff, + 41 & 0xff} }, { .description = "l3_qos.en", @@ -46736,8 +47302,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (395 >> 8) & 0xff, - 395 & 0xff, + (403 >> 8) & 0xff, + 403 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46745,8 +47311,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (41 >> 8) & 0xff, - 41 & 0xff} + (42 >> 8) & 0xff, + 42 & 0xff} }, { .description = "l3_qos.en", @@ -46754,8 +47320,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (399 >> 8) & 0xff, - 399 & 0xff, + (407 >> 8) & 0xff, + 407 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46769,8 +47335,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (405 >> 8) & 0xff, - 405 & 0xff, + (413 >> 8) & 0xff, + 413 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46784,14 +47350,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (408 >> 8) & 0xff, - 408 & 0xff, + (416 >> 8) & 0xff, + 416 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (44 >> 8) & 0xff, - 44 & 0xff}, + (45 >> 8) & 0xff, + 45 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -46800,8 +47366,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (409 >> 8) & 0xff, - 409 & 0xff, + (417 >> 8) & 0xff, + 417 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46815,8 +47381,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (414 >> 8) & 0xff, - 414 & 0xff, + (422 >> 8) & 0xff, + 422 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46830,14 +47396,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (417 >> 8) & 0xff, - 417 & 0xff, + (425 >> 8) & 0xff, + 425 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (47 >> 8) & 0xff, - 47 & 0xff}, + (48 >> 8) & 0xff, + 48 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -46846,8 +47412,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (418 >> 8) & 0xff, - 418 & 0xff, + (426 >> 8) & 0xff, + 426 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46861,8 +47427,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (465 >> 8) & 0xff, - 465 & 0xff, + (473 >> 8) & 0xff, + 473 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46874,8 +47440,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (475 >> 8) & 0xff, - 475 & 0xff, + (483 >> 8) & 0xff, + 483 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46887,8 +47453,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (502 >> 8) & 0xff, - 502 & 0xff, + (510 >> 8) & 0xff, + 510 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46900,8 +47466,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (507 >> 8) & 0xff, - 507 & 0xff, + (515 >> 8) & 0xff, + 515 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46913,8 +47479,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (528 >> 8) & 0xff, - 528 & 0xff, + (536 >> 8) & 0xff, + 536 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46926,8 +47492,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (536 >> 8) & 0xff, - 536 & 0xff, + (544 >> 8) & 0xff, + 544 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46939,8 +47505,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (544 >> 8) & 0xff, - 544 & 0xff, + (552 >> 8) & 0xff, + 552 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46952,8 +47518,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (552 >> 8) & 0xff, - 552 & 0xff, + (560 >> 8) & 0xff, + 560 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46965,8 +47531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (560 >> 8) & 0xff, - 560 & 0xff, + (568 >> 8) & 0xff, + 568 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -46978,8 +47544,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (568 >> 8) & 0xff, - 568 & 0xff, + (576 >> 8) & 0xff, + 576 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46991,8 +47557,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (576 >> 8) & 0xff, - 576 & 0xff, + (584 >> 8) & 0xff, + 584 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47004,8 +47570,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (584 >> 8) & 0xff, - 584 & 0xff, + (592 >> 8) & 0xff, + 592 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47017,8 +47583,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (593 >> 8) & 0xff, - 593 & 0xff, + (601 >> 8) & 0xff, + 601 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47030,8 +47596,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (602 >> 8) & 0xff, - 602 & 0xff, + (610 >> 8) & 0xff, + 610 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47043,8 +47609,23 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (609 >> 8) & 0xff, - 609 & 0xff, + (617 >> 8) & 0xff, + 617 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (64 >> 8) & 0xff, + 64 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (620 >> 8) & 0xff, + 620 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47056,8 +47637,23 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (615 >> 8) & 0xff, - 615 & 0xff, + (626 >> 8) & 0xff, + 626 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (66 >> 8) & 0xff, + 66 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (629 >> 8) & 0xff, + 629 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47069,8 +47665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (622 >> 8) & 0xff, - 622 & 0xff, + (642 >> 8) & 0xff, + 642 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47082,8 +47678,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (629 >> 8) & 0xff, - 629 & 0xff, + (649 >> 8) & 0xff, + 649 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47095,8 +47691,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (636 >> 8) & 0xff, - 636 & 0xff, + (656 >> 8) & 0xff, + 656 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47108,8 +47704,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (643 >> 8) & 0xff, - 643 & 0xff, + (663 >> 8) & 0xff, + 663 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47121,8 +47717,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (651 >> 8) & 0xff, - 651 & 0xff, + (671 >> 8) & 0xff, + 671 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47134,8 +47730,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (660 >> 8) & 0xff, - 660 & 0xff, + (680 >> 8) & 0xff, + 680 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47147,15 +47743,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (669 >> 8) & 0xff, - 669 & 0xff, + (689 >> 8) & 0xff, + 689 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (71 >> 8) & 0xff, - 71 & 0xff} + (74 >> 8) & 0xff, + 74 & 0xff} }, { .description = "l2_ivv", @@ -47163,15 +47759,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (674 >> 8) & 0xff, - 674 & 0xff, + (694 >> 8) & 0xff, + 694 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (72 >> 8) & 0xff, - 72 & 0xff} + (75 >> 8) & 0xff, + 75 & 0xff} }, { .description = "l2_ivv", @@ -47179,8 +47775,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (678 >> 8) & 0xff, - 678 & 0xff, + (698 >> 8) & 0xff, + 698 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47192,15 +47788,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (687 >> 8) & 0xff, - 687 & 0xff, + (707 >> 8) & 0xff, + 707 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (74 >> 8) & 0xff, - 74 & 0xff} + (77 >> 8) & 0xff, + 77 & 0xff} }, { .description = "l2_ivv", @@ -47208,15 +47804,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (692 >> 8) & 0xff, - 692 & 0xff, + (712 >> 8) & 0xff, + 712 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (75 >> 8) & 0xff, - 75 & 0xff} + (78 >> 8) & 0xff, + 78 & 0xff} }, { .description = "l2_ivv", @@ -47224,8 +47820,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (696 >> 8) & 0xff, - 696 & 0xff, + (716 >> 8) & 0xff, + 716 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47237,8 +47833,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (705 >> 8) & 0xff, - 705 & 0xff, + (725 >> 8) & 0xff, + 725 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47250,8 +47846,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (714 >> 8) & 0xff, - 714 & 0xff, + (734 >> 8) & 0xff, + 734 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47263,8 +47859,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (722 >> 8) & 0xff, - 722 & 0xff, + (742 >> 8) & 0xff, + 742 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47276,8 +47872,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (729 >> 8) & 0xff, - 729 & 0xff, + (749 >> 8) & 0xff, + 749 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47289,8 +47885,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (736 >> 8) & 0xff, - 736 & 0xff, + (756 >> 8) & 0xff, + 756 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47302,8 +47898,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (743 >> 8) & 0xff, - 743 & 0xff, + (763 >> 8) & 0xff, + 763 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47315,8 +47911,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (750 >> 8) & 0xff, - 750 & 0xff, + (770 >> 8) & 0xff, + 770 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47328,8 +47924,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (757 >> 8) & 0xff, - 757 & 0xff, + (777 >> 8) & 0xff, + 777 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47341,8 +47937,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (764 >> 8) & 0xff, - 764 & 0xff, + (784 >> 8) & 0xff, + 784 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47354,8 +47950,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (771 >> 8) & 0xff, - 771 & 0xff, + (791 >> 8) & 0xff, + 791 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47367,15 +47963,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (778 >> 8) & 0xff, - 778 & 0xff, + (798 >> 8) & 0xff, + 798 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (87 >> 8) & 0xff, - 87 & 0xff} + (90 >> 8) & 0xff, + 90 & 0xff} }, { .description = "l3.ttl", @@ -47383,15 +47979,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (782 >> 8) & 0xff, - 782 & 0xff, + (802 >> 8) & 0xff, + 802 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (88 >> 8) & 0xff, - 88 & 0xff} + (91 >> 8) & 0xff, + 91 & 0xff} }, { .description = "l3.ttl", @@ -47399,8 +47995,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (785 >> 8) & 0xff, - 785 & 0xff, + (805 >> 8) & 0xff, + 805 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47412,15 +48008,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (792 >> 8) & 0xff, - 792 & 0xff, + (812 >> 8) & 0xff, + 812 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (90 >> 8) & 0xff, - 90 & 0xff} + (93 >> 8) & 0xff, + 93 & 0xff} }, { .description = "l3.ttl", @@ -47428,15 +48024,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (796 >> 8) & 0xff, - 796 & 0xff, + (816 >> 8) & 0xff, + 816 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (91 >> 8) & 0xff, - 91 & 0xff} + (94 >> 8) & 0xff, + 94 & 0xff} }, { .description = "l3.ttl", @@ -47444,8 +48040,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (799 >> 8) & 0xff, - 799 & 0xff, + (819 >> 8) & 0xff, + 819 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47457,15 +48053,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (805 >> 8) & 0xff, - 805 & 0xff, + (825 >> 8) & 0xff, + 825 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (93 >> 8) & 0xff, - 93 & 0xff} + (96 >> 8) & 0xff, + 96 & 0xff} }, { .description = "l3.prot", @@ -47473,15 +48069,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (808 >> 8) & 0xff, - 808 & 0xff, + (828 >> 8) & 0xff, + 828 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (94 >> 8) & 0xff, - 94 & 0xff} + (97 >> 8) & 0xff, + 97 & 0xff} }, { .description = "l3.prot", @@ -47489,15 +48085,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (810 >> 8) & 0xff, - 810 & 0xff, + (830 >> 8) & 0xff, + 830 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (95 >> 8) & 0xff, - 95 & 0xff} + (98 >> 8) & 0xff, + 98 & 0xff} }, { .description = "l3.prot", @@ -47505,15 +48101,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (812 >> 8) & 0xff, - 812 & 0xff, + (832 >> 8) & 0xff, + 832 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (96 >> 8) & 0xff, - 96 & 0xff} + (99 >> 8) & 0xff, + 99 & 0xff} }, { .description = "l3.prot", @@ -47521,15 +48117,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (816 >> 8) & 0xff, - 816 & 0xff, + (836 >> 8) & 0xff, + 836 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (97 >> 8) & 0xff, - 97 & 0xff} + (100 >> 8) & 0xff, + 100 & 0xff} }, { .description = "l3.prot", @@ -47537,15 +48133,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (820 >> 8) & 0xff, - 820 & 0xff, + (840 >> 8) & 0xff, + 840 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (98 >> 8) & 0xff, - 98 & 0xff} + (101 >> 8) & 0xff, + 101 & 0xff} }, { .description = "l3.prot", @@ -47553,8 +48149,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (823 >> 8) & 0xff, - 823 & 0xff, + (843 >> 8) & 0xff, + 843 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47566,15 +48162,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (829 >> 8) & 0xff, - 829 & 0xff, + (849 >> 8) & 0xff, + 849 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (100 >> 8) & 0xff, - 100 & 0xff} + (103 >> 8) & 0xff, + 103 & 0xff} }, { .description = "l3.prot", @@ -47582,15 +48178,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (832 >> 8) & 0xff, - 832 & 0xff, + (852 >> 8) & 0xff, + 852 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (101 >> 8) & 0xff, - 101 & 0xff} + (104 >> 8) & 0xff, + 104 & 0xff} }, { .description = "l3.prot", @@ -47598,15 +48194,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (834 >> 8) & 0xff, - 834 & 0xff, + (854 >> 8) & 0xff, + 854 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (102 >> 8) & 0xff, - 102 & 0xff} + (105 >> 8) & 0xff, + 105 & 0xff} }, { .description = "l3.prot", @@ -47614,15 +48210,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (836 >> 8) & 0xff, - 836 & 0xff, + (856 >> 8) & 0xff, + 856 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (103 >> 8) & 0xff, - 103 & 0xff} + (106 >> 8) & 0xff, + 106 & 0xff} }, { .description = "l3.prot", @@ -47630,15 +48226,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (840 >> 8) & 0xff, - 840 & 0xff, + (860 >> 8) & 0xff, + 860 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (104 >> 8) & 0xff, - 104 & 0xff} + (107 >> 8) & 0xff, + 107 & 0xff} }, { .description = "l3.prot", @@ -47646,15 +48242,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (844 >> 8) & 0xff, - 844 & 0xff, + (864 >> 8) & 0xff, + 864 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (105 >> 8) & 0xff, - 105 & 0xff} + (108 >> 8) & 0xff, + 108 & 0xff} }, { .description = "l3.prot", @@ -47662,8 +48258,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (847 >> 8) & 0xff, - 847 & 0xff, + (867 >> 8) & 0xff, + 867 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47675,15 +48271,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (854 >> 8) & 0xff, - 854 & 0xff, + (874 >> 8) & 0xff, + 874 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (107 >> 8) & 0xff, - 107 & 0xff} + (110 >> 8) & 0xff, + 110 & 0xff} }, { .description = "l3.qos", @@ -47691,15 +48287,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (858 >> 8) & 0xff, - 858 & 0xff, + (878 >> 8) & 0xff, + 878 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (108 >> 8) & 0xff, - 108 & 0xff} + (111 >> 8) & 0xff, + 111 & 0xff} }, { .description = "l3.qos", @@ -47707,8 +48303,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (861 >> 8) & 0xff, - 861 & 0xff, + (881 >> 8) & 0xff, + 881 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -47720,15 +48316,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (868 >> 8) & 0xff, - 868 & 0xff, + (888 >> 8) & 0xff, + 888 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (110 >> 8) & 0xff, - 110 & 0xff} + (113 >> 8) & 0xff, + 113 & 0xff} }, { .description = "l3.qos", @@ -47736,15 +48332,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (872 >> 8) & 0xff, - 872 & 0xff, + (892 >> 8) & 0xff, + 892 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (111 >> 8) & 0xff, - 111 & 0xff} + (114 >> 8) & 0xff, + 114 & 0xff} }, { .description = "l3.qos", @@ -47752,8 +48348,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (875 >> 8) & 0xff, - 875 & 0xff, + (895 >> 8) & 0xff, + 895 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47765,15 +48361,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (882 >> 8) & 0xff, - 882 & 0xff, + (902 >> 8) & 0xff, + 902 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (113 >> 8) & 0xff, - 113 & 0xff} + (116 >> 8) & 0xff, + 116 & 0xff} }, { .description = "l4.src", @@ -47781,15 +48377,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (886 >> 8) & 0xff, - 886 & 0xff, + (906 >> 8) & 0xff, + 906 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (114 >> 8) & 0xff, - 114 & 0xff} + (117 >> 8) & 0xff, + 117 & 0xff} }, { .description = "l4.src", @@ -47797,15 +48393,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (889 >> 8) & 0xff, - 889 & 0xff, + (909 >> 8) & 0xff, + 909 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (115 >> 8) & 0xff, - 115 & 0xff} + (118 >> 8) & 0xff, + 118 & 0xff} }, { .description = "l4.src", @@ -47813,8 +48409,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (892 >> 8) & 0xff, - 892 & 0xff, + (912 >> 8) & 0xff, + 912 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -47826,15 +48422,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (898 >> 8) & 0xff, - 898 & 0xff, + (918 >> 8) & 0xff, + 918 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (117 >> 8) & 0xff, - 117 & 0xff} + (120 >> 8) & 0xff, + 120 & 0xff} }, { .description = "l4.src", @@ -47842,15 +48438,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (902 >> 8) & 0xff, - 902 & 0xff, + (922 >> 8) & 0xff, + 922 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (118 >> 8) & 0xff, - 118 & 0xff} + (121 >> 8) & 0xff, + 121 & 0xff} }, { .description = "l4.src", @@ -47858,15 +48454,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (905 >> 8) & 0xff, - 905 & 0xff, + (925 >> 8) & 0xff, + 925 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (119 >> 8) & 0xff, - 119 & 0xff} + (122 >> 8) & 0xff, + 122 & 0xff} }, { .description = "l4.src", @@ -47874,8 +48470,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (908 >> 8) & 0xff, - 908 & 0xff, + (928 >> 8) & 0xff, + 928 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -47887,15 +48483,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (914 >> 8) & 0xff, - 914 & 0xff, + (934 >> 8) & 0xff, + 934 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (121 >> 8) & 0xff, - 121 & 0xff} + (124 >> 8) & 0xff, + 124 & 0xff} }, { .description = "l4.dst", @@ -47903,15 +48499,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (918 >> 8) & 0xff, - 918 & 0xff, + (938 >> 8) & 0xff, + 938 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (122 >> 8) & 0xff, - 122 & 0xff} + (125 >> 8) & 0xff, + 125 & 0xff} }, { .description = "l4.dst", @@ -47919,15 +48515,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (921 >> 8) & 0xff, - 921 & 0xff, + (941 >> 8) & 0xff, + 941 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (123 >> 8) & 0xff, - 123 & 0xff} + (126 >> 8) & 0xff, + 126 & 0xff} }, { .description = "l4.dst", @@ -47935,8 +48531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (924 >> 8) & 0xff, - 924 & 0xff, + (944 >> 8) & 0xff, + 944 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -47948,15 +48544,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (930 >> 8) & 0xff, - 930 & 0xff, + (950 >> 8) & 0xff, + 950 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (125 >> 8) & 0xff, - 125 & 0xff} + (128 >> 8) & 0xff, + 128 & 0xff} }, { .description = "l4.dst", @@ -47964,15 +48560,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (934 >> 8) & 0xff, - 934 & 0xff, + (954 >> 8) & 0xff, + 954 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (126 >> 8) & 0xff, - 126 & 0xff} + (129 >> 8) & 0xff, + 129 & 0xff} }, { .description = "l4.dst", @@ -47980,15 +48576,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (937 >> 8) & 0xff, - 937 & 0xff, + (957 >> 8) & 0xff, + 957 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (127 >> 8) & 0xff, - 127 & 0xff} + (130 >> 8) & 0xff, + 130 & 0xff} }, { .description = "l4.dst", @@ -47996,8 +48592,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (940 >> 8) & 0xff, - 940 & 0xff, + (960 >> 8) & 0xff, + 960 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -48010,15 +48606,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (945 >> 8) & 0xff, - 945 & 0xff, + (965 >> 8) & 0xff, + 965 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (129 >> 8) & 0xff, - 129 & 0xff} + (132 >> 8) & 0xff, + 132 & 0xff} }, { .description = "", @@ -48026,15 +48622,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (947 >> 8) & 0xff, - 947 & 0xff, + (967 >> 8) & 0xff, + 967 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (130 >> 8) & 0xff, - 130 & 0xff} + (133 >> 8) & 0xff, + 133 & 0xff} }, { .description = "", @@ -48042,15 +48638,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (949 >> 8) & 0xff, - 949 & 0xff, + (969 >> 8) & 0xff, + 969 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (131 >> 8) & 0xff, - 131 & 0xff} + (134 >> 8) & 0xff, + 134 & 0xff} }, { .description = "", @@ -48058,15 +48654,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (951 >> 8) & 0xff, - 951 & 0xff, + (971 >> 8) & 0xff, + 971 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (132 >> 8) & 0xff, - 132 & 0xff} + (135 >> 8) & 0xff, + 135 & 0xff} }, { .description = "", @@ -48074,8 +48670,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (953 >> 8) & 0xff, - 953 & 0xff, + (973 >> 8) & 0xff, + 973 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48083,8 +48679,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (133 >> 8) & 0xff, - 133 & 0xff} + (136 >> 8) & 0xff, + 136 & 0xff} }, { .description = "", @@ -48092,8 +48688,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (955 >> 8) & 0xff, - 955 & 0xff, + (975 >> 8) & 0xff, + 975 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48101,8 +48697,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (134 >> 8) & 0xff, - 134 & 0xff} + (137 >> 8) & 0xff, + 137 & 0xff} }, { .description = "", @@ -48110,8 +48706,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (957 >> 8) & 0xff, - 957 & 0xff, + (977 >> 8) & 0xff, + 977 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48119,8 +48715,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (135 >> 8) & 0xff, - 135 & 0xff} + (138 >> 8) & 0xff, + 138 & 0xff} }, { .description = "", @@ -48128,8 +48724,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (959 >> 8) & 0xff, - 959 & 0xff, + (979 >> 8) & 0xff, + 979 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48145,15 +48741,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (963 >> 8) & 0xff, - 963 & 0xff, + (983 >> 8) & 0xff, + 983 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (137 >> 8) & 0xff, - 137 & 0xff} + (140 >> 8) & 0xff, + 140 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -48161,15 +48757,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (965 >> 8) & 0xff, - 965 & 0xff, + (985 >> 8) & 0xff, + 985 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (138 >> 8) & 0xff, - 138 & 0xff} + (141 >> 8) & 0xff, + 141 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -48177,8 +48773,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (967 >> 8) & 0xff, - 967 & 0xff, + (987 >> 8) & 0xff, + 987 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48190,8 +48786,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (971 >> 8) & 0xff, - 971 & 0xff, + (991 >> 8) & 0xff, + 991 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48199,8 +48795,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (140 >> 8) & 0xff, - 140 & 0xff} + (143 >> 8) & 0xff, + 143 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -48208,8 +48804,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (973 >> 8) & 0xff, - 973 & 0xff, + (993 >> 8) & 0xff, + 993 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48217,8 +48813,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (141 >> 8) & 0xff, - 141 & 0xff} + (144 >> 8) & 0xff, + 144 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -48226,8 +48822,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (975 >> 8) & 0xff, - 975 & 0xff, + (995 >> 8) & 0xff, + 995 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48241,15 +48837,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (979 >> 8) & 0xff, - 979 & 0xff, + (999 >> 8) & 0xff, + 999 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (143 >> 8) & 0xff, - 143 & 0xff} + (146 >> 8) & 0xff, + 146 & 0xff} }, { .description = "l4_hdr_type", @@ -48257,15 +48853,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (981 >> 8) & 0xff, - 981 & 0xff, + (1001 >> 8) & 0xff, + 1001 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (144 >> 8) & 0xff, - 144 & 0xff} + (147 >> 8) & 0xff, + 147 & 0xff} }, { .description = "l4_hdr_type", @@ -48273,8 +48869,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (983 >> 8) & 0xff, - 983 & 0xff, + (1003 >> 8) & 0xff, + 1003 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48286,15 +48882,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (987 >> 8) & 0xff, - 987 & 0xff, + (1007 >> 8) & 0xff, + 1007 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (146 >> 8) & 0xff, - 146 & 0xff} + (149 >> 8) & 0xff, + 149 & 0xff} }, { .description = "l4_hdr_type", @@ -48302,8 +48898,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (989 >> 8) & 0xff, - 989 & 0xff, + (1009 >> 8) & 0xff, + 1009 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48311,8 +48907,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_TYPE_UDP}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (147 >> 8) & 0xff, - 147 & 0xff} + (150 >> 8) & 0xff, + 150 & 0xff} }, { .description = "l4_hdr_type", @@ -48320,8 +48916,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (991 >> 8) & 0xff, - 991 & 0xff, + (1011 >> 8) & 0xff, + 1011 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48335,15 +48931,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (995 >> 8) & 0xff, - 995 & 0xff, + (1015 >> 8) & 0xff, + 1015 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (149 >> 8) & 0xff, - 149 & 0xff} + (152 >> 8) & 0xff, + 152 & 0xff} }, { .description = "l4_hdr_error", @@ -48351,15 +48947,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (997 >> 8) & 0xff, - 997 & 0xff, + (1017 >> 8) & 0xff, + 1017 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (150 >> 8) & 0xff, - 150 & 0xff} + (153 >> 8) & 0xff, + 153 & 0xff} }, { .description = "l4_hdr_error", @@ -48367,8 +48963,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (999 >> 8) & 0xff, - 999 & 0xff, + (1019 >> 8) & 0xff, + 1019 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48380,15 +48976,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1003 >> 8) & 0xff, - 1003 & 0xff, + (1023 >> 8) & 0xff, + 1023 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (152 >> 8) & 0xff, - 152 & 0xff} + (155 >> 8) & 0xff, + 155 & 0xff} }, { .description = "l4_hdr_error", @@ -48396,15 +48992,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1005 >> 8) & 0xff, - 1005 & 0xff, + (1025 >> 8) & 0xff, + 1025 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (153 >> 8) & 0xff, - 153 & 0xff} + (156 >> 8) & 0xff, + 156 & 0xff} }, { .description = "l4_hdr_error", @@ -48412,8 +49008,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1007 >> 8) & 0xff, - 1007 & 0xff, + (1027 >> 8) & 0xff, + 1027 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -48425,15 +49021,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1011 >> 8) & 0xff, - 1011 & 0xff, + (1031 >> 8) & 0xff, + 1031 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (155 >> 8) & 0xff, - 155 & 0xff} + (158 >> 8) & 0xff, + 158 & 0xff} }, { .description = "l4_hdr_valid", @@ -48441,15 +49037,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1013 >> 8) & 0xff, - 1013 & 0xff, + (1033 >> 8) & 0xff, + 1033 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (156 >> 8) & 0xff, - 156 & 0xff} + (159 >> 8) & 0xff, + 159 & 0xff} }, { .description = "l4_hdr_valid", @@ -48457,8 +49053,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1015 >> 8) & 0xff, - 1015 & 0xff, + (1035 >> 8) & 0xff, + 1035 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48470,8 +49066,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1019 >> 8) & 0xff, - 1019 & 0xff, + (1039 >> 8) & 0xff, + 1039 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48479,8 +49075,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (158 >> 8) & 0xff, - 158 & 0xff} + (161 >> 8) & 0xff, + 161 & 0xff} }, { .description = "l4_hdr_valid", @@ -48488,8 +49084,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1021 >> 8) & 0xff, - 1021 & 0xff, + (1041 >> 8) & 0xff, + 1041 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48497,8 +49093,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (159 >> 8) & 0xff, - 159 & 0xff} + (162 >> 8) & 0xff, + 162 & 0xff} }, { .description = "l4_hdr_valid", @@ -48506,8 +49102,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1023 >> 8) & 0xff, - 1023 & 0xff, + (1043 >> 8) & 0xff, + 1043 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48521,8 +49117,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1027 >> 8) & 0xff, - 1027 & 0xff, + (1047 >> 8) & 0xff, + 1047 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48530,8 +49126,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (161 >> 8) & 0xff, - 161 & 0xff} + (164 >> 8) & 0xff, + 164 & 0xff} }, { .description = "l3_hdr_isIP", @@ -48539,8 +49135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1029 >> 8) & 0xff, - 1029 & 0xff, + (1049 >> 8) & 0xff, + 1049 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48548,8 +49144,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (162 >> 8) & 0xff, - 162 & 0xff} + (165 >> 8) & 0xff, + 165 & 0xff} }, { .description = "l3_hdr_isIP", @@ -48557,8 +49153,26 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1031 >> 8) & 0xff, - 1031 & 0xff, + (1051 >> 8) & 0xff, + 1051 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (166 >> 8) & 0xff, + 166 & 0xff} + }, + { + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1053 >> 8) & 0xff, + 1053 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48572,15 +49186,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1035 >> 8) & 0xff, - 1035 & 0xff, + (1057 >> 8) & 0xff, + 1057 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (164 >> 8) & 0xff, - 164 & 0xff} + (168 >> 8) & 0xff, + 168 & 0xff} }, { .description = "l3_hdr_type", @@ -48588,15 +49202,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1037 >> 8) & 0xff, - 1037 & 0xff, + (1059 >> 8) & 0xff, + 1059 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (165 >> 8) & 0xff, - 165 & 0xff} + (169 >> 8) & 0xff, + 169 & 0xff} }, { .description = "l3_hdr_type", @@ -48604,8 +49218,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1039 >> 8) & 0xff, - 1039 & 0xff, + (1061 >> 8) & 0xff, + 1061 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48617,8 +49231,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1043 >> 8) & 0xff, - 1043 & 0xff, + (1065 >> 8) & 0xff, + 1065 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48626,8 +49240,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (167 >> 8) & 0xff, - 167 & 0xff} + (171 >> 8) & 0xff, + 171 & 0xff} }, { .description = "l3_hdr_type", @@ -48635,15 +49249,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1045 >> 8) & 0xff, - 1045 & 0xff, + (1067 >> 8) & 0xff, + 1067 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (168 >> 8) & 0xff, - 168 & 0xff} + (172 >> 8) & 0xff, + 172 & 0xff} }, { .description = "l3_hdr_type", @@ -48651,8 +49265,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1047 >> 8) & 0xff, - 1047 & 0xff, + (1069 >> 8) & 0xff, + 1069 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -48664,15 +49278,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1051 >> 8) & 0xff, - 1051 & 0xff, + (1073 >> 8) & 0xff, + 1073 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (170 >> 8) & 0xff, - 170 & 0xff} + (174 >> 8) & 0xff, + 174 & 0xff} }, { .description = "l3_hdr_error", @@ -48680,15 +49294,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1053 >> 8) & 0xff, - 1053 & 0xff, + (1075 >> 8) & 0xff, + 1075 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (171 >> 8) & 0xff, - 171 & 0xff} + (175 >> 8) & 0xff, + 175 & 0xff} }, { .description = "l3_hdr_error", @@ -48696,8 +49310,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1055 >> 8) & 0xff, - 1055 & 0xff, + (1077 >> 8) & 0xff, + 1077 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48709,15 +49323,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1059 >> 8) & 0xff, - 1059 & 0xff, + (1081 >> 8) & 0xff, + 1081 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (173 >> 8) & 0xff, - 173 & 0xff} + (177 >> 8) & 0xff, + 177 & 0xff} }, { .description = "l3_hdr_error", @@ -48725,15 +49339,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1061 >> 8) & 0xff, - 1061 & 0xff, + (1083 >> 8) & 0xff, + 1083 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (174 >> 8) & 0xff, - 174 & 0xff} + (178 >> 8) & 0xff, + 178 & 0xff} }, { .description = "l3_hdr_error", @@ -48741,8 +49355,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1063 >> 8) & 0xff, - 1063 & 0xff, + (1085 >> 8) & 0xff, + 1085 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -48754,15 +49368,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1067 >> 8) & 0xff, - 1067 & 0xff, + (1089 >> 8) & 0xff, + 1089 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (176 >> 8) & 0xff, - 176 & 0xff} + (180 >> 8) & 0xff, + 180 & 0xff} }, { .description = "l3_hdr_valid", @@ -48770,15 +49384,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1069 >> 8) & 0xff, - 1069 & 0xff, + (1091 >> 8) & 0xff, + 1091 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (177 >> 8) & 0xff, - 177 & 0xff} + (181 >> 8) & 0xff, + 181 & 0xff} }, { .description = "l3_hdr_valid", @@ -48786,8 +49400,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1071 >> 8) & 0xff, - 1071 & 0xff, + (1093 >> 8) & 0xff, + 1093 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48799,8 +49413,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1075 >> 8) & 0xff, - 1075 & 0xff, + (1097 >> 8) & 0xff, + 1097 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48808,8 +49422,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (179 >> 8) & 0xff, - 179 & 0xff} + (183 >> 8) & 0xff, + 183 & 0xff} }, { .description = "l3_hdr_valid", @@ -48817,8 +49431,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1077 >> 8) & 0xff, - 1077 & 0xff, + (1099 >> 8) & 0xff, + 1099 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48826,8 +49440,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (180 >> 8) & 0xff, - 180 & 0xff} + (184 >> 8) & 0xff, + 184 & 0xff} }, { .description = "l3_hdr_valid", @@ -48835,8 +49449,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1079 >> 8) & 0xff, - 1079 & 0xff, + (1101 >> 8) & 0xff, + 1101 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48850,8 +49464,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1084 >> 8) & 0xff, - 1084 & 0xff, + (1106 >> 8) & 0xff, + 1106 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48865,8 +49479,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1090 >> 8) & 0xff, - 1090 & 0xff, + (1112 >> 8) & 0xff, + 1112 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48880,8 +49494,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1097 >> 8) & 0xff, - 1097 & 0xff, + (1119 >> 8) & 0xff, + 1119 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48893,8 +49507,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1101 >> 8) & 0xff, - 1101 & 0xff, + (1123 >> 8) & 0xff, + 1123 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -48906,13 +49520,62 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1105 >> 8) & 0xff, - 1105 & 0xff, + (1127 >> 8) & 0xff, + 1127 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { ULP_THOR_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (190 >> 8) & 0xff, + 190 & 0xff} + }, + { + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1129 >> 8) & 0xff, + 1129 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR_SYM_L2_HDR_VALID_YES} + }, + { + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1133 >> 8) & 0xff, + 1133 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (192 >> 8) & 0xff, + 192 & 0xff} + }, + { + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1135 >> 8) & 0xff, + 1135 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -48921,15 +49584,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1109 >> 8) & 0xff, - 1109 & 0xff, + (1139 >> 8) & 0xff, + 1139 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (187 >> 8) & 0xff, - 187 & 0xff} + (194 >> 8) & 0xff, + 194 & 0xff} }, { .description = "tun_hdr_type", @@ -48937,15 +49600,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1111 >> 8) & 0xff, - 1111 & 0xff, + (1141 >> 8) & 0xff, + 1141 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (188 >> 8) & 0xff, - 188 & 0xff} + (195 >> 8) & 0xff, + 195 & 0xff} }, { .description = "tun_hdr_type", @@ -48953,15 +49616,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1113 >> 8) & 0xff, - 1113 & 0xff, + (1143 >> 8) & 0xff, + 1143 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (189 >> 8) & 0xff, - 189 & 0xff} + (196 >> 8) & 0xff, + 196 & 0xff} }, { .description = "tun_hdr_type", @@ -48969,15 +49632,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1115 >> 8) & 0xff, - 1115 & 0xff, + (1145 >> 8) & 0xff, + 1145 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (190 >> 8) & 0xff, - 190 & 0xff} + (197 >> 8) & 0xff, + 197 & 0xff} }, { .description = "tun_hdr_type", @@ -48985,8 +49648,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1117 >> 8) & 0xff, - 1117 & 0xff, + (1147 >> 8) & 0xff, + 1147 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (198 >> 8) & 0xff, + 198 & 0xff} + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1149 >> 8) & 0xff, + 1149 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -48998,15 +49677,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1121 >> 8) & 0xff, - 1121 & 0xff, + (1153 >> 8) & 0xff, + 1153 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (192 >> 8) & 0xff, - 192 & 0xff} + (200 >> 8) & 0xff, + 200 & 0xff} }, { .description = "tun_hdr_type", @@ -49014,8 +49693,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1123 >> 8) & 0xff, - 1123 & 0xff, + (1155 >> 8) & 0xff, + 1155 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49023,8 +49702,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_GENEVE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (193 >> 8) & 0xff, - 193 & 0xff} + (201 >> 8) & 0xff, + 201 & 0xff} }, { .description = "tun_hdr_type", @@ -49032,8 +49711,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1125 >> 8) & 0xff, - 1125 & 0xff, + (1157 >> 8) & 0xff, + 1157 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49041,8 +49720,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_GRE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (194 >> 8) & 0xff, - 194 & 0xff} + (202 >> 8) & 0xff, + 202 & 0xff} }, { .description = "tun_hdr_type", @@ -49050,8 +49729,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1127 >> 8) & 0xff, - 1127 & 0xff, + (1159 >> 8) & 0xff, + 1159 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49059,8 +49738,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_UPAR1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (195 >> 8) & 0xff, - 195 & 0xff} + (203 >> 8) & 0xff, + 203 & 0xff} }, { .description = "tun_hdr_type", @@ -49068,13 +49747,31 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1129 >> 8) & 0xff, - 1129 & 0xff, + (1161 >> 8) & 0xff, + 1161 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { ULP_THOR_SYM_TUN_HDR_TYPE_UPAR2}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (204 >> 8) & 0xff, + 204 & 0xff} + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1163 >> 8) & 0xff, + 1163 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TUN_HDR_TYPE_MPLS}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -49083,8 +49780,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1136 >> 8) & 0xff, - 1136 & 0xff, + (1170 >> 8) & 0xff, + 1170 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -49096,8 +49793,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1140 >> 8) & 0xff, - 1140 & 0xff, + (1174 >> 8) & 0xff, + 1174 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49111,8 +49808,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1144 >> 8) & 0xff, - 1144 & 0xff, + (1178 >> 8) & 0xff, + 1178 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -49124,8 +49821,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1148 >> 8) & 0xff, - 1148 & 0xff, + (1182 >> 8) & 0xff, + 1182 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49139,8 +49836,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1152 >> 8) & 0xff, - 1152 & 0xff, + (1186 >> 8) & 0xff, + 1186 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -49152,8 +49849,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1156 >> 8) & 0xff, - 1156 & 0xff, + (1190 >> 8) & 0xff, + 1190 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -49165,15 +49862,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1160 >> 8) & 0xff, - 1160 & 0xff, + (1194 >> 8) & 0xff, + 1194 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (203 >> 8) & 0xff, - 203 & 0xff} + (212 >> 8) & 0xff, + 212 & 0xff} }, { .description = "tl4_hdr_valid", @@ -49181,8 +49878,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1162 >> 8) & 0xff, - 1162 & 0xff, + (1196 >> 8) & 0xff, + 1196 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -49194,8 +49891,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1165 >> 8) & 0xff, - 1165 & 0xff, + (1199 >> 8) & 0xff, + 1199 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49203,8 +49900,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (205 >> 8) & 0xff, - 205 & 0xff} + (214 >> 8) & 0xff, + 214 & 0xff} }, { .description = "tl4_hdr_valid", @@ -49212,8 +49909,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1167 >> 8) & 0xff, - 1167 & 0xff, + (1201 >> 8) & 0xff, + 1201 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -49225,8 +49922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1170 >> 8) & 0xff, - 1170 & 0xff, + (1204 >> 8) & 0xff, + 1204 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49240,8 +49937,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1174 >> 8) & 0xff, - 1174 & 0xff, + (1208 >> 8) & 0xff, + 1208 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -49253,8 +49950,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1178 >> 8) & 0xff, - 1178 & 0xff, + (1212 >> 8) & 0xff, + 1212 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -49266,8 +49963,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1182 >> 8) & 0xff, - 1182 & 0xff, + (1216 >> 8) & 0xff, + 1216 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -49279,8 +49976,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1186 >> 8) & 0xff, - 1186 & 0xff, + (1220 >> 8) & 0xff, + 1220 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -49292,8 +49989,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1190 >> 8) & 0xff, - 1190 & 0xff, + (1224 >> 8) & 0xff, + 1224 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49307,8 +50004,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1202 >> 8) & 0xff, - 1202 & 0xff, + (1236 >> 8) & 0xff, + 1236 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49322,10 +50019,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1207 >> 8) & 0xff, - 1207 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (1240 >> 8) & 0xff, + 1240 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, @@ -49338,8 +50035,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1218 >> 8) & 0xff, - 1218 & 0xff, + (1251 >> 8) & 0xff, + 1251 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (224 >> 8) & 0xff, + 224 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1252 >> 8) & 0xff, + 1252 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -49354,8 +50067,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1252 >> 8) & 0xff, - 1252 & 0xff, + (1286 >> 8) & 0xff, + 1286 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49370,8 +50083,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1262 >> 8) & 0xff, - 1262 & 0xff, + (1296 >> 8) & 0xff, + 1296 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49386,8 +50099,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1289 >> 8) & 0xff, - 1289 & 0xff, + (1323 >> 8) & 0xff, + 1323 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49402,8 +50115,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1294 >> 8) & 0xff, - 1294 & 0xff, + (1328 >> 8) & 0xff, + 1328 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49418,8 +50131,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1315 >> 8) & 0xff, - 1315 & 0xff, + (1349 >> 8) & 0xff, + 1349 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49434,8 +50147,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1323 >> 8) & 0xff, - 1323 & 0xff, + (1357 >> 8) & 0xff, + 1357 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49450,8 +50163,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1331 >> 8) & 0xff, - 1331 & 0xff, + (1365 >> 8) & 0xff, + 1365 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49466,8 +50179,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1339 >> 8) & 0xff, - 1339 & 0xff, + (1373 >> 8) & 0xff, + 1373 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49482,8 +50195,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1347 >> 8) & 0xff, - 1347 & 0xff, + (1381 >> 8) & 0xff, + 1381 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49498,8 +50211,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1355 >> 8) & 0xff, - 1355 & 0xff, + (1389 >> 8) & 0xff, + 1389 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49514,8 +50227,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1363 >> 8) & 0xff, - 1363 & 0xff, + (1397 >> 8) & 0xff, + 1397 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49530,8 +50243,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1371 >> 8) & 0xff, - 1371 & 0xff, + (1405 >> 8) & 0xff, + 1405 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49546,8 +50259,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1380 >> 8) & 0xff, - 1380 & 0xff, + (1414 >> 8) & 0xff, + 1414 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49562,8 +50275,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1389 >> 8) & 0xff, - 1389 & 0xff, + (1423 >> 8) & 0xff, + 1423 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49578,14 +50291,33 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1396 >> 8) & 0xff, - 1396 & 0xff, + (1430 >> 8) & 0xff, + 1430 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (240 >> 8) & 0xff, + 240 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1433 >> 8) & 0xff, + 1433 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -49594,14 +50326,33 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1402 >> 8) & 0xff, - 1402 & 0xff, + (1439 >> 8) & 0xff, + 1439 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (242 >> 8) & 0xff, + 242 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1442 >> 8) & 0xff, + 1442 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -49610,8 +50361,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1409 >> 8) & 0xff, - 1409 & 0xff, + (1455 >> 8) & 0xff, + 1455 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49626,8 +50377,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1416 >> 8) & 0xff, - 1416 & 0xff, + (1462 >> 8) & 0xff, + 1462 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49642,8 +50393,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1423 >> 8) & 0xff, - 1423 & 0xff, + (1469 >> 8) & 0xff, + 1469 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49658,8 +50409,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1430 >> 8) & 0xff, - 1430 & 0xff, + (1476 >> 8) & 0xff, + 1476 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49674,8 +50425,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1438 >> 8) & 0xff, - 1438 & 0xff, + (1484 >> 8) & 0xff, + 1484 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49690,8 +50441,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1447 >> 8) & 0xff, - 1447 & 0xff, + (1493 >> 8) & 0xff, + 1493 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49706,8 +50457,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1456 >> 8) & 0xff, - 1456 & 0xff, + (1502 >> 8) & 0xff, + 1502 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49716,8 +50467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (238 >> 8) & 0xff, - 238 & 0xff} + (250 >> 8) & 0xff, + 250 & 0xff} }, { .description = "l2_ivv", @@ -49725,8 +50476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1461 >> 8) & 0xff, - 1461 & 0xff, + (1507 >> 8) & 0xff, + 1507 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49735,8 +50486,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (239 >> 8) & 0xff, - 239 & 0xff} + (251 >> 8) & 0xff, + 251 & 0xff} }, { .description = "l2_ivv", @@ -49744,8 +50495,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1465 >> 8) & 0xff, - 1465 & 0xff, + (1511 >> 8) & 0xff, + 1511 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49760,8 +50511,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1474 >> 8) & 0xff, - 1474 & 0xff, + (1520 >> 8) & 0xff, + 1520 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49770,8 +50521,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (241 >> 8) & 0xff, - 241 & 0xff} + (253 >> 8) & 0xff, + 253 & 0xff} }, { .description = "l2_ivv", @@ -49779,8 +50530,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1479 >> 8) & 0xff, - 1479 & 0xff, + (1525 >> 8) & 0xff, + 1525 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49789,8 +50540,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (242 >> 8) & 0xff, - 242 & 0xff} + (254 >> 8) & 0xff, + 254 & 0xff} }, { .description = "l2_ivv", @@ -49798,8 +50549,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1483 >> 8) & 0xff, - 1483 & 0xff, + (1529 >> 8) & 0xff, + 1529 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49814,8 +50565,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1492 >> 8) & 0xff, - 1492 & 0xff, + (1538 >> 8) & 0xff, + 1538 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49830,8 +50581,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1501 >> 8) & 0xff, - 1501 & 0xff, + (1547 >> 8) & 0xff, + 1547 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49846,8 +50597,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1509 >> 8) & 0xff, - 1509 & 0xff, + (1555 >> 8) & 0xff, + 1555 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49862,8 +50613,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1516 >> 8) & 0xff, - 1516 & 0xff, + (1562 >> 8) & 0xff, + 1562 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49878,8 +50629,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1523 >> 8) & 0xff, - 1523 & 0xff, + (1569 >> 8) & 0xff, + 1569 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49894,8 +50645,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1530 >> 8) & 0xff, - 1530 & 0xff, + (1576 >> 8) & 0xff, + 1576 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49910,8 +50661,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1537 >> 8) & 0xff, - 1537 & 0xff, + (1583 >> 8) & 0xff, + 1583 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49926,8 +50677,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1544 >> 8) & 0xff, - 1544 & 0xff, + (1590 >> 8) & 0xff, + 1590 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49942,8 +50693,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1551 >> 8) & 0xff, - 1551 & 0xff, + (1597 >> 8) & 0xff, + 1597 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49958,8 +50709,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1558 >> 8) & 0xff, - 1558 & 0xff, + (1604 >> 8) & 0xff, + 1604 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49974,8 +50725,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1565 >> 8) & 0xff, - 1565 & 0xff, + (1611 >> 8) & 0xff, + 1611 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -49984,8 +50735,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (254 >> 8) & 0xff, - 254 & 0xff} + (266 >> 8) & 0xff, + 266 & 0xff} }, { .description = "l3.ttl", @@ -49993,8 +50744,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1569 >> 8) & 0xff, - 1569 & 0xff, + (1615 >> 8) & 0xff, + 1615 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50003,8 +50754,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (255 >> 8) & 0xff, - 255 & 0xff} + (267 >> 8) & 0xff, + 267 & 0xff} }, { .description = "l3.ttl", @@ -50012,8 +50763,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1572 >> 8) & 0xff, - 1572 & 0xff, + (1618 >> 8) & 0xff, + 1618 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50028,8 +50779,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1579 >> 8) & 0xff, - 1579 & 0xff, + (1625 >> 8) & 0xff, + 1625 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50038,8 +50789,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (257 >> 8) & 0xff, - 257 & 0xff} + (269 >> 8) & 0xff, + 269 & 0xff} }, { .description = "l3.ttl", @@ -50047,8 +50798,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1583 >> 8) & 0xff, - 1583 & 0xff, + (1629 >> 8) & 0xff, + 1629 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50057,8 +50808,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (258 >> 8) & 0xff, - 258 & 0xff} + (270 >> 8) & 0xff, + 270 & 0xff} }, { .description = "l3.ttl", @@ -50066,8 +50817,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1586 >> 8) & 0xff, - 1586 & 0xff, + (1632 >> 8) & 0xff, + 1632 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50082,8 +50833,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1593 >> 8) & 0xff, - 1593 & 0xff, + (1639 >> 8) & 0xff, + 1639 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50092,8 +50843,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (260 >> 8) & 0xff, - 260 & 0xff} + (272 >> 8) & 0xff, + 272 & 0xff} }, { .description = "l3.prot", @@ -50101,8 +50852,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1597 >> 8) & 0xff, - 1597 & 0xff, + (1643 >> 8) & 0xff, + 1643 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50111,8 +50862,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (261 >> 8) & 0xff, - 261 & 0xff} + (273 >> 8) & 0xff, + 273 & 0xff} }, { .description = "l3.prot", @@ -50120,8 +50871,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1600 >> 8) & 0xff, - 1600 & 0xff, + (1646 >> 8) & 0xff, + 1646 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50136,8 +50887,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1607 >> 8) & 0xff, - 1607 & 0xff, + (1653 >> 8) & 0xff, + 1653 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50146,8 +50897,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (263 >> 8) & 0xff, - 263 & 0xff} + (275 >> 8) & 0xff, + 275 & 0xff} }, { .description = "l3.prot", @@ -50155,8 +50906,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1611 >> 8) & 0xff, - 1611 & 0xff, + (1657 >> 8) & 0xff, + 1657 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50165,8 +50916,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (264 >> 8) & 0xff, - 264 & 0xff} + (276 >> 8) & 0xff, + 276 & 0xff} }, { .description = "l3.prot", @@ -50174,8 +50925,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1614 >> 8) & 0xff, - 1614 & 0xff, + (1660 >> 8) & 0xff, + 1660 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50190,8 +50941,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1621 >> 8) & 0xff, - 1621 & 0xff, + (1667 >> 8) & 0xff, + 1667 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50200,8 +50951,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (266 >> 8) & 0xff, - 266 & 0xff} + (278 >> 8) & 0xff, + 278 & 0xff} }, { .description = "l3.qos", @@ -50209,8 +50960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1625 >> 8) & 0xff, - 1625 & 0xff, + (1671 >> 8) & 0xff, + 1671 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50219,8 +50970,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (267 >> 8) & 0xff, - 267 & 0xff} + (279 >> 8) & 0xff, + 279 & 0xff} }, { .description = "l3.qos", @@ -50228,8 +50979,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1628 >> 8) & 0xff, - 1628 & 0xff, + (1674 >> 8) & 0xff, + 1674 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50244,8 +50995,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1635 >> 8) & 0xff, - 1635 & 0xff, + (1681 >> 8) & 0xff, + 1681 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50254,8 +51005,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (269 >> 8) & 0xff, - 269 & 0xff} + (281 >> 8) & 0xff, + 281 & 0xff} }, { .description = "l3.qos", @@ -50263,8 +51014,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1639 >> 8) & 0xff, - 1639 & 0xff, + (1685 >> 8) & 0xff, + 1685 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50273,8 +51024,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (270 >> 8) & 0xff, - 270 & 0xff} + (282 >> 8) & 0xff, + 282 & 0xff} }, { .description = "l3.qos", @@ -50282,8 +51033,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1642 >> 8) & 0xff, - 1642 & 0xff, + (1688 >> 8) & 0xff, + 1688 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50298,8 +51049,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1649 >> 8) & 0xff, - 1649 & 0xff, + (1695 >> 8) & 0xff, + 1695 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50308,8 +51059,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (272 >> 8) & 0xff, - 272 & 0xff} + (284 >> 8) & 0xff, + 284 & 0xff} }, { .description = "l4.src", @@ -50317,8 +51068,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1653 >> 8) & 0xff, - 1653 & 0xff, + (1699 >> 8) & 0xff, + 1699 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50327,8 +51078,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (273 >> 8) & 0xff, - 273 & 0xff} + (285 >> 8) & 0xff, + 285 & 0xff} }, { .description = "l4.src", @@ -50336,8 +51087,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1656 >> 8) & 0xff, - 1656 & 0xff, + (1702 >> 8) & 0xff, + 1702 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50346,8 +51097,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (274 >> 8) & 0xff, - 274 & 0xff} + (286 >> 8) & 0xff, + 286 & 0xff} }, { .description = "l4.src", @@ -50355,8 +51106,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1659 >> 8) & 0xff, - 1659 & 0xff, + (1705 >> 8) & 0xff, + 1705 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -50368,8 +51119,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1665 >> 8) & 0xff, - 1665 & 0xff, + (1711 >> 8) & 0xff, + 1711 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50378,8 +51129,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (276 >> 8) & 0xff, - 276 & 0xff} + (288 >> 8) & 0xff, + 288 & 0xff} }, { .description = "l4.src", @@ -50387,8 +51138,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1669 >> 8) & 0xff, - 1669 & 0xff, + (1715 >> 8) & 0xff, + 1715 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50397,8 +51148,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (277 >> 8) & 0xff, - 277 & 0xff} + (289 >> 8) & 0xff, + 289 & 0xff} }, { .description = "l4.src", @@ -50406,8 +51157,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1672 >> 8) & 0xff, - 1672 & 0xff, + (1718 >> 8) & 0xff, + 1718 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50416,8 +51167,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (278 >> 8) & 0xff, - 278 & 0xff} + (290 >> 8) & 0xff, + 290 & 0xff} }, { .description = "l4.src", @@ -50425,8 +51176,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1675 >> 8) & 0xff, - 1675 & 0xff, + (1721 >> 8) & 0xff, + 1721 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -50438,8 +51189,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1681 >> 8) & 0xff, - 1681 & 0xff, + (1727 >> 8) & 0xff, + 1727 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50448,8 +51199,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (280 >> 8) & 0xff, - 280 & 0xff} + (292 >> 8) & 0xff, + 292 & 0xff} }, { .description = "l4.dst", @@ -50457,8 +51208,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1685 >> 8) & 0xff, - 1685 & 0xff, + (1731 >> 8) & 0xff, + 1731 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50467,8 +51218,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (281 >> 8) & 0xff, - 281 & 0xff} + (293 >> 8) & 0xff, + 293 & 0xff} }, { .description = "l4.dst", @@ -50476,8 +51227,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1688 >> 8) & 0xff, - 1688 & 0xff, + (1734 >> 8) & 0xff, + 1734 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50486,8 +51237,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (282 >> 8) & 0xff, - 282 & 0xff} + (294 >> 8) & 0xff, + 294 & 0xff} }, { .description = "l4.dst", @@ -50495,8 +51246,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1691 >> 8) & 0xff, - 1691 & 0xff, + (1737 >> 8) & 0xff, + 1737 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -50508,8 +51259,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1697 >> 8) & 0xff, - 1697 & 0xff, + (1743 >> 8) & 0xff, + 1743 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50518,8 +51269,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (284 >> 8) & 0xff, - 284 & 0xff} + (296 >> 8) & 0xff, + 296 & 0xff} }, { .description = "l4.dst", @@ -50527,8 +51278,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1701 >> 8) & 0xff, - 1701 & 0xff, + (1747 >> 8) & 0xff, + 1747 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50537,8 +51288,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (285 >> 8) & 0xff, - 285 & 0xff} + (297 >> 8) & 0xff, + 297 & 0xff} }, { .description = "l4.dst", @@ -50546,8 +51297,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1704 >> 8) & 0xff, - 1704 & 0xff, + (1750 >> 8) & 0xff, + 1750 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -50556,8 +51307,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (286 >> 8) & 0xff, - 286 & 0xff} + (298 >> 8) & 0xff, + 298 & 0xff} }, { .description = "l4.dst", @@ -50565,8 +51316,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1707 >> 8) & 0xff, - 1707 & 0xff, + (1753 >> 8) & 0xff, + 1753 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -50578,8 +51329,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1742 >> 8) & 0xff, - 1742 & 0xff, + (1789 >> 8) & 0xff, + 1789 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50593,8 +51344,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1756 >> 8) & 0xff, - 1756 & 0xff, + (1803 >> 8) & 0xff, + 1803 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50608,8 +51359,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1764 >> 8) & 0xff, - 1764 & 0xff, + (1811 >> 8) & 0xff, + 1811 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50623,8 +51374,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1772 >> 8) & 0xff, - 1772 & 0xff, + (1819 >> 8) & 0xff, + 1819 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50638,8 +51389,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1780 >> 8) & 0xff, - 1780 & 0xff, + (1827 >> 8) & 0xff, + 1827 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50653,8 +51404,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1788 >> 8) & 0xff, - 1788 & 0xff, + (1835 >> 8) & 0xff, + 1835 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50668,8 +51419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1796 >> 8) & 0xff, - 1796 & 0xff, + (1843 >> 8) & 0xff, + 1843 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50683,8 +51434,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1805 >> 8) & 0xff, - 1805 & 0xff, + (1852 >> 8) & 0xff, + 1852 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50698,8 +51449,26 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1812 >> 8) & 0xff, - 1812 & 0xff, + (1859 >> 8) & 0xff, + 1859 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (308 >> 8) & 0xff, + 308 & 0xff} + }, + { + .description = "tids.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1862 >> 8) & 0xff, + 1862 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50713,8 +51482,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1820 >> 8) & 0xff, - 1820 & 0xff, + (1873 >> 8) & 0xff, + 1873 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50728,8 +51497,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1828 >> 8) & 0xff, - 1828 & 0xff, + (1881 >> 8) & 0xff, + 1881 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50743,8 +51512,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1836 >> 8) & 0xff, - 1836 & 0xff, + (1889 >> 8) & 0xff, + 1889 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50758,8 +51527,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1845 >> 8) & 0xff, - 1845 & 0xff, + (1898 >> 8) & 0xff, + 1898 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50767,8 +51536,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (300 >> 8) & 0xff, - 300 & 0xff} + (313 >> 8) & 0xff, + 313 & 0xff} }, { .description = "l2_ivv.en", @@ -50776,8 +51545,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1850 >> 8) & 0xff, - 1850 & 0xff, + (1903 >> 8) & 0xff, + 1903 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50785,8 +51554,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (301 >> 8) & 0xff, - 301 & 0xff} + (314 >> 8) & 0xff, + 314 & 0xff} }, { .description = "l2_ivv.en", @@ -50794,8 +51563,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1854 >> 8) & 0xff, - 1854 & 0xff, + (1907 >> 8) & 0xff, + 1907 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50809,8 +51578,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1863 >> 8) & 0xff, - 1863 & 0xff, + (1916 >> 8) & 0xff, + 1916 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50824,8 +51593,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1871 >> 8) & 0xff, - 1871 & 0xff, + (1924 >> 8) & 0xff, + 1924 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50833,8 +51602,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (304 >> 8) & 0xff, - 304 & 0xff} + (317 >> 8) & 0xff, + 317 & 0xff} }, { .description = "l3_sip.en", @@ -50842,8 +51611,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1875 >> 8) & 0xff, - 1875 & 0xff, + (1928 >> 8) & 0xff, + 1928 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50851,8 +51620,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (305 >> 8) & 0xff, - 305 & 0xff} + (318 >> 8) & 0xff, + 318 & 0xff} }, { .description = "l3_sip.en", @@ -50860,8 +51629,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1878 >> 8) & 0xff, - 1878 & 0xff, + (1931 >> 8) & 0xff, + 1931 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50875,8 +51644,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1885 >> 8) & 0xff, - 1885 & 0xff, + (1938 >> 8) & 0xff, + 1938 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50884,8 +51653,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (307 >> 8) & 0xff, - 307 & 0xff} + (320 >> 8) & 0xff, + 320 & 0xff} }, { .description = "l3_dip.en", @@ -50893,8 +51662,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1889 >> 8) & 0xff, - 1889 & 0xff, + (1942 >> 8) & 0xff, + 1942 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50902,8 +51671,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (308 >> 8) & 0xff, - 308 & 0xff} + (321 >> 8) & 0xff, + 321 & 0xff} }, { .description = "l3_dip.en", @@ -50911,8 +51680,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1892 >> 8) & 0xff, - 1892 & 0xff, + (1945 >> 8) & 0xff, + 1945 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50926,8 +51695,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1899 >> 8) & 0xff, - 1899 & 0xff, + (1952 >> 8) & 0xff, + 1952 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50935,8 +51704,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (310 >> 8) & 0xff, - 310 & 0xff} + (323 >> 8) & 0xff, + 323 & 0xff} }, { .description = "l3_ttl.en", @@ -50944,8 +51713,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1903 >> 8) & 0xff, - 1903 & 0xff, + (1956 >> 8) & 0xff, + 1956 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50953,8 +51722,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (311 >> 8) & 0xff, - 311 & 0xff} + (324 >> 8) & 0xff, + 324 & 0xff} }, { .description = "l3_ttl.en", @@ -50962,8 +51731,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1906 >> 8) & 0xff, - 1906 & 0xff, + (1959 >> 8) & 0xff, + 1959 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50977,8 +51746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1913 >> 8) & 0xff, - 1913 & 0xff, + (1966 >> 8) & 0xff, + 1966 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50986,8 +51755,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (313 >> 8) & 0xff, - 313 & 0xff} + (326 >> 8) & 0xff, + 326 & 0xff} }, { .description = "l3_prot.en", @@ -50995,8 +51764,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1917 >> 8) & 0xff, - 1917 & 0xff, + (1970 >> 8) & 0xff, + 1970 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51004,8 +51773,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (314 >> 8) & 0xff, - 314 & 0xff} + (327 >> 8) & 0xff, + 327 & 0xff} }, { .description = "l3_prot.en", @@ -51013,8 +51782,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1920 >> 8) & 0xff, - 1920 & 0xff, + (1973 >> 8) & 0xff, + 1973 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51028,8 +51797,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1927 >> 8) & 0xff, - 1927 & 0xff, + (1980 >> 8) & 0xff, + 1980 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51037,8 +51806,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (316 >> 8) & 0xff, - 316 & 0xff} + (329 >> 8) & 0xff, + 329 & 0xff} }, { .description = "l3_qos.en", @@ -51046,8 +51815,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1931 >> 8) & 0xff, - 1931 & 0xff, + (1984 >> 8) & 0xff, + 1984 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51055,8 +51824,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (317 >> 8) & 0xff, - 317 & 0xff} + (330 >> 8) & 0xff, + 330 & 0xff} }, { .description = "l3_qos.en", @@ -51064,8 +51833,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1934 >> 8) & 0xff, - 1934 & 0xff, + (1987 >> 8) & 0xff, + 1987 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51079,8 +51848,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1941 >> 8) & 0xff, - 1941 & 0xff, + (1994 >> 8) & 0xff, + 1994 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51088,8 +51857,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (319 >> 8) & 0xff, - 319 & 0xff} + (332 >> 8) & 0xff, + 332 & 0xff} }, { .description = "l4_src.en", @@ -51097,8 +51866,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1945 >> 8) & 0xff, - 1945 & 0xff, + (1998 >> 8) & 0xff, + 1998 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51106,8 +51875,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (320 >> 8) & 0xff, - 320 & 0xff} + (333 >> 8) & 0xff, + 333 & 0xff} }, { .description = "l4_src.en", @@ -51115,8 +51884,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1948 >> 8) & 0xff, - 1948 & 0xff, + (2001 >> 8) & 0xff, + 2001 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51130,8 +51899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1955 >> 8) & 0xff, - 1955 & 0xff, + (2008 >> 8) & 0xff, + 2008 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51139,8 +51908,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (322 >> 8) & 0xff, - 322 & 0xff} + (335 >> 8) & 0xff, + 335 & 0xff} }, { .description = "l4_dst.en", @@ -51148,8 +51917,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1959 >> 8) & 0xff, - 1959 & 0xff, + (2012 >> 8) & 0xff, + 2012 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51157,8 +51926,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (323 >> 8) & 0xff, - 323 & 0xff} + (336 >> 8) & 0xff, + 336 & 0xff} }, { .description = "l4_dst.en", @@ -51166,8 +51935,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1962 >> 8) & 0xff, - 1962 & 0xff, + (2015 >> 8) & 0xff, + 2015 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51181,8 +51950,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2008 >> 8) & 0xff, - 2008 & 0xff, + (2061 >> 8) & 0xff, + 2061 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51194,8 +51963,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2018 >> 8) & 0xff, - 2018 & 0xff, + (2071 >> 8) & 0xff, + 2071 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51210,8 +51979,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2069 >> 8) & 0xff, - 2069 & 0xff, + (2122 >> 8) & 0xff, + 2122 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51223,8 +51992,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2077 >> 8) & 0xff, - 2077 & 0xff, + (2130 >> 8) & 0xff, + 2130 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51239,8 +52008,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2085 >> 8) & 0xff, - 2085 & 0xff, + (2138 >> 8) & 0xff, + 2138 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51252,8 +52021,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2093 >> 8) & 0xff, - 2093 & 0xff, + (2146 >> 8) & 0xff, + 2146 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51268,8 +52037,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2101 >> 8) & 0xff, - 2101 & 0xff, + (2154 >> 8) & 0xff, + 2154 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51281,8 +52050,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2109 >> 8) & 0xff, - 2109 & 0xff, + (2162 >> 8) & 0xff, + 2162 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51297,8 +52066,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2117 >> 8) & 0xff, - 2117 & 0xff, + (2170 >> 8) & 0xff, + 2170 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51310,8 +52079,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2125 >> 8) & 0xff, - 2125 & 0xff, + (2178 >> 8) & 0xff, + 2178 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51326,8 +52095,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2134 >> 8) & 0xff, - 2134 & 0xff, + (2187 >> 8) & 0xff, + 2187 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51339,8 +52108,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2143 >> 8) & 0xff, - 2143 & 0xff, + (2196 >> 8) & 0xff, + 2196 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51355,8 +52124,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2150 >> 8) & 0xff, - 2150 & 0xff, + (2203 >> 8) & 0xff, + 2203 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (350 >> 8) & 0xff, + 350 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2206 >> 8) & 0xff, + 2206 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51368,14 +52153,33 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2156 >> 8) & 0xff, - 2156 & 0xff, + (2212 >> 8) & 0xff, + 2212 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (352 >> 8) & 0xff, + 352 & 0xff} + }, + { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2215 >> 8) & 0xff, + 2215 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_MPLS_LABEL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -51384,8 +52188,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2164 >> 8) & 0xff, - 2164 & 0xff, + (2229 >> 8) & 0xff, + 2229 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51397,8 +52201,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2173 >> 8) & 0xff, - 2173 & 0xff, + (2238 >> 8) & 0xff, + 2238 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51413,8 +52217,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2181 >> 8) & 0xff, - 2181 & 0xff, + (2246 >> 8) & 0xff, + 2246 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51426,8 +52230,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2188 >> 8) & 0xff, - 2188 & 0xff, + (2253 >> 8) & 0xff, + 2253 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51442,8 +52246,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2196 >> 8) & 0xff, - 2196 & 0xff, + (2261 >> 8) & 0xff, + 2261 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51455,8 +52259,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2205 >> 8) & 0xff, - 2205 & 0xff, + (2270 >> 8) & 0xff, + 2270 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51471,15 +52275,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2214 >> 8) & 0xff, - 2214 & 0xff, + (2279 >> 8) & 0xff, + 2279 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (345 >> 8) & 0xff, - 345 & 0xff} + (360 >> 8) & 0xff, + 360 & 0xff} }, { .description = "l2_ivv", @@ -51487,15 +52291,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2219 >> 8) & 0xff, - 2219 & 0xff, + (2284 >> 8) & 0xff, + 2284 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (346 >> 8) & 0xff, - 346 & 0xff} + (361 >> 8) & 0xff, + 361 & 0xff} }, { .description = "l2_ivv", @@ -51503,8 +52307,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2223 >> 8) & 0xff, - 2223 & 0xff, + (2288 >> 8) & 0xff, + 2288 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51516,8 +52320,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2232 >> 8) & 0xff, - 2232 & 0xff, + (2297 >> 8) & 0xff, + 2297 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51526,8 +52330,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (348 >> 8) & 0xff, - 348 & 0xff} + (363 >> 8) & 0xff, + 363 & 0xff} }, { .description = "l2_ivv", @@ -51535,8 +52339,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2237 >> 8) & 0xff, - 2237 & 0xff, + (2302 >> 8) & 0xff, + 2302 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51545,8 +52349,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (349 >> 8) & 0xff, - 349 & 0xff} + (364 >> 8) & 0xff, + 364 & 0xff} }, { .description = "l2_ivv", @@ -51554,8 +52358,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2241 >> 8) & 0xff, - 2241 & 0xff, + (2306 >> 8) & 0xff, + 2306 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51570,8 +52374,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2250 >> 8) & 0xff, - 2250 & 0xff, + (2315 >> 8) & 0xff, + 2315 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51583,8 +52387,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2259 >> 8) & 0xff, - 2259 & 0xff, + (2324 >> 8) & 0xff, + 2324 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51599,8 +52403,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2267 >> 8) & 0xff, - 2267 & 0xff, + (2332 >> 8) & 0xff, + 2332 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51612,8 +52416,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2274 >> 8) & 0xff, - 2274 & 0xff, + (2339 >> 8) & 0xff, + 2339 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51628,8 +52432,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2281 >> 8) & 0xff, - 2281 & 0xff, + (2346 >> 8) & 0xff, + 2346 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51641,8 +52445,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2288 >> 8) & 0xff, - 2288 & 0xff, + (2353 >> 8) & 0xff, + 2353 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51657,8 +52461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2295 >> 8) & 0xff, - 2295 & 0xff, + (2360 >> 8) & 0xff, + 2360 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51670,8 +52474,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2302 >> 8) & 0xff, - 2302 & 0xff, + (2367 >> 8) & 0xff, + 2367 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51686,8 +52490,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2309 >> 8) & 0xff, - 2309 & 0xff, + (2374 >> 8) & 0xff, + 2374 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51699,8 +52503,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2316 >> 8) & 0xff, - 2316 & 0xff, + (2381 >> 8) & 0xff, + 2381 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51715,15 +52519,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2323 >> 8) & 0xff, - 2323 & 0xff, + (2388 >> 8) & 0xff, + 2388 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (361 >> 8) & 0xff, - 361 & 0xff} + (376 >> 8) & 0xff, + 376 & 0xff} }, { .description = "l3.ttl", @@ -51731,15 +52535,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2327 >> 8) & 0xff, - 2327 & 0xff, + (2392 >> 8) & 0xff, + 2392 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (362 >> 8) & 0xff, - 362 & 0xff} + (377 >> 8) & 0xff, + 377 & 0xff} }, { .description = "l3.ttl", @@ -51747,8 +52551,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2330 >> 8) & 0xff, - 2330 & 0xff, + (2395 >> 8) & 0xff, + 2395 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51760,8 +52564,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2337 >> 8) & 0xff, - 2337 & 0xff, + (2402 >> 8) & 0xff, + 2402 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51770,8 +52574,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (364 >> 8) & 0xff, - 364 & 0xff} + (379 >> 8) & 0xff, + 379 & 0xff} }, { .description = "l3.ttl", @@ -51779,8 +52583,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2341 >> 8) & 0xff, - 2341 & 0xff, + (2406 >> 8) & 0xff, + 2406 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51789,8 +52593,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (365 >> 8) & 0xff, - 365 & 0xff} + (380 >> 8) & 0xff, + 380 & 0xff} }, { .description = "l3.ttl", @@ -51798,8 +52602,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2344 >> 8) & 0xff, - 2344 & 0xff, + (2409 >> 8) & 0xff, + 2409 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51814,15 +52618,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2351 >> 8) & 0xff, - 2351 & 0xff, + (2416 >> 8) & 0xff, + 2416 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (367 >> 8) & 0xff, - 367 & 0xff} + (382 >> 8) & 0xff, + 382 & 0xff} }, { .description = "l3.prot", @@ -51830,15 +52634,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2355 >> 8) & 0xff, - 2355 & 0xff, + (2420 >> 8) & 0xff, + 2420 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (368 >> 8) & 0xff, - 368 & 0xff} + (383 >> 8) & 0xff, + 383 & 0xff} }, { .description = "l3.prot", @@ -51846,8 +52650,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2358 >> 8) & 0xff, - 2358 & 0xff, + (2423 >> 8) & 0xff, + 2423 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51859,8 +52663,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2365 >> 8) & 0xff, - 2365 & 0xff, + (2430 >> 8) & 0xff, + 2430 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51869,8 +52673,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (370 >> 8) & 0xff, - 370 & 0xff} + (385 >> 8) & 0xff, + 385 & 0xff} }, { .description = "l3.prot", @@ -51878,8 +52682,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2369 >> 8) & 0xff, - 2369 & 0xff, + (2434 >> 8) & 0xff, + 2434 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51888,8 +52692,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (371 >> 8) & 0xff, - 371 & 0xff} + (386 >> 8) & 0xff, + 386 & 0xff} }, { .description = "l3.prot", @@ -51897,8 +52701,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2372 >> 8) & 0xff, - 2372 & 0xff, + (2437 >> 8) & 0xff, + 2437 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51913,15 +52717,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2379 >> 8) & 0xff, - 2379 & 0xff, + (2444 >> 8) & 0xff, + 2444 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (373 >> 8) & 0xff, - 373 & 0xff} + (388 >> 8) & 0xff, + 388 & 0xff} }, { .description = "l3.qos", @@ -51929,15 +52733,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2383 >> 8) & 0xff, - 2383 & 0xff, + (2448 >> 8) & 0xff, + 2448 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (374 >> 8) & 0xff, - 374 & 0xff} + (389 >> 8) & 0xff, + 389 & 0xff} }, { .description = "l3.qos", @@ -51945,8 +52749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2386 >> 8) & 0xff, - 2386 & 0xff, + (2451 >> 8) & 0xff, + 2451 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -51958,8 +52762,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2393 >> 8) & 0xff, - 2393 & 0xff, + (2458 >> 8) & 0xff, + 2458 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51968,8 +52772,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (376 >> 8) & 0xff, - 376 & 0xff} + (391 >> 8) & 0xff, + 391 & 0xff} }, { .description = "l3.qos", @@ -51977,8 +52781,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2397 >> 8) & 0xff, - 2397 & 0xff, + (2462 >> 8) & 0xff, + 2462 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -51987,8 +52791,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (377 >> 8) & 0xff, - 377 & 0xff} + (392 >> 8) & 0xff, + 392 & 0xff} }, { .description = "l3.qos", @@ -51996,8 +52800,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2400 >> 8) & 0xff, - 2400 & 0xff, + (2465 >> 8) & 0xff, + 2465 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52012,15 +52816,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2407 >> 8) & 0xff, - 2407 & 0xff, + (2472 >> 8) & 0xff, + 2472 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (379 >> 8) & 0xff, - 379 & 0xff} + (394 >> 8) & 0xff, + 394 & 0xff} }, { .description = "l4.src", @@ -52028,15 +52832,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2411 >> 8) & 0xff, - 2411 & 0xff, + (2476 >> 8) & 0xff, + 2476 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (380 >> 8) & 0xff, - 380 & 0xff} + (395 >> 8) & 0xff, + 395 & 0xff} }, { .description = "l4.src", @@ -52044,8 +52848,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2414 >> 8) & 0xff, - 2414 & 0xff, + (2479 >> 8) & 0xff, + 2479 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -52057,8 +52861,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2421 >> 8) & 0xff, - 2421 & 0xff, + (2486 >> 8) & 0xff, + 2486 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52067,8 +52871,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (382 >> 8) & 0xff, - 382 & 0xff} + (397 >> 8) & 0xff, + 397 & 0xff} }, { .description = "l4.src", @@ -52076,8 +52880,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2425 >> 8) & 0xff, - 2425 & 0xff, + (2490 >> 8) & 0xff, + 2490 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52086,8 +52890,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (383 >> 8) & 0xff, - 383 & 0xff} + (398 >> 8) & 0xff, + 398 & 0xff} }, { .description = "l4.src", @@ -52095,8 +52899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2428 >> 8) & 0xff, - 2428 & 0xff, + (2493 >> 8) & 0xff, + 2493 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52111,15 +52915,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2435 >> 8) & 0xff, - 2435 & 0xff, + (2500 >> 8) & 0xff, + 2500 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (385 >> 8) & 0xff, - 385 & 0xff} + (400 >> 8) & 0xff, + 400 & 0xff} }, { .description = "l4.dst", @@ -52127,15 +52931,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2439 >> 8) & 0xff, - 2439 & 0xff, + (2504 >> 8) & 0xff, + 2504 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (386 >> 8) & 0xff, - 386 & 0xff} + (401 >> 8) & 0xff, + 401 & 0xff} }, { .description = "l4.dst", @@ -52143,8 +52947,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2442 >> 8) & 0xff, - 2442 & 0xff, + (2507 >> 8) & 0xff, + 2507 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -52156,8 +52960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2449 >> 8) & 0xff, - 2449 & 0xff, + (2514 >> 8) & 0xff, + 2514 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52166,8 +52970,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (388 >> 8) & 0xff, - 388 & 0xff} + (403 >> 8) & 0xff, + 403 & 0xff} }, { .description = "l4.dst", @@ -52175,8 +52979,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2453 >> 8) & 0xff, - 2453 & 0xff, + (2518 >> 8) & 0xff, + 2518 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52185,8 +52989,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (389 >> 8) & 0xff, - 389 & 0xff} + (404 >> 8) & 0xff, + 404 & 0xff} }, { .description = "l4.dst", @@ -52194,8 +52998,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2456 >> 8) & 0xff, - 2456 & 0xff, + (2521 >> 8) & 0xff, + 2521 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -52211,8 +53015,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2552 >> 8) & 0xff, - 2552 & 0xff, + (2620 >> 8) & 0xff, + 2620 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52220,8 +53024,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (391 >> 8) & 0xff, - 391 & 0xff} + (406 >> 8) & 0xff, + 406 & 0xff} }, { .description = "", @@ -52229,8 +53033,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2554 >> 8) & 0xff, - 2554 & 0xff, + (2622 >> 8) & 0xff, + 2622 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52238,8 +53042,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (392 >> 8) & 0xff, - 392 & 0xff} + (407 >> 8) & 0xff, + 407 & 0xff} }, { .description = "", @@ -52247,8 +53051,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2556 >> 8) & 0xff, - 2556 & 0xff, + (2624 >> 8) & 0xff, + 2624 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52256,8 +53060,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (393 >> 8) & 0xff, - 393 & 0xff} + (408 >> 8) & 0xff, + 408 & 0xff} }, { .description = "", @@ -52265,8 +53069,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2558 >> 8) & 0xff, - 2558 & 0xff, + (2626 >> 8) & 0xff, + 2626 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52280,8 +53084,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2584 >> 8) & 0xff, - 2584 & 0xff, + (2652 >> 8) & 0xff, + 2652 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -52295,8 +53099,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2597 >> 8) & 0xff, - 2597 & 0xff, + (2665 >> 8) & 0xff, + 2665 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52310,8 +53114,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2611 >> 8) & 0xff, - 2611 & 0xff, + (2679 >> 8) & 0xff, + 2679 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52325,8 +53129,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2612 >> 8) & 0xff, - 2612 & 0xff, + (2680 >> 8) & 0xff, + 2680 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52340,8 +53144,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2620 >> 8) & 0xff, - 2620 & 0xff, + (2688 >> 8) & 0xff, + 2688 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52355,8 +53159,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2628 >> 8) & 0xff, - 2628 & 0xff, + (2696 >> 8) & 0xff, + 2696 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52370,8 +53174,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2636 >> 8) & 0xff, - 2636 & 0xff, + (2704 >> 8) & 0xff, + 2704 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52385,8 +53189,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2644 >> 8) & 0xff, - 2644 & 0xff, + (2712 >> 8) & 0xff, + 2712 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52400,8 +53204,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2652 >> 8) & 0xff, - 2652 & 0xff, + (2720 >> 8) & 0xff, + 2720 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52415,8 +53219,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2661 >> 8) & 0xff, - 2661 & 0xff, + (2729 >> 8) & 0xff, + 2729 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52430,8 +53234,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2668 >> 8) & 0xff, - 2668 & 0xff, + (2736 >> 8) & 0xff, + 2736 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52445,8 +53249,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2675 >> 8) & 0xff, - 2675 & 0xff, + (2743 >> 8) & 0xff, + 2743 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52460,8 +53264,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2682 >> 8) & 0xff, - 2682 & 0xff, + (2750 >> 8) & 0xff, + 2750 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52475,8 +53279,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2690 >> 8) & 0xff, - 2690 & 0xff, + (2758 >> 8) & 0xff, + 2758 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52490,8 +53294,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2699 >> 8) & 0xff, - 2699 & 0xff, + (2767 >> 8) & 0xff, + 2767 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52499,8 +53303,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (409 >> 8) & 0xff, - 409 & 0xff} + (424 >> 8) & 0xff, + 424 & 0xff} }, { .description = "l2_ivv.en", @@ -52508,8 +53312,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2704 >> 8) & 0xff, - 2704 & 0xff, + (2772 >> 8) & 0xff, + 2772 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52517,8 +53321,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (410 >> 8) & 0xff, - 410 & 0xff} + (425 >> 8) & 0xff, + 425 & 0xff} }, { .description = "l2_ivv.en", @@ -52526,8 +53330,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2708 >> 8) & 0xff, - 2708 & 0xff, + (2776 >> 8) & 0xff, + 2776 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52541,8 +53345,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2717 >> 8) & 0xff, - 2717 & 0xff, + (2785 >> 8) & 0xff, + 2785 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52556,8 +53360,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2726 >> 8) & 0xff, - 2726 & 0xff, + (2794 >> 8) & 0xff, + 2794 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52565,8 +53369,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (413 >> 8) & 0xff, - 413 & 0xff} + (428 >> 8) & 0xff, + 428 & 0xff} }, { .description = "l3_sip.en", @@ -52574,8 +53378,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2731 >> 8) & 0xff, - 2731 & 0xff, + (2799 >> 8) & 0xff, + 2799 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52583,8 +53387,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (414 >> 8) & 0xff, - 414 & 0xff} + (429 >> 8) & 0xff, + 429 & 0xff} }, { .description = "l3_sip.en", @@ -52592,8 +53396,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2735 >> 8) & 0xff, - 2735 & 0xff, + (2803 >> 8) & 0xff, + 2803 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52607,8 +53411,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2744 >> 8) & 0xff, - 2744 & 0xff, + (2812 >> 8) & 0xff, + 2812 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52616,8 +53420,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (416 >> 8) & 0xff, - 416 & 0xff} + (431 >> 8) & 0xff, + 431 & 0xff} }, { .description = "l3_dip.en", @@ -52625,8 +53429,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2749 >> 8) & 0xff, - 2749 & 0xff, + (2817 >> 8) & 0xff, + 2817 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52634,8 +53438,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (417 >> 8) & 0xff, - 417 & 0xff} + (432 >> 8) & 0xff, + 432 & 0xff} }, { .description = "l3_dip.en", @@ -52643,8 +53447,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2753 >> 8) & 0xff, - 2753 & 0xff, + (2821 >> 8) & 0xff, + 2821 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52658,8 +53462,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2762 >> 8) & 0xff, - 2762 & 0xff, + (2830 >> 8) & 0xff, + 2830 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52667,8 +53471,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (419 >> 8) & 0xff, - 419 & 0xff} + (434 >> 8) & 0xff, + 434 & 0xff} }, { .description = "l3_ttl.en", @@ -52676,8 +53480,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2767 >> 8) & 0xff, - 2767 & 0xff, + (2835 >> 8) & 0xff, + 2835 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52685,8 +53489,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (420 >> 8) & 0xff, - 420 & 0xff} + (435 >> 8) & 0xff, + 435 & 0xff} }, { .description = "l3_ttl.en", @@ -52694,8 +53498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2771 >> 8) & 0xff, - 2771 & 0xff, + (2839 >> 8) & 0xff, + 2839 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52709,8 +53513,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2780 >> 8) & 0xff, - 2780 & 0xff, + (2848 >> 8) & 0xff, + 2848 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52718,8 +53522,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (422 >> 8) & 0xff, - 422 & 0xff} + (437 >> 8) & 0xff, + 437 & 0xff} }, { .description = "l3_prot.en", @@ -52727,8 +53531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2785 >> 8) & 0xff, - 2785 & 0xff, + (2853 >> 8) & 0xff, + 2853 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52736,8 +53540,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (423 >> 8) & 0xff, - 423 & 0xff} + (438 >> 8) & 0xff, + 438 & 0xff} }, { .description = "l3_prot.en", @@ -52745,8 +53549,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2789 >> 8) & 0xff, - 2789 & 0xff, + (2857 >> 8) & 0xff, + 2857 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52760,8 +53564,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2798 >> 8) & 0xff, - 2798 & 0xff, + (2866 >> 8) & 0xff, + 2866 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52769,8 +53573,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (425 >> 8) & 0xff, - 425 & 0xff} + (440 >> 8) & 0xff, + 440 & 0xff} }, { .description = "l3_qos.en", @@ -52778,8 +53582,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2803 >> 8) & 0xff, - 2803 & 0xff, + (2871 >> 8) & 0xff, + 2871 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52787,8 +53591,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (426 >> 8) & 0xff, - 426 & 0xff} + (441 >> 8) & 0xff, + 441 & 0xff} }, { .description = "l3_qos.en", @@ -52796,8 +53600,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2807 >> 8) & 0xff, - 2807 & 0xff, + (2875 >> 8) & 0xff, + 2875 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52811,8 +53615,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2813 >> 8) & 0xff, - 2813 & 0xff, + (2881 >> 8) & 0xff, + 2881 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52826,14 +53630,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2816 >> 8) & 0xff, - 2816 & 0xff, + (2884 >> 8) & 0xff, + 2884 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (429 >> 8) & 0xff, - 429 & 0xff}, + (444 >> 8) & 0xff, + 444 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -52842,8 +53646,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2817 >> 8) & 0xff, - 2817 & 0xff, + (2885 >> 8) & 0xff, + 2885 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52857,8 +53661,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2822 >> 8) & 0xff, - 2822 & 0xff, + (2890 >> 8) & 0xff, + 2890 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52872,14 +53676,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2825 >> 8) & 0xff, - 2825 & 0xff, + (2893 >> 8) & 0xff, + 2893 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (432 >> 8) & 0xff, - 432 & 0xff}, + (447 >> 8) & 0xff, + 447 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -52888,8 +53692,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2826 >> 8) & 0xff, - 2826 & 0xff, + (2894 >> 8) & 0xff, + 2894 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52903,8 +53707,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2854 >> 8) & 0xff, - 2854 & 0xff, + (2922 >> 8) & 0xff, + 2922 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -52916,8 +53720,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2861 >> 8) & 0xff, - 2861 & 0xff, + (2929 >> 8) & 0xff, + 2929 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -52929,8 +53733,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2879 >> 8) & 0xff, - 2879 & 0xff, + (2947 >> 8) & 0xff, + 2947 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -52942,8 +53746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2889 >> 8) & 0xff, - 2889 & 0xff, + (2957 >> 8) & 0xff, + 2957 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52955,8 +53759,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2916 >> 8) & 0xff, - 2916 & 0xff, + (2984 >> 8) & 0xff, + 2984 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -52968,8 +53772,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2921 >> 8) & 0xff, - 2921 & 0xff, + (2989 >> 8) & 0xff, + 2989 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -52981,8 +53785,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2942 >> 8) & 0xff, - 2942 & 0xff, + (3010 >> 8) & 0xff, + 3010 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -52994,8 +53798,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2950 >> 8) & 0xff, - 2950 & 0xff, + (3018 >> 8) & 0xff, + 3018 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53007,8 +53811,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2958 >> 8) & 0xff, - 2958 & 0xff, + (3026 >> 8) & 0xff, + 3026 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53020,8 +53824,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2966 >> 8) & 0xff, - 2966 & 0xff, + (3034 >> 8) & 0xff, + 3034 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53033,8 +53837,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2974 >> 8) & 0xff, - 2974 & 0xff, + (3042 >> 8) & 0xff, + 3042 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53046,8 +53850,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2982 >> 8) & 0xff, - 2982 & 0xff, + (3050 >> 8) & 0xff, + 3050 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53059,8 +53863,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2990 >> 8) & 0xff, - 2990 & 0xff, + (3058 >> 8) & 0xff, + 3058 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53072,8 +53876,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2998 >> 8) & 0xff, - 2998 & 0xff, + (3066 >> 8) & 0xff, + 3066 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53085,8 +53889,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3007 >> 8) & 0xff, - 3007 & 0xff, + (3075 >> 8) & 0xff, + 3075 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53098,8 +53902,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3016 >> 8) & 0xff, - 3016 & 0xff, + (3084 >> 8) & 0xff, + 3084 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53111,8 +53915,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3023 >> 8) & 0xff, - 3023 & 0xff, + (3091 >> 8) & 0xff, + 3091 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53124,8 +53928,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3029 >> 8) & 0xff, - 3029 & 0xff, + (3097 >> 8) & 0xff, + 3097 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53137,8 +53941,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3036 >> 8) & 0xff, - 3036 & 0xff, + (3104 >> 8) & 0xff, + 3104 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53150,8 +53954,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3043 >> 8) & 0xff, - 3043 & 0xff, + (3111 >> 8) & 0xff, + 3111 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53163,8 +53967,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3050 >> 8) & 0xff, - 3050 & 0xff, + (3118 >> 8) & 0xff, + 3118 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53176,8 +53980,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3057 >> 8) & 0xff, - 3057 & 0xff, + (3125 >> 8) & 0xff, + 3125 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53189,8 +53993,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3065 >> 8) & 0xff, - 3065 & 0xff, + (3133 >> 8) & 0xff, + 3133 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53202,8 +54006,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3074 >> 8) & 0xff, - 3074 & 0xff, + (3142 >> 8) & 0xff, + 3142 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53215,15 +54019,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3083 >> 8) & 0xff, - 3083 & 0xff, + (3151 >> 8) & 0xff, + 3151 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (458 >> 8) & 0xff, - 458 & 0xff} + (473 >> 8) & 0xff, + 473 & 0xff} }, { .description = "l2_ivv", @@ -53231,15 +54035,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3088 >> 8) & 0xff, - 3088 & 0xff, + (3156 >> 8) & 0xff, + 3156 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (459 >> 8) & 0xff, - 459 & 0xff} + (474 >> 8) & 0xff, + 474 & 0xff} }, { .description = "l2_ivv", @@ -53247,8 +54051,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3092 >> 8) & 0xff, - 3092 & 0xff, + (3160 >> 8) & 0xff, + 3160 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53260,15 +54064,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3101 >> 8) & 0xff, - 3101 & 0xff, + (3169 >> 8) & 0xff, + 3169 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (461 >> 8) & 0xff, - 461 & 0xff} + (476 >> 8) & 0xff, + 476 & 0xff} }, { .description = "l2_ivv", @@ -53276,15 +54080,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3106 >> 8) & 0xff, - 3106 & 0xff, + (3174 >> 8) & 0xff, + 3174 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (462 >> 8) & 0xff, - 462 & 0xff} + (477 >> 8) & 0xff, + 477 & 0xff} }, { .description = "l2_ivv", @@ -53292,8 +54096,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3110 >> 8) & 0xff, - 3110 & 0xff, + (3178 >> 8) & 0xff, + 3178 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53305,8 +54109,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3119 >> 8) & 0xff, - 3119 & 0xff, + (3187 >> 8) & 0xff, + 3187 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53318,8 +54122,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3128 >> 8) & 0xff, - 3128 & 0xff, + (3196 >> 8) & 0xff, + 3196 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53331,8 +54135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3136 >> 8) & 0xff, - 3136 & 0xff, + (3204 >> 8) & 0xff, + 3204 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53344,8 +54148,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3143 >> 8) & 0xff, - 3143 & 0xff, + (3211 >> 8) & 0xff, + 3211 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53357,8 +54161,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3150 >> 8) & 0xff, - 3150 & 0xff, + (3218 >> 8) & 0xff, + 3218 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53370,8 +54174,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3157 >> 8) & 0xff, - 3157 & 0xff, + (3225 >> 8) & 0xff, + 3225 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53383,8 +54187,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3164 >> 8) & 0xff, - 3164 & 0xff, + (3232 >> 8) & 0xff, + 3232 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53396,8 +54200,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3171 >> 8) & 0xff, - 3171 & 0xff, + (3239 >> 8) & 0xff, + 3239 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53409,8 +54213,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3178 >> 8) & 0xff, - 3178 & 0xff, + (3246 >> 8) & 0xff, + 3246 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53422,8 +54226,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3185 >> 8) & 0xff, - 3185 & 0xff, + (3253 >> 8) & 0xff, + 3253 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53435,15 +54239,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3192 >> 8) & 0xff, - 3192 & 0xff, + (3260 >> 8) & 0xff, + 3260 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (474 >> 8) & 0xff, - 474 & 0xff} + (489 >> 8) & 0xff, + 489 & 0xff} }, { .description = "l3.ttl", @@ -53451,15 +54255,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3196 >> 8) & 0xff, - 3196 & 0xff, + (3264 >> 8) & 0xff, + 3264 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (475 >> 8) & 0xff, - 475 & 0xff} + (490 >> 8) & 0xff, + 490 & 0xff} }, { .description = "l3.ttl", @@ -53467,8 +54271,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3199 >> 8) & 0xff, - 3199 & 0xff, + (3267 >> 8) & 0xff, + 3267 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53480,15 +54284,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3206 >> 8) & 0xff, - 3206 & 0xff, + (3274 >> 8) & 0xff, + 3274 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (477 >> 8) & 0xff, - 477 & 0xff} + (492 >> 8) & 0xff, + 492 & 0xff} }, { .description = "l3.ttl", @@ -53496,15 +54300,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3210 >> 8) & 0xff, - 3210 & 0xff, + (3278 >> 8) & 0xff, + 3278 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (478 >> 8) & 0xff, - 478 & 0xff} + (493 >> 8) & 0xff, + 493 & 0xff} }, { .description = "l3.ttl", @@ -53512,8 +54316,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3213 >> 8) & 0xff, - 3213 & 0xff, + (3281 >> 8) & 0xff, + 3281 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53525,15 +54329,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3219 >> 8) & 0xff, - 3219 & 0xff, + (3287 >> 8) & 0xff, + 3287 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (480 >> 8) & 0xff, - 480 & 0xff} + (495 >> 8) & 0xff, + 495 & 0xff} }, { .description = "l3.prot", @@ -53541,15 +54345,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3222 >> 8) & 0xff, - 3222 & 0xff, + (3290 >> 8) & 0xff, + 3290 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (481 >> 8) & 0xff, - 481 & 0xff} + (496 >> 8) & 0xff, + 496 & 0xff} }, { .description = "l3.prot", @@ -53557,15 +54361,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3224 >> 8) & 0xff, - 3224 & 0xff, + (3292 >> 8) & 0xff, + 3292 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (482 >> 8) & 0xff, - 482 & 0xff} + (497 >> 8) & 0xff, + 497 & 0xff} }, { .description = "l3.prot", @@ -53573,15 +54377,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3226 >> 8) & 0xff, - 3226 & 0xff, + (3294 >> 8) & 0xff, + 3294 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (483 >> 8) & 0xff, - 483 & 0xff} + (498 >> 8) & 0xff, + 498 & 0xff} }, { .description = "l3.prot", @@ -53589,15 +54393,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3230 >> 8) & 0xff, - 3230 & 0xff, + (3298 >> 8) & 0xff, + 3298 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (484 >> 8) & 0xff, - 484 & 0xff} + (499 >> 8) & 0xff, + 499 & 0xff} }, { .description = "l3.prot", @@ -53605,15 +54409,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3234 >> 8) & 0xff, - 3234 & 0xff, + (3302 >> 8) & 0xff, + 3302 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (485 >> 8) & 0xff, - 485 & 0xff} + (500 >> 8) & 0xff, + 500 & 0xff} }, { .description = "l3.prot", @@ -53621,8 +54425,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3237 >> 8) & 0xff, - 3237 & 0xff, + (3305 >> 8) & 0xff, + 3305 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53634,15 +54438,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3243 >> 8) & 0xff, - 3243 & 0xff, + (3311 >> 8) & 0xff, + 3311 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (487 >> 8) & 0xff, - 487 & 0xff} + (502 >> 8) & 0xff, + 502 & 0xff} }, { .description = "l3.prot", @@ -53650,15 +54454,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3246 >> 8) & 0xff, - 3246 & 0xff, + (3314 >> 8) & 0xff, + 3314 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (488 >> 8) & 0xff, - 488 & 0xff} + (503 >> 8) & 0xff, + 503 & 0xff} }, { .description = "l3.prot", @@ -53666,15 +54470,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3248 >> 8) & 0xff, - 3248 & 0xff, + (3316 >> 8) & 0xff, + 3316 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (489 >> 8) & 0xff, - 489 & 0xff} + (504 >> 8) & 0xff, + 504 & 0xff} }, { .description = "l3.prot", @@ -53682,15 +54486,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3250 >> 8) & 0xff, - 3250 & 0xff, + (3318 >> 8) & 0xff, + 3318 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (490 >> 8) & 0xff, - 490 & 0xff} + (505 >> 8) & 0xff, + 505 & 0xff} }, { .description = "l3.prot", @@ -53698,15 +54502,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3254 >> 8) & 0xff, - 3254 & 0xff, + (3322 >> 8) & 0xff, + 3322 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (491 >> 8) & 0xff, - 491 & 0xff} + (506 >> 8) & 0xff, + 506 & 0xff} }, { .description = "l3.prot", @@ -53714,15 +54518,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3258 >> 8) & 0xff, - 3258 & 0xff, + (3326 >> 8) & 0xff, + 3326 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (492 >> 8) & 0xff, - 492 & 0xff} + (507 >> 8) & 0xff, + 507 & 0xff} }, { .description = "l3.prot", @@ -53730,8 +54534,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3261 >> 8) & 0xff, - 3261 & 0xff, + (3329 >> 8) & 0xff, + 3329 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53743,15 +54547,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3268 >> 8) & 0xff, - 3268 & 0xff, + (3336 >> 8) & 0xff, + 3336 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (494 >> 8) & 0xff, - 494 & 0xff} + (509 >> 8) & 0xff, + 509 & 0xff} }, { .description = "l3.qos", @@ -53759,15 +54563,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3272 >> 8) & 0xff, - 3272 & 0xff, + (3340 >> 8) & 0xff, + 3340 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (495 >> 8) & 0xff, - 495 & 0xff} + (510 >> 8) & 0xff, + 510 & 0xff} }, { .description = "l3.qos", @@ -53775,8 +54579,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3275 >> 8) & 0xff, - 3275 & 0xff, + (3343 >> 8) & 0xff, + 3343 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -53788,15 +54592,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3282 >> 8) & 0xff, - 3282 & 0xff, + (3350 >> 8) & 0xff, + 3350 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (497 >> 8) & 0xff, - 497 & 0xff} + (512 >> 8) & 0xff, + 512 & 0xff} }, { .description = "l3.qos", @@ -53804,15 +54608,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3286 >> 8) & 0xff, - 3286 & 0xff, + (3354 >> 8) & 0xff, + 3354 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (498 >> 8) & 0xff, - 498 & 0xff} + (513 >> 8) & 0xff, + 513 & 0xff} }, { .description = "l3.qos", @@ -53820,8 +54624,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3289 >> 8) & 0xff, - 3289 & 0xff, + (3357 >> 8) & 0xff, + 3357 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -53833,15 +54637,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3296 >> 8) & 0xff, - 3296 & 0xff, + (3364 >> 8) & 0xff, + 3364 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (500 >> 8) & 0xff, - 500 & 0xff} + (515 >> 8) & 0xff, + 515 & 0xff} }, { .description = "l4.src", @@ -53849,15 +54653,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3300 >> 8) & 0xff, - 3300 & 0xff, + (3368 >> 8) & 0xff, + 3368 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (501 >> 8) & 0xff, - 501 & 0xff} + (516 >> 8) & 0xff, + 516 & 0xff} }, { .description = "l4.src", @@ -53865,15 +54669,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3303 >> 8) & 0xff, - 3303 & 0xff, + (3371 >> 8) & 0xff, + 3371 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (502 >> 8) & 0xff, - 502 & 0xff} + (517 >> 8) & 0xff, + 517 & 0xff} }, { .description = "l4.src", @@ -53881,8 +54685,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3306 >> 8) & 0xff, - 3306 & 0xff, + (3374 >> 8) & 0xff, + 3374 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -53894,15 +54698,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3312 >> 8) & 0xff, - 3312 & 0xff, + (3380 >> 8) & 0xff, + 3380 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (504 >> 8) & 0xff, - 504 & 0xff} + (519 >> 8) & 0xff, + 519 & 0xff} }, { .description = "l4.src", @@ -53910,15 +54714,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3316 >> 8) & 0xff, - 3316 & 0xff, + (3384 >> 8) & 0xff, + 3384 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (505 >> 8) & 0xff, - 505 & 0xff} + (520 >> 8) & 0xff, + 520 & 0xff} }, { .description = "l4.src", @@ -53926,15 +54730,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3319 >> 8) & 0xff, - 3319 & 0xff, + (3387 >> 8) & 0xff, + 3387 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (506 >> 8) & 0xff, - 506 & 0xff} + (521 >> 8) & 0xff, + 521 & 0xff} }, { .description = "l4.src", @@ -53942,8 +54746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3322 >> 8) & 0xff, - 3322 & 0xff, + (3390 >> 8) & 0xff, + 3390 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -53955,15 +54759,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3328 >> 8) & 0xff, - 3328 & 0xff, + (3396 >> 8) & 0xff, + 3396 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (508 >> 8) & 0xff, - 508 & 0xff} + (523 >> 8) & 0xff, + 523 & 0xff} }, { .description = "l4.dst", @@ -53971,15 +54775,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3332 >> 8) & 0xff, - 3332 & 0xff, + (3400 >> 8) & 0xff, + 3400 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (509 >> 8) & 0xff, - 509 & 0xff} + (524 >> 8) & 0xff, + 524 & 0xff} }, { .description = "l4.dst", @@ -53987,15 +54791,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3335 >> 8) & 0xff, - 3335 & 0xff, + (3403 >> 8) & 0xff, + 3403 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (510 >> 8) & 0xff, - 510 & 0xff} + (525 >> 8) & 0xff, + 525 & 0xff} }, { .description = "l4.dst", @@ -54003,8 +54807,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3338 >> 8) & 0xff, - 3338 & 0xff, + (3406 >> 8) & 0xff, + 3406 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -54016,15 +54820,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3344 >> 8) & 0xff, - 3344 & 0xff, + (3412 >> 8) & 0xff, + 3412 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (512 >> 8) & 0xff, - 512 & 0xff} + (527 >> 8) & 0xff, + 527 & 0xff} }, { .description = "l4.dst", @@ -54032,15 +54836,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3348 >> 8) & 0xff, - 3348 & 0xff, + (3416 >> 8) & 0xff, + 3416 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (513 >> 8) & 0xff, - 513 & 0xff} + (528 >> 8) & 0xff, + 528 & 0xff} }, { .description = "l4.dst", @@ -54048,15 +54852,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3351 >> 8) & 0xff, - 3351 & 0xff, + (3419 >> 8) & 0xff, + 3419 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (514 >> 8) & 0xff, - 514 & 0xff} + (529 >> 8) & 0xff, + 529 & 0xff} }, { .description = "l4.dst", @@ -54064,8 +54868,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3354 >> 8) & 0xff, - 3354 & 0xff, + (3422 >> 8) & 0xff, + 3422 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -54078,15 +54882,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3359 >> 8) & 0xff, - 3359 & 0xff, + (3427 >> 8) & 0xff, + 3427 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (516 >> 8) & 0xff, - 516 & 0xff} + (531 >> 8) & 0xff, + 531 & 0xff} }, { .description = "", @@ -54094,15 +54898,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3361 >> 8) & 0xff, - 3361 & 0xff, + (3429 >> 8) & 0xff, + 3429 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (517 >> 8) & 0xff, - 517 & 0xff} + (532 >> 8) & 0xff, + 532 & 0xff} }, { .description = "", @@ -54110,15 +54914,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3363 >> 8) & 0xff, - 3363 & 0xff, + (3431 >> 8) & 0xff, + 3431 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (518 >> 8) & 0xff, - 518 & 0xff} + (533 >> 8) & 0xff, + 533 & 0xff} }, { .description = "", @@ -54126,15 +54930,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3365 >> 8) & 0xff, - 3365 & 0xff, + (3433 >> 8) & 0xff, + 3433 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (519 >> 8) & 0xff, - 519 & 0xff} + (534 >> 8) & 0xff, + 534 & 0xff} }, { .description = "", @@ -54142,8 +54946,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3367 >> 8) & 0xff, - 3367 & 0xff, + (3435 >> 8) & 0xff, + 3435 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54151,8 +54955,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (520 >> 8) & 0xff, - 520 & 0xff} + (535 >> 8) & 0xff, + 535 & 0xff} }, { .description = "", @@ -54160,8 +54964,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3369 >> 8) & 0xff, - 3369 & 0xff, + (3437 >> 8) & 0xff, + 3437 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54169,8 +54973,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (521 >> 8) & 0xff, - 521 & 0xff} + (536 >> 8) & 0xff, + 536 & 0xff} }, { .description = "", @@ -54178,8 +54982,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3371 >> 8) & 0xff, - 3371 & 0xff, + (3439 >> 8) & 0xff, + 3439 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54187,8 +54991,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (522 >> 8) & 0xff, - 522 & 0xff} + (537 >> 8) & 0xff, + 537 & 0xff} }, { .description = "", @@ -54196,8 +55000,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3373 >> 8) & 0xff, - 3373 & 0xff, + (3441 >> 8) & 0xff, + 3441 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54213,15 +55017,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3377 >> 8) & 0xff, - 3377 & 0xff, + (3445 >> 8) & 0xff, + 3445 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (524 >> 8) & 0xff, - 524 & 0xff} + (539 >> 8) & 0xff, + 539 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -54229,15 +55033,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3379 >> 8) & 0xff, - 3379 & 0xff, + (3447 >> 8) & 0xff, + 3447 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (525 >> 8) & 0xff, - 525 & 0xff} + (540 >> 8) & 0xff, + 540 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -54245,8 +55049,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3381 >> 8) & 0xff, - 3381 & 0xff, + (3449 >> 8) & 0xff, + 3449 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54258,8 +55062,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3385 >> 8) & 0xff, - 3385 & 0xff, + (3453 >> 8) & 0xff, + 3453 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54267,8 +55071,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (527 >> 8) & 0xff, - 527 & 0xff} + (542 >> 8) & 0xff, + 542 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -54276,8 +55080,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3387 >> 8) & 0xff, - 3387 & 0xff, + (3455 >> 8) & 0xff, + 3455 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54285,8 +55089,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (528 >> 8) & 0xff, - 528 & 0xff} + (543 >> 8) & 0xff, + 543 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -54294,8 +55098,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3389 >> 8) & 0xff, - 3389 & 0xff, + (3457 >> 8) & 0xff, + 3457 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54309,15 +55113,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3393 >> 8) & 0xff, - 3393 & 0xff, + (3461 >> 8) & 0xff, + 3461 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (530 >> 8) & 0xff, - 530 & 0xff} + (545 >> 8) & 0xff, + 545 & 0xff} }, { .description = "l4_hdr_type", @@ -54325,15 +55129,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3395 >> 8) & 0xff, - 3395 & 0xff, + (3463 >> 8) & 0xff, + 3463 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (531 >> 8) & 0xff, - 531 & 0xff} + (546 >> 8) & 0xff, + 546 & 0xff} }, { .description = "l4_hdr_type", @@ -54341,8 +55145,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3397 >> 8) & 0xff, - 3397 & 0xff, + (3465 >> 8) & 0xff, + 3465 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54354,15 +55158,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3401 >> 8) & 0xff, - 3401 & 0xff, + (3469 >> 8) & 0xff, + 3469 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (533 >> 8) & 0xff, - 533 & 0xff} + (548 >> 8) & 0xff, + 548 & 0xff} }, { .description = "l4_hdr_type", @@ -54370,8 +55174,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3403 >> 8) & 0xff, - 3403 & 0xff, + (3471 >> 8) & 0xff, + 3471 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54379,8 +55183,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_TYPE_UDP}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (534 >> 8) & 0xff, - 534 & 0xff} + (549 >> 8) & 0xff, + 549 & 0xff} }, { .description = "l4_hdr_type", @@ -54388,8 +55192,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3405 >> 8) & 0xff, - 3405 & 0xff, + (3473 >> 8) & 0xff, + 3473 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54403,15 +55207,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3409 >> 8) & 0xff, - 3409 & 0xff, + (3477 >> 8) & 0xff, + 3477 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (536 >> 8) & 0xff, - 536 & 0xff} + (551 >> 8) & 0xff, + 551 & 0xff} }, { .description = "l4_hdr_error", @@ -54419,15 +55223,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3411 >> 8) & 0xff, - 3411 & 0xff, + (3479 >> 8) & 0xff, + 3479 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (537 >> 8) & 0xff, - 537 & 0xff} + (552 >> 8) & 0xff, + 552 & 0xff} }, { .description = "l4_hdr_error", @@ -54435,8 +55239,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3413 >> 8) & 0xff, - 3413 & 0xff, + (3481 >> 8) & 0xff, + 3481 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54448,15 +55252,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3417 >> 8) & 0xff, - 3417 & 0xff, + (3485 >> 8) & 0xff, + 3485 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (539 >> 8) & 0xff, - 539 & 0xff} + (554 >> 8) & 0xff, + 554 & 0xff} }, { .description = "l4_hdr_error", @@ -54464,15 +55268,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3419 >> 8) & 0xff, - 3419 & 0xff, + (3487 >> 8) & 0xff, + 3487 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (540 >> 8) & 0xff, - 540 & 0xff} + (555 >> 8) & 0xff, + 555 & 0xff} }, { .description = "l4_hdr_error", @@ -54480,8 +55284,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3421 >> 8) & 0xff, - 3421 & 0xff, + (3489 >> 8) & 0xff, + 3489 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -54493,15 +55297,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3425 >> 8) & 0xff, - 3425 & 0xff, + (3493 >> 8) & 0xff, + 3493 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (542 >> 8) & 0xff, - 542 & 0xff} + (557 >> 8) & 0xff, + 557 & 0xff} }, { .description = "l4_hdr_valid", @@ -54509,15 +55313,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3427 >> 8) & 0xff, - 3427 & 0xff, + (3495 >> 8) & 0xff, + 3495 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (543 >> 8) & 0xff, - 543 & 0xff} + (558 >> 8) & 0xff, + 558 & 0xff} }, { .description = "l4_hdr_valid", @@ -54525,8 +55329,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3429 >> 8) & 0xff, - 3429 & 0xff, + (3497 >> 8) & 0xff, + 3497 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54538,8 +55342,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3433 >> 8) & 0xff, - 3433 & 0xff, + (3501 >> 8) & 0xff, + 3501 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54547,8 +55351,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (545 >> 8) & 0xff, - 545 & 0xff} + (560 >> 8) & 0xff, + 560 & 0xff} }, { .description = "l4_hdr_valid", @@ -54556,8 +55360,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3435 >> 8) & 0xff, - 3435 & 0xff, + (3503 >> 8) & 0xff, + 3503 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54565,8 +55369,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (546 >> 8) & 0xff, - 546 & 0xff} + (561 >> 8) & 0xff, + 561 & 0xff} }, { .description = "l4_hdr_valid", @@ -54574,8 +55378,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3437 >> 8) & 0xff, - 3437 & 0xff, + (3505 >> 8) & 0xff, + 3505 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54589,8 +55393,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3441 >> 8) & 0xff, - 3441 & 0xff, + (3509 >> 8) & 0xff, + 3509 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54598,8 +55402,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (548 >> 8) & 0xff, - 548 & 0xff} + (563 >> 8) & 0xff, + 563 & 0xff} }, { .description = "l3_hdr_isIP", @@ -54607,8 +55411,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3443 >> 8) & 0xff, - 3443 & 0xff, + (3511 >> 8) & 0xff, + 3511 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54616,8 +55420,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (549 >> 8) & 0xff, - 549 & 0xff} + (564 >> 8) & 0xff, + 564 & 0xff} }, { .description = "l3_hdr_isIP", @@ -54625,8 +55429,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3445 >> 8) & 0xff, - 3445 & 0xff, + (3513 >> 8) & 0xff, + 3513 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54640,15 +55444,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3449 >> 8) & 0xff, - 3449 & 0xff, + (3517 >> 8) & 0xff, + 3517 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (551 >> 8) & 0xff, - 551 & 0xff} + (566 >> 8) & 0xff, + 566 & 0xff} }, { .description = "l3_hdr_type", @@ -54656,15 +55460,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3451 >> 8) & 0xff, - 3451 & 0xff, + (3519 >> 8) & 0xff, + 3519 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (552 >> 8) & 0xff, - 552 & 0xff} + (567 >> 8) & 0xff, + 567 & 0xff} }, { .description = "l3_hdr_type", @@ -54672,8 +55476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3453 >> 8) & 0xff, - 3453 & 0xff, + (3521 >> 8) & 0xff, + 3521 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54685,8 +55489,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3457 >> 8) & 0xff, - 3457 & 0xff, + (3525 >> 8) & 0xff, + 3525 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54694,8 +55498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (554 >> 8) & 0xff, - 554 & 0xff} + (569 >> 8) & 0xff, + 569 & 0xff} }, { .description = "l3_hdr_type", @@ -54703,15 +55507,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3459 >> 8) & 0xff, - 3459 & 0xff, + (3527 >> 8) & 0xff, + 3527 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (555 >> 8) & 0xff, - 555 & 0xff} + (570 >> 8) & 0xff, + 570 & 0xff} }, { .description = "l3_hdr_type", @@ -54719,8 +55523,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3461 >> 8) & 0xff, - 3461 & 0xff, + (3529 >> 8) & 0xff, + 3529 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -54732,15 +55536,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3465 >> 8) & 0xff, - 3465 & 0xff, + (3533 >> 8) & 0xff, + 3533 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (557 >> 8) & 0xff, - 557 & 0xff} + (572 >> 8) & 0xff, + 572 & 0xff} }, { .description = "l3_hdr_error", @@ -54748,15 +55552,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3467 >> 8) & 0xff, - 3467 & 0xff, + (3535 >> 8) & 0xff, + 3535 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (558 >> 8) & 0xff, - 558 & 0xff} + (573 >> 8) & 0xff, + 573 & 0xff} }, { .description = "l3_hdr_error", @@ -54764,8 +55568,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3469 >> 8) & 0xff, - 3469 & 0xff, + (3537 >> 8) & 0xff, + 3537 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54777,15 +55581,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3473 >> 8) & 0xff, - 3473 & 0xff, + (3541 >> 8) & 0xff, + 3541 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (560 >> 8) & 0xff, - 560 & 0xff} + (575 >> 8) & 0xff, + 575 & 0xff} }, { .description = "l3_hdr_error", @@ -54793,15 +55597,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3475 >> 8) & 0xff, - 3475 & 0xff, + (3543 >> 8) & 0xff, + 3543 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (561 >> 8) & 0xff, - 561 & 0xff} + (576 >> 8) & 0xff, + 576 & 0xff} }, { .description = "l3_hdr_error", @@ -54809,8 +55613,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3477 >> 8) & 0xff, - 3477 & 0xff, + (3545 >> 8) & 0xff, + 3545 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -54822,15 +55626,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3481 >> 8) & 0xff, - 3481 & 0xff, + (3549 >> 8) & 0xff, + 3549 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (563 >> 8) & 0xff, - 563 & 0xff} + (578 >> 8) & 0xff, + 578 & 0xff} }, { .description = "l3_hdr_valid", @@ -54838,15 +55642,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3483 >> 8) & 0xff, - 3483 & 0xff, + (3551 >> 8) & 0xff, + 3551 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (564 >> 8) & 0xff, - 564 & 0xff} + (579 >> 8) & 0xff, + 579 & 0xff} }, { .description = "l3_hdr_valid", @@ -54854,8 +55658,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3485 >> 8) & 0xff, - 3485 & 0xff, + (3553 >> 8) & 0xff, + 3553 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54867,8 +55671,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3489 >> 8) & 0xff, - 3489 & 0xff, + (3557 >> 8) & 0xff, + 3557 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54876,8 +55680,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (566 >> 8) & 0xff, - 566 & 0xff} + (581 >> 8) & 0xff, + 581 & 0xff} }, { .description = "l3_hdr_valid", @@ -54885,8 +55689,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3491 >> 8) & 0xff, - 3491 & 0xff, + (3559 >> 8) & 0xff, + 3559 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54894,8 +55698,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (567 >> 8) & 0xff, - 567 & 0xff} + (582 >> 8) & 0xff, + 582 & 0xff} }, { .description = "l3_hdr_valid", @@ -54903,8 +55707,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3493 >> 8) & 0xff, - 3493 & 0xff, + (3561 >> 8) & 0xff, + 3561 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54918,8 +55722,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3498 >> 8) & 0xff, - 3498 & 0xff, + (3566 >> 8) & 0xff, + 3566 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54933,8 +55737,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3504 >> 8) & 0xff, - 3504 & 0xff, + (3572 >> 8) & 0xff, + 3572 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54948,8 +55752,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3511 >> 8) & 0xff, - 3511 & 0xff, + (3579 >> 8) & 0xff, + 3579 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -54961,8 +55765,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3515 >> 8) & 0xff, - 3515 & 0xff, + (3583 >> 8) & 0xff, + 3583 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -54974,8 +55778,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3519 >> 8) & 0xff, - 3519 & 0xff, + (3587 >> 8) & 0xff, + 3587 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -54989,15 +55793,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3523 >> 8) & 0xff, - 3523 & 0xff, + (3591 >> 8) & 0xff, + 3591 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (574 >> 8) & 0xff, - 574 & 0xff} + (589 >> 8) & 0xff, + 589 & 0xff} }, { .description = "tun_hdr_type", @@ -55005,15 +55809,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3525 >> 8) & 0xff, - 3525 & 0xff, + (3593 >> 8) & 0xff, + 3593 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (575 >> 8) & 0xff, - 575 & 0xff} + (590 >> 8) & 0xff, + 590 & 0xff} }, { .description = "tun_hdr_type", @@ -55021,15 +55825,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3527 >> 8) & 0xff, - 3527 & 0xff, + (3595 >> 8) & 0xff, + 3595 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (576 >> 8) & 0xff, - 576 & 0xff} + (591 >> 8) & 0xff, + 591 & 0xff} }, { .description = "tun_hdr_type", @@ -55037,15 +55841,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3529 >> 8) & 0xff, - 3529 & 0xff, + (3597 >> 8) & 0xff, + 3597 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (577 >> 8) & 0xff, - 577 & 0xff} + (592 >> 8) & 0xff, + 592 & 0xff} }, { .description = "tun_hdr_type", @@ -55053,8 +55857,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3531 >> 8) & 0xff, - 3531 & 0xff, + (3599 >> 8) & 0xff, + 3599 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55066,15 +55870,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3535 >> 8) & 0xff, - 3535 & 0xff, + (3603 >> 8) & 0xff, + 3603 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (579 >> 8) & 0xff, - 579 & 0xff} + (594 >> 8) & 0xff, + 594 & 0xff} }, { .description = "tun_hdr_type", @@ -55082,8 +55886,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3537 >> 8) & 0xff, - 3537 & 0xff, + (3605 >> 8) & 0xff, + 3605 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55091,8 +55895,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_GENEVE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (580 >> 8) & 0xff, - 580 & 0xff} + (595 >> 8) & 0xff, + 595 & 0xff} }, { .description = "tun_hdr_type", @@ -55100,8 +55904,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3539 >> 8) & 0xff, - 3539 & 0xff, + (3607 >> 8) & 0xff, + 3607 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55109,8 +55913,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_GRE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (581 >> 8) & 0xff, - 581 & 0xff} + (596 >> 8) & 0xff, + 596 & 0xff} }, { .description = "tun_hdr_type", @@ -55118,8 +55922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3541 >> 8) & 0xff, - 3541 & 0xff, + (3609 >> 8) & 0xff, + 3609 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55127,8 +55931,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_UPAR1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (582 >> 8) & 0xff, - 582 & 0xff} + (597 >> 8) & 0xff, + 597 & 0xff} }, { .description = "tun_hdr_type", @@ -55136,8 +55940,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3543 >> 8) & 0xff, - 3543 & 0xff, + (3611 >> 8) & 0xff, + 3611 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55151,8 +55955,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3550 >> 8) & 0xff, - 3550 & 0xff, + (3618 >> 8) & 0xff, + 3618 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55164,8 +55968,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3554 >> 8) & 0xff, - 3554 & 0xff, + (3622 >> 8) & 0xff, + 3622 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55179,8 +55983,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3558 >> 8) & 0xff, - 3558 & 0xff, + (3626 >> 8) & 0xff, + 3626 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55192,8 +55996,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3562 >> 8) & 0xff, - 3562 & 0xff, + (3630 >> 8) & 0xff, + 3630 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55207,8 +56011,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3566 >> 8) & 0xff, - 3566 & 0xff, + (3634 >> 8) & 0xff, + 3634 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55220,8 +56024,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3570 >> 8) & 0xff, - 3570 & 0xff, + (3638 >> 8) & 0xff, + 3638 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -55233,15 +56037,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3574 >> 8) & 0xff, - 3574 & 0xff, + (3642 >> 8) & 0xff, + 3642 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (590 >> 8) & 0xff, - 590 & 0xff} + (605 >> 8) & 0xff, + 605 & 0xff} }, { .description = "tl4_hdr_valid", @@ -55249,8 +56053,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3576 >> 8) & 0xff, - 3576 & 0xff, + (3644 >> 8) & 0xff, + 3644 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -55262,8 +56066,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3579 >> 8) & 0xff, - 3579 & 0xff, + (3647 >> 8) & 0xff, + 3647 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55271,8 +56075,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (592 >> 8) & 0xff, - 592 & 0xff} + (607 >> 8) & 0xff, + 607 & 0xff} }, { .description = "tl4_hdr_valid", @@ -55280,8 +56084,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3581 >> 8) & 0xff, - 3581 & 0xff, + (3649 >> 8) & 0xff, + 3649 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -55293,8 +56097,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3584 >> 8) & 0xff, - 3584 & 0xff, + (3652 >> 8) & 0xff, + 3652 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55308,8 +56112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3588 >> 8) & 0xff, - 3588 & 0xff, + (3656 >> 8) & 0xff, + 3656 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55321,8 +56125,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3592 >> 8) & 0xff, - 3592 & 0xff, + (3660 >> 8) & 0xff, + 3660 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -55334,8 +56138,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3596 >> 8) & 0xff, - 3596 & 0xff, + (3664 >> 8) & 0xff, + 3664 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -55347,8 +56151,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3600 >> 8) & 0xff, - 3600 & 0xff, + (3668 >> 8) & 0xff, + 3668 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -55360,8 +56164,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3604 >> 8) & 0xff, - 3604 & 0xff, + (3672 >> 8) & 0xff, + 3672 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -55375,10 +56179,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3618 >> 8) & 0xff, - 3618 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (3686 >> 8) & 0xff, + 3686 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, @@ -55391,8 +56195,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3629 >> 8) & 0xff, - 3629 & 0xff, + (3697 >> 8) & 0xff, + 3697 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (616 >> 8) & 0xff, + 616 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3698 >> 8) & 0xff, + 3698 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -55407,8 +56227,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3644 >> 8) & 0xff, - 3644 & 0xff, + (3713 >> 8) & 0xff, + 3713 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -55423,8 +56243,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3651 >> 8) & 0xff, - 3651 & 0xff, + (3720 >> 8) & 0xff, + 3720 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -55439,8 +56259,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3669 >> 8) & 0xff, - 3669 & 0xff, + (3738 >> 8) & 0xff, + 3738 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55455,8 +56275,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3679 >> 8) & 0xff, - 3679 & 0xff, + (3748 >> 8) & 0xff, + 3748 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55471,8 +56291,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3706 >> 8) & 0xff, - 3706 & 0xff, + (3775 >> 8) & 0xff, + 3775 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55487,8 +56307,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3711 >> 8) & 0xff, - 3711 & 0xff, + (3780 >> 8) & 0xff, + 3780 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55503,8 +56323,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3732 >> 8) & 0xff, - 3732 & 0xff, + (3801 >> 8) & 0xff, + 3801 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55519,8 +56339,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3740 >> 8) & 0xff, - 3740 & 0xff, + (3809 >> 8) & 0xff, + 3809 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55535,8 +56355,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3748 >> 8) & 0xff, - 3748 & 0xff, + (3817 >> 8) & 0xff, + 3817 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55551,8 +56371,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3756 >> 8) & 0xff, - 3756 & 0xff, + (3825 >> 8) & 0xff, + 3825 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55567,8 +56387,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3764 >> 8) & 0xff, - 3764 & 0xff, + (3833 >> 8) & 0xff, + 3833 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55583,8 +56403,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3772 >> 8) & 0xff, - 3772 & 0xff, + (3841 >> 8) & 0xff, + 3841 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55599,8 +56419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3780 >> 8) & 0xff, - 3780 & 0xff, + (3849 >> 8) & 0xff, + 3849 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55615,8 +56435,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3788 >> 8) & 0xff, - 3788 & 0xff, + (3857 >> 8) & 0xff, + 3857 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55631,8 +56451,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3797 >> 8) & 0xff, - 3797 & 0xff, + (3866 >> 8) & 0xff, + 3866 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55647,8 +56467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3806 >> 8) & 0xff, - 3806 & 0xff, + (3875 >> 8) & 0xff, + 3875 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55663,8 +56483,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3813 >> 8) & 0xff, - 3813 & 0xff, + (3882 >> 8) & 0xff, + 3882 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55679,8 +56499,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3819 >> 8) & 0xff, - 3819 & 0xff, + (3888 >> 8) & 0xff, + 3888 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55695,8 +56515,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3826 >> 8) & 0xff, - 3826 & 0xff, + (3895 >> 8) & 0xff, + 3895 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55711,8 +56531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3833 >> 8) & 0xff, - 3833 & 0xff, + (3902 >> 8) & 0xff, + 3902 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55727,8 +56547,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3840 >> 8) & 0xff, - 3840 & 0xff, + (3909 >> 8) & 0xff, + 3909 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55743,8 +56563,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3847 >> 8) & 0xff, - 3847 & 0xff, + (3916 >> 8) & 0xff, + 3916 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55759,8 +56579,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3855 >> 8) & 0xff, - 3855 & 0xff, + (3924 >> 8) & 0xff, + 3924 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55775,8 +56595,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3864 >> 8) & 0xff, - 3864 & 0xff, + (3933 >> 8) & 0xff, + 3933 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55791,8 +56611,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3873 >> 8) & 0xff, - 3873 & 0xff, + (3942 >> 8) & 0xff, + 3942 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55801,8 +56621,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (626 >> 8) & 0xff, - 626 & 0xff} + (642 >> 8) & 0xff, + 642 & 0xff} }, { .description = "l2_ivv", @@ -55810,8 +56630,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3878 >> 8) & 0xff, - 3878 & 0xff, + (3947 >> 8) & 0xff, + 3947 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55820,8 +56640,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (627 >> 8) & 0xff, - 627 & 0xff} + (643 >> 8) & 0xff, + 643 & 0xff} }, { .description = "l2_ivv", @@ -55829,8 +56649,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3882 >> 8) & 0xff, - 3882 & 0xff, + (3951 >> 8) & 0xff, + 3951 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55845,8 +56665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3891 >> 8) & 0xff, - 3891 & 0xff, + (3960 >> 8) & 0xff, + 3960 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55855,8 +56675,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (629 >> 8) & 0xff, - 629 & 0xff} + (645 >> 8) & 0xff, + 645 & 0xff} }, { .description = "l2_ivv", @@ -55864,8 +56684,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3896 >> 8) & 0xff, - 3896 & 0xff, + (3965 >> 8) & 0xff, + 3965 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55874,8 +56694,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (630 >> 8) & 0xff, - 630 & 0xff} + (646 >> 8) & 0xff, + 646 & 0xff} }, { .description = "l2_ivv", @@ -55883,8 +56703,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3900 >> 8) & 0xff, - 3900 & 0xff, + (3969 >> 8) & 0xff, + 3969 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55899,8 +56719,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3909 >> 8) & 0xff, - 3909 & 0xff, + (3978 >> 8) & 0xff, + 3978 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55915,8 +56735,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3918 >> 8) & 0xff, - 3918 & 0xff, + (3987 >> 8) & 0xff, + 3987 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55931,8 +56751,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3926 >> 8) & 0xff, - 3926 & 0xff, + (3995 >> 8) & 0xff, + 3995 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55947,8 +56767,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3933 >> 8) & 0xff, - 3933 & 0xff, + (4002 >> 8) & 0xff, + 4002 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55963,8 +56783,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3940 >> 8) & 0xff, - 3940 & 0xff, + (4009 >> 8) & 0xff, + 4009 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55979,8 +56799,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3947 >> 8) & 0xff, - 3947 & 0xff, + (4016 >> 8) & 0xff, + 4016 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -55995,8 +56815,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3954 >> 8) & 0xff, - 3954 & 0xff, + (4023 >> 8) & 0xff, + 4023 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56011,8 +56831,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3961 >> 8) & 0xff, - 3961 & 0xff, + (4030 >> 8) & 0xff, + 4030 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56027,8 +56847,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3968 >> 8) & 0xff, - 3968 & 0xff, + (4037 >> 8) & 0xff, + 4037 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56043,8 +56863,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3975 >> 8) & 0xff, - 3975 & 0xff, + (4044 >> 8) & 0xff, + 4044 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56059,8 +56879,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3982 >> 8) & 0xff, - 3982 & 0xff, + (4051 >> 8) & 0xff, + 4051 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56069,8 +56889,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (642 >> 8) & 0xff, - 642 & 0xff} + (658 >> 8) & 0xff, + 658 & 0xff} }, { .description = "l3.ttl", @@ -56078,8 +56898,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3986 >> 8) & 0xff, - 3986 & 0xff, + (4055 >> 8) & 0xff, + 4055 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56088,8 +56908,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (643 >> 8) & 0xff, - 643 & 0xff} + (659 >> 8) & 0xff, + 659 & 0xff} }, { .description = "l3.ttl", @@ -56097,8 +56917,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3989 >> 8) & 0xff, - 3989 & 0xff, + (4058 >> 8) & 0xff, + 4058 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56113,8 +56933,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3996 >> 8) & 0xff, - 3996 & 0xff, + (4065 >> 8) & 0xff, + 4065 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56123,8 +56943,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (645 >> 8) & 0xff, - 645 & 0xff} + (661 >> 8) & 0xff, + 661 & 0xff} }, { .description = "l3.ttl", @@ -56132,8 +56952,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4000 >> 8) & 0xff, - 4000 & 0xff, + (4069 >> 8) & 0xff, + 4069 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56142,8 +56962,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (646 >> 8) & 0xff, - 646 & 0xff} + (662 >> 8) & 0xff, + 662 & 0xff} }, { .description = "l3.ttl", @@ -56151,8 +56971,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4003 >> 8) & 0xff, - 4003 & 0xff, + (4072 >> 8) & 0xff, + 4072 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56167,8 +56987,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4010 >> 8) & 0xff, - 4010 & 0xff, + (4079 >> 8) & 0xff, + 4079 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56177,8 +56997,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (648 >> 8) & 0xff, - 648 & 0xff} + (664 >> 8) & 0xff, + 664 & 0xff} }, { .description = "l3.prot", @@ -56186,8 +57006,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4014 >> 8) & 0xff, - 4014 & 0xff, + (4083 >> 8) & 0xff, + 4083 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56196,8 +57016,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (649 >> 8) & 0xff, - 649 & 0xff} + (665 >> 8) & 0xff, + 665 & 0xff} }, { .description = "l3.prot", @@ -56205,8 +57025,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4017 >> 8) & 0xff, - 4017 & 0xff, + (4086 >> 8) & 0xff, + 4086 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56221,8 +57041,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4024 >> 8) & 0xff, - 4024 & 0xff, + (4093 >> 8) & 0xff, + 4093 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56231,8 +57051,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (651 >> 8) & 0xff, - 651 & 0xff} + (667 >> 8) & 0xff, + 667 & 0xff} }, { .description = "l3.prot", @@ -56240,8 +57060,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4028 >> 8) & 0xff, - 4028 & 0xff, + (4097 >> 8) & 0xff, + 4097 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56250,8 +57070,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (652 >> 8) & 0xff, - 652 & 0xff} + (668 >> 8) & 0xff, + 668 & 0xff} }, { .description = "l3.prot", @@ -56259,8 +57079,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4031 >> 8) & 0xff, - 4031 & 0xff, + (4100 >> 8) & 0xff, + 4100 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56275,8 +57095,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4038 >> 8) & 0xff, - 4038 & 0xff, + (4107 >> 8) & 0xff, + 4107 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56285,8 +57105,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (654 >> 8) & 0xff, - 654 & 0xff} + (670 >> 8) & 0xff, + 670 & 0xff} }, { .description = "l3.qos", @@ -56294,8 +57114,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4042 >> 8) & 0xff, - 4042 & 0xff, + (4111 >> 8) & 0xff, + 4111 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56304,8 +57124,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (655 >> 8) & 0xff, - 655 & 0xff} + (671 >> 8) & 0xff, + 671 & 0xff} }, { .description = "l3.qos", @@ -56313,8 +57133,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4045 >> 8) & 0xff, - 4045 & 0xff, + (4114 >> 8) & 0xff, + 4114 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56329,8 +57149,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4052 >> 8) & 0xff, - 4052 & 0xff, + (4121 >> 8) & 0xff, + 4121 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56339,8 +57159,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (657 >> 8) & 0xff, - 657 & 0xff} + (673 >> 8) & 0xff, + 673 & 0xff} }, { .description = "l3.qos", @@ -56348,8 +57168,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4056 >> 8) & 0xff, - 4056 & 0xff, + (4125 >> 8) & 0xff, + 4125 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56358,8 +57178,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (658 >> 8) & 0xff, - 658 & 0xff} + (674 >> 8) & 0xff, + 674 & 0xff} }, { .description = "l3.qos", @@ -56367,8 +57187,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4059 >> 8) & 0xff, - 4059 & 0xff, + (4128 >> 8) & 0xff, + 4128 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56383,8 +57203,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4066 >> 8) & 0xff, - 4066 & 0xff, + (4135 >> 8) & 0xff, + 4135 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56393,8 +57213,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (660 >> 8) & 0xff, - 660 & 0xff} + (676 >> 8) & 0xff, + 676 & 0xff} }, { .description = "l4.src", @@ -56402,8 +57222,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4070 >> 8) & 0xff, - 4070 & 0xff, + (4139 >> 8) & 0xff, + 4139 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56412,8 +57232,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (661 >> 8) & 0xff, - 661 & 0xff} + (677 >> 8) & 0xff, + 677 & 0xff} }, { .description = "l4.src", @@ -56421,8 +57241,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4073 >> 8) & 0xff, - 4073 & 0xff, + (4142 >> 8) & 0xff, + 4142 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56431,8 +57251,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (662 >> 8) & 0xff, - 662 & 0xff} + (678 >> 8) & 0xff, + 678 & 0xff} }, { .description = "l4.src", @@ -56440,8 +57260,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4076 >> 8) & 0xff, - 4076 & 0xff, + (4145 >> 8) & 0xff, + 4145 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -56453,8 +57273,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4082 >> 8) & 0xff, - 4082 & 0xff, + (4151 >> 8) & 0xff, + 4151 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56463,8 +57283,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (664 >> 8) & 0xff, - 664 & 0xff} + (680 >> 8) & 0xff, + 680 & 0xff} }, { .description = "l4.src", @@ -56472,8 +57292,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4086 >> 8) & 0xff, - 4086 & 0xff, + (4155 >> 8) & 0xff, + 4155 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56482,8 +57302,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (665 >> 8) & 0xff, - 665 & 0xff} + (681 >> 8) & 0xff, + 681 & 0xff} }, { .description = "l4.src", @@ -56491,8 +57311,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4089 >> 8) & 0xff, - 4089 & 0xff, + (4158 >> 8) & 0xff, + 4158 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56501,8 +57321,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (666 >> 8) & 0xff, - 666 & 0xff} + (682 >> 8) & 0xff, + 682 & 0xff} }, { .description = "l4.src", @@ -56510,8 +57330,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4092 >> 8) & 0xff, - 4092 & 0xff, + (4161 >> 8) & 0xff, + 4161 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -56523,8 +57343,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4098 >> 8) & 0xff, - 4098 & 0xff, + (4167 >> 8) & 0xff, + 4167 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56533,8 +57353,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (668 >> 8) & 0xff, - 668 & 0xff} + (684 >> 8) & 0xff, + 684 & 0xff} }, { .description = "l4.dst", @@ -56542,8 +57362,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4102 >> 8) & 0xff, - 4102 & 0xff, + (4171 >> 8) & 0xff, + 4171 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56552,8 +57372,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (669 >> 8) & 0xff, - 669 & 0xff} + (685 >> 8) & 0xff, + 685 & 0xff} }, { .description = "l4.dst", @@ -56561,8 +57381,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4105 >> 8) & 0xff, - 4105 & 0xff, + (4174 >> 8) & 0xff, + 4174 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56571,8 +57391,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (670 >> 8) & 0xff, - 670 & 0xff} + (686 >> 8) & 0xff, + 686 & 0xff} }, { .description = "l4.dst", @@ -56580,8 +57400,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4108 >> 8) & 0xff, - 4108 & 0xff, + (4177 >> 8) & 0xff, + 4177 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -56593,8 +57413,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4114 >> 8) & 0xff, - 4114 & 0xff, + (4183 >> 8) & 0xff, + 4183 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56603,8 +57423,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (672 >> 8) & 0xff, - 672 & 0xff} + (688 >> 8) & 0xff, + 688 & 0xff} }, { .description = "l4.dst", @@ -56612,8 +57432,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4118 >> 8) & 0xff, - 4118 & 0xff, + (4187 >> 8) & 0xff, + 4187 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56622,8 +57442,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (673 >> 8) & 0xff, - 673 & 0xff} + (689 >> 8) & 0xff, + 689 & 0xff} }, { .description = "l4.dst", @@ -56631,8 +57451,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4121 >> 8) & 0xff, - 4121 & 0xff, + (4190 >> 8) & 0xff, + 4190 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -56641,8 +57461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (674 >> 8) & 0xff, - 674 & 0xff} + (690 >> 8) & 0xff, + 690 & 0xff} }, { .description = "l4.dst", @@ -56650,8 +57470,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4124 >> 8) & 0xff, - 4124 & 0xff, + (4193 >> 8) & 0xff, + 4193 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -56663,8 +57483,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4158 >> 8) & 0xff, - 4158 & 0xff, + (4227 >> 8) & 0xff, + 4227 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56678,8 +57498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4172 >> 8) & 0xff, - 4172 & 0xff, + (4241 >> 8) & 0xff, + 4241 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56693,8 +57513,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4180 >> 8) & 0xff, - 4180 & 0xff, + (4249 >> 8) & 0xff, + 4249 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56708,8 +57528,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4188 >> 8) & 0xff, - 4188 & 0xff, + (4257 >> 8) & 0xff, + 4257 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56723,8 +57543,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4196 >> 8) & 0xff, - 4196 & 0xff, + (4265 >> 8) & 0xff, + 4265 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56738,8 +57558,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4204 >> 8) & 0xff, - 4204 & 0xff, + (4273 >> 8) & 0xff, + 4273 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56753,8 +57573,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4212 >> 8) & 0xff, - 4212 & 0xff, + (4281 >> 8) & 0xff, + 4281 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56768,8 +57588,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4221 >> 8) & 0xff, - 4221 & 0xff, + (4290 >> 8) & 0xff, + 4290 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56783,8 +57603,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4228 >> 8) & 0xff, - 4228 & 0xff, + (4297 >> 8) & 0xff, + 4297 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56798,8 +57618,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4235 >> 8) & 0xff, - 4235 & 0xff, + (4304 >> 8) & 0xff, + 4304 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56813,8 +57633,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4242 >> 8) & 0xff, - 4242 & 0xff, + (4311 >> 8) & 0xff, + 4311 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56828,8 +57648,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4250 >> 8) & 0xff, - 4250 & 0xff, + (4319 >> 8) & 0xff, + 4319 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56843,8 +57663,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4259 >> 8) & 0xff, - 4259 & 0xff, + (4328 >> 8) & 0xff, + 4328 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56852,8 +57672,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (688 >> 8) & 0xff, - 688 & 0xff} + (704 >> 8) & 0xff, + 704 & 0xff} }, { .description = "l2_ivv.en", @@ -56861,8 +57681,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4264 >> 8) & 0xff, - 4264 & 0xff, + (4333 >> 8) & 0xff, + 4333 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56870,8 +57690,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (689 >> 8) & 0xff, - 689 & 0xff} + (705 >> 8) & 0xff, + 705 & 0xff} }, { .description = "l2_ivv.en", @@ -56879,8 +57699,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4268 >> 8) & 0xff, - 4268 & 0xff, + (4337 >> 8) & 0xff, + 4337 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56894,8 +57714,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4277 >> 8) & 0xff, - 4277 & 0xff, + (4346 >> 8) & 0xff, + 4346 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56909,8 +57729,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4285 >> 8) & 0xff, - 4285 & 0xff, + (4354 >> 8) & 0xff, + 4354 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56918,8 +57738,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (692 >> 8) & 0xff, - 692 & 0xff} + (708 >> 8) & 0xff, + 708 & 0xff} }, { .description = "l3_sip.en", @@ -56927,8 +57747,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4289 >> 8) & 0xff, - 4289 & 0xff, + (4358 >> 8) & 0xff, + 4358 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56936,8 +57756,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (693 >> 8) & 0xff, - 693 & 0xff} + (709 >> 8) & 0xff, + 709 & 0xff} }, { .description = "l3_sip.en", @@ -56945,8 +57765,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4292 >> 8) & 0xff, - 4292 & 0xff, + (4361 >> 8) & 0xff, + 4361 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56960,8 +57780,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4299 >> 8) & 0xff, - 4299 & 0xff, + (4368 >> 8) & 0xff, + 4368 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56969,8 +57789,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (695 >> 8) & 0xff, - 695 & 0xff} + (711 >> 8) & 0xff, + 711 & 0xff} }, { .description = "l3_dip.en", @@ -56978,8 +57798,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4303 >> 8) & 0xff, - 4303 & 0xff, + (4372 >> 8) & 0xff, + 4372 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -56987,8 +57807,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (696 >> 8) & 0xff, - 696 & 0xff} + (712 >> 8) & 0xff, + 712 & 0xff} }, { .description = "l3_dip.en", @@ -56996,8 +57816,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4306 >> 8) & 0xff, - 4306 & 0xff, + (4375 >> 8) & 0xff, + 4375 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57011,8 +57831,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4313 >> 8) & 0xff, - 4313 & 0xff, + (4382 >> 8) & 0xff, + 4382 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57020,8 +57840,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (698 >> 8) & 0xff, - 698 & 0xff} + (714 >> 8) & 0xff, + 714 & 0xff} }, { .description = "l3_ttl.en", @@ -57029,8 +57849,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4317 >> 8) & 0xff, - 4317 & 0xff, + (4386 >> 8) & 0xff, + 4386 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57038,8 +57858,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (699 >> 8) & 0xff, - 699 & 0xff} + (715 >> 8) & 0xff, + 715 & 0xff} }, { .description = "l3_ttl.en", @@ -57047,8 +57867,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4320 >> 8) & 0xff, - 4320 & 0xff, + (4389 >> 8) & 0xff, + 4389 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57062,8 +57882,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4327 >> 8) & 0xff, - 4327 & 0xff, + (4396 >> 8) & 0xff, + 4396 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57071,8 +57891,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (701 >> 8) & 0xff, - 701 & 0xff} + (717 >> 8) & 0xff, + 717 & 0xff} }, { .description = "l3_prot.en", @@ -57080,8 +57900,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4331 >> 8) & 0xff, - 4331 & 0xff, + (4400 >> 8) & 0xff, + 4400 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57089,8 +57909,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (702 >> 8) & 0xff, - 702 & 0xff} + (718 >> 8) & 0xff, + 718 & 0xff} }, { .description = "l3_prot.en", @@ -57098,8 +57918,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4334 >> 8) & 0xff, - 4334 & 0xff, + (4403 >> 8) & 0xff, + 4403 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57113,8 +57933,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4341 >> 8) & 0xff, - 4341 & 0xff, + (4410 >> 8) & 0xff, + 4410 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57122,8 +57942,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (704 >> 8) & 0xff, - 704 & 0xff} + (720 >> 8) & 0xff, + 720 & 0xff} }, { .description = "l3_qos.en", @@ -57131,8 +57951,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4345 >> 8) & 0xff, - 4345 & 0xff, + (4414 >> 8) & 0xff, + 4414 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57140,8 +57960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (705 >> 8) & 0xff, - 705 & 0xff} + (721 >> 8) & 0xff, + 721 & 0xff} }, { .description = "l3_qos.en", @@ -57149,8 +57969,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4348 >> 8) & 0xff, - 4348 & 0xff, + (4417 >> 8) & 0xff, + 4417 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57164,8 +57984,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4355 >> 8) & 0xff, - 4355 & 0xff, + (4424 >> 8) & 0xff, + 4424 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57173,8 +57993,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (707 >> 8) & 0xff, - 707 & 0xff} + (723 >> 8) & 0xff, + 723 & 0xff} }, { .description = "l4_src.en", @@ -57182,8 +58002,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4359 >> 8) & 0xff, - 4359 & 0xff, + (4428 >> 8) & 0xff, + 4428 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57191,8 +58011,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (708 >> 8) & 0xff, - 708 & 0xff} + (724 >> 8) & 0xff, + 724 & 0xff} }, { .description = "l4_src.en", @@ -57200,8 +58020,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4362 >> 8) & 0xff, - 4362 & 0xff, + (4431 >> 8) & 0xff, + 4431 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57215,8 +58035,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4369 >> 8) & 0xff, - 4369 & 0xff, + (4438 >> 8) & 0xff, + 4438 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57224,8 +58044,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (710 >> 8) & 0xff, - 710 & 0xff} + (726 >> 8) & 0xff, + 726 & 0xff} }, { .description = "l4_dst.en", @@ -57233,8 +58053,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4373 >> 8) & 0xff, - 4373 & 0xff, + (4442 >> 8) & 0xff, + 4442 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57242,8 +58062,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (711 >> 8) & 0xff, - 711 & 0xff} + (727 >> 8) & 0xff, + 727 & 0xff} }, { .description = "l4_dst.en", @@ -57251,8 +58071,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4376 >> 8) & 0xff, - 4376 & 0xff, + (4445 >> 8) & 0xff, + 4445 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -57266,8 +58086,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4420 >> 8) & 0xff, - 4420 & 0xff, + (4489 >> 8) & 0xff, + 4489 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57279,8 +58099,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4430 >> 8) & 0xff, - 4430 & 0xff, + (4499 >> 8) & 0xff, + 4499 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57295,8 +58115,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4481 >> 8) & 0xff, - 4481 & 0xff, + (4550 >> 8) & 0xff, + 4550 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57308,8 +58128,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4489 >> 8) & 0xff, - 4489 & 0xff, + (4558 >> 8) & 0xff, + 4558 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57324,8 +58144,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4497 >> 8) & 0xff, - 4497 & 0xff, + (4566 >> 8) & 0xff, + 4566 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57337,8 +58157,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4505 >> 8) & 0xff, - 4505 & 0xff, + (4574 >> 8) & 0xff, + 4574 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57353,8 +58173,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4513 >> 8) & 0xff, - 4513 & 0xff, + (4582 >> 8) & 0xff, + 4582 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57366,8 +58186,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4521 >> 8) & 0xff, - 4521 & 0xff, + (4590 >> 8) & 0xff, + 4590 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57382,8 +58202,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4529 >> 8) & 0xff, - 4529 & 0xff, + (4598 >> 8) & 0xff, + 4598 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57395,8 +58215,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4537 >> 8) & 0xff, - 4537 & 0xff, + (4606 >> 8) & 0xff, + 4606 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57411,8 +58231,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4546 >> 8) & 0xff, - 4546 & 0xff, + (4615 >> 8) & 0xff, + 4615 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57424,8 +58244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4555 >> 8) & 0xff, - 4555 & 0xff, + (4624 >> 8) & 0xff, + 4624 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57440,8 +58260,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4562 >> 8) & 0xff, - 4562 & 0xff, + (4631 >> 8) & 0xff, + 4631 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57453,8 +58273,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4568 >> 8) & 0xff, - 4568 & 0xff, + (4637 >> 8) & 0xff, + 4637 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57469,8 +58289,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4575 >> 8) & 0xff, - 4575 & 0xff, + (4644 >> 8) & 0xff, + 4644 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57482,8 +58302,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4582 >> 8) & 0xff, - 4582 & 0xff, + (4651 >> 8) & 0xff, + 4651 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57498,8 +58318,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4589 >> 8) & 0xff, - 4589 & 0xff, + (4658 >> 8) & 0xff, + 4658 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57511,8 +58331,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4596 >> 8) & 0xff, - 4596 & 0xff, + (4665 >> 8) & 0xff, + 4665 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57527,8 +58347,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4604 >> 8) & 0xff, - 4604 & 0xff, + (4673 >> 8) & 0xff, + 4673 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57540,8 +58360,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4613 >> 8) & 0xff, - 4613 & 0xff, + (4682 >> 8) & 0xff, + 4682 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57556,15 +58376,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4622 >> 8) & 0xff, - 4622 & 0xff, + (4691 >> 8) & 0xff, + 4691 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (733 >> 8) & 0xff, - 733 & 0xff} + (749 >> 8) & 0xff, + 749 & 0xff} }, { .description = "l2_ivv", @@ -57572,15 +58392,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4627 >> 8) & 0xff, - 4627 & 0xff, + (4696 >> 8) & 0xff, + 4696 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (734 >> 8) & 0xff, - 734 & 0xff} + (750 >> 8) & 0xff, + 750 & 0xff} }, { .description = "l2_ivv", @@ -57588,8 +58408,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4631 >> 8) & 0xff, - 4631 & 0xff, + (4700 >> 8) & 0xff, + 4700 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57601,8 +58421,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4640 >> 8) & 0xff, - 4640 & 0xff, + (4709 >> 8) & 0xff, + 4709 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57611,8 +58431,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (736 >> 8) & 0xff, - 736 & 0xff} + (752 >> 8) & 0xff, + 752 & 0xff} }, { .description = "l2_ivv", @@ -57620,8 +58440,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4645 >> 8) & 0xff, - 4645 & 0xff, + (4714 >> 8) & 0xff, + 4714 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57630,8 +58450,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (737 >> 8) & 0xff, - 737 & 0xff} + (753 >> 8) & 0xff, + 753 & 0xff} }, { .description = "l2_ivv", @@ -57639,8 +58459,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4649 >> 8) & 0xff, - 4649 & 0xff, + (4718 >> 8) & 0xff, + 4718 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57655,8 +58475,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4658 >> 8) & 0xff, - 4658 & 0xff, + (4727 >> 8) & 0xff, + 4727 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57668,8 +58488,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4667 >> 8) & 0xff, - 4667 & 0xff, + (4736 >> 8) & 0xff, + 4736 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57684,8 +58504,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4675 >> 8) & 0xff, - 4675 & 0xff, + (4744 >> 8) & 0xff, + 4744 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57697,8 +58517,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4682 >> 8) & 0xff, - 4682 & 0xff, + (4751 >> 8) & 0xff, + 4751 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57713,8 +58533,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4689 >> 8) & 0xff, - 4689 & 0xff, + (4758 >> 8) & 0xff, + 4758 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57726,8 +58546,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4696 >> 8) & 0xff, - 4696 & 0xff, + (4765 >> 8) & 0xff, + 4765 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57742,8 +58562,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4703 >> 8) & 0xff, - 4703 & 0xff, + (4772 >> 8) & 0xff, + 4772 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57755,8 +58575,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4710 >> 8) & 0xff, - 4710 & 0xff, + (4779 >> 8) & 0xff, + 4779 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57771,8 +58591,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4717 >> 8) & 0xff, - 4717 & 0xff, + (4786 >> 8) & 0xff, + 4786 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57784,8 +58604,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4724 >> 8) & 0xff, - 4724 & 0xff, + (4793 >> 8) & 0xff, + 4793 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57800,15 +58620,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4731 >> 8) & 0xff, - 4731 & 0xff, + (4800 >> 8) & 0xff, + 4800 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (749 >> 8) & 0xff, - 749 & 0xff} + (765 >> 8) & 0xff, + 765 & 0xff} }, { .description = "l3.ttl", @@ -57816,15 +58636,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4735 >> 8) & 0xff, - 4735 & 0xff, + (4804 >> 8) & 0xff, + 4804 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (750 >> 8) & 0xff, - 750 & 0xff} + (766 >> 8) & 0xff, + 766 & 0xff} }, { .description = "l3.ttl", @@ -57832,8 +58652,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4738 >> 8) & 0xff, - 4738 & 0xff, + (4807 >> 8) & 0xff, + 4807 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57845,8 +58665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4745 >> 8) & 0xff, - 4745 & 0xff, + (4814 >> 8) & 0xff, + 4814 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57855,8 +58675,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (752 >> 8) & 0xff, - 752 & 0xff} + (768 >> 8) & 0xff, + 768 & 0xff} }, { .description = "l3.ttl", @@ -57864,8 +58684,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4749 >> 8) & 0xff, - 4749 & 0xff, + (4818 >> 8) & 0xff, + 4818 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57874,8 +58694,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (753 >> 8) & 0xff, - 753 & 0xff} + (769 >> 8) & 0xff, + 769 & 0xff} }, { .description = "l3.ttl", @@ -57883,8 +58703,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4752 >> 8) & 0xff, - 4752 & 0xff, + (4821 >> 8) & 0xff, + 4821 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57899,15 +58719,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4759 >> 8) & 0xff, - 4759 & 0xff, + (4828 >> 8) & 0xff, + 4828 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (755 >> 8) & 0xff, - 755 & 0xff} + (771 >> 8) & 0xff, + 771 & 0xff} }, { .description = "l3.prot", @@ -57915,15 +58735,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4763 >> 8) & 0xff, - 4763 & 0xff, + (4832 >> 8) & 0xff, + 4832 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (756 >> 8) & 0xff, - 756 & 0xff} + (772 >> 8) & 0xff, + 772 & 0xff} }, { .description = "l3.prot", @@ -57931,8 +58751,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4766 >> 8) & 0xff, - 4766 & 0xff, + (4835 >> 8) & 0xff, + 4835 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -57944,8 +58764,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4773 >> 8) & 0xff, - 4773 & 0xff, + (4842 >> 8) & 0xff, + 4842 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57954,8 +58774,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (758 >> 8) & 0xff, - 758 & 0xff} + (774 >> 8) & 0xff, + 774 & 0xff} }, { .description = "l3.prot", @@ -57963,8 +58783,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4777 >> 8) & 0xff, - 4777 & 0xff, + (4846 >> 8) & 0xff, + 4846 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57973,8 +58793,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (759 >> 8) & 0xff, - 759 & 0xff} + (775 >> 8) & 0xff, + 775 & 0xff} }, { .description = "l3.prot", @@ -57982,8 +58802,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4780 >> 8) & 0xff, - 4780 & 0xff, + (4849 >> 8) & 0xff, + 4849 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -57998,15 +58818,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4787 >> 8) & 0xff, - 4787 & 0xff, + (4856 >> 8) & 0xff, + 4856 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (761 >> 8) & 0xff, - 761 & 0xff} + (777 >> 8) & 0xff, + 777 & 0xff} }, { .description = "l3.qos", @@ -58014,15 +58834,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4791 >> 8) & 0xff, - 4791 & 0xff, + (4860 >> 8) & 0xff, + 4860 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (762 >> 8) & 0xff, - 762 & 0xff} + (778 >> 8) & 0xff, + 778 & 0xff} }, { .description = "l3.qos", @@ -58030,8 +58850,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4794 >> 8) & 0xff, - 4794 & 0xff, + (4863 >> 8) & 0xff, + 4863 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -58043,8 +58863,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4801 >> 8) & 0xff, - 4801 & 0xff, + (4870 >> 8) & 0xff, + 4870 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58053,8 +58873,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (764 >> 8) & 0xff, - 764 & 0xff} + (780 >> 8) & 0xff, + 780 & 0xff} }, { .description = "l3.qos", @@ -58062,8 +58882,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4805 >> 8) & 0xff, - 4805 & 0xff, + (4874 >> 8) & 0xff, + 4874 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58072,8 +58892,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (765 >> 8) & 0xff, - 765 & 0xff} + (781 >> 8) & 0xff, + 781 & 0xff} }, { .description = "l3.qos", @@ -58081,8 +58901,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4808 >> 8) & 0xff, - 4808 & 0xff, + (4877 >> 8) & 0xff, + 4877 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58097,15 +58917,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4815 >> 8) & 0xff, - 4815 & 0xff, + (4884 >> 8) & 0xff, + 4884 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (767 >> 8) & 0xff, - 767 & 0xff} + (783 >> 8) & 0xff, + 783 & 0xff} }, { .description = "l4.src", @@ -58113,15 +58933,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4819 >> 8) & 0xff, - 4819 & 0xff, + (4888 >> 8) & 0xff, + 4888 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (768 >> 8) & 0xff, - 768 & 0xff} + (784 >> 8) & 0xff, + 784 & 0xff} }, { .description = "l4.src", @@ -58129,8 +58949,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4822 >> 8) & 0xff, - 4822 & 0xff, + (4891 >> 8) & 0xff, + 4891 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -58142,8 +58962,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4829 >> 8) & 0xff, - 4829 & 0xff, + (4898 >> 8) & 0xff, + 4898 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58152,8 +58972,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (770 >> 8) & 0xff, - 770 & 0xff} + (786 >> 8) & 0xff, + 786 & 0xff} }, { .description = "l4.src", @@ -58161,8 +58981,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4833 >> 8) & 0xff, - 4833 & 0xff, + (4902 >> 8) & 0xff, + 4902 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58171,8 +58991,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (771 >> 8) & 0xff, - 771 & 0xff} + (787 >> 8) & 0xff, + 787 & 0xff} }, { .description = "l4.src", @@ -58180,8 +59000,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4836 >> 8) & 0xff, - 4836 & 0xff, + (4905 >> 8) & 0xff, + 4905 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58196,15 +59016,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4843 >> 8) & 0xff, - 4843 & 0xff, + (4912 >> 8) & 0xff, + 4912 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (773 >> 8) & 0xff, - 773 & 0xff} + (789 >> 8) & 0xff, + 789 & 0xff} }, { .description = "l4.dst", @@ -58212,15 +59032,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4847 >> 8) & 0xff, - 4847 & 0xff, + (4916 >> 8) & 0xff, + 4916 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (774 >> 8) & 0xff, - 774 & 0xff} + (790 >> 8) & 0xff, + 790 & 0xff} }, { .description = "l4.dst", @@ -58228,8 +59048,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4850 >> 8) & 0xff, - 4850 & 0xff, + (4919 >> 8) & 0xff, + 4919 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -58241,8 +59061,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4857 >> 8) & 0xff, - 4857 & 0xff, + (4926 >> 8) & 0xff, + 4926 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58251,8 +59071,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (776 >> 8) & 0xff, - 776 & 0xff} + (792 >> 8) & 0xff, + 792 & 0xff} }, { .description = "l4.dst", @@ -58260,8 +59080,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4861 >> 8) & 0xff, - 4861 & 0xff, + (4930 >> 8) & 0xff, + 4930 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58270,8 +59090,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (777 >> 8) & 0xff, - 777 & 0xff} + (793 >> 8) & 0xff, + 793 & 0xff} }, { .description = "l4.dst", @@ -58279,8 +59099,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4864 >> 8) & 0xff, - 4864 & 0xff, + (4933 >> 8) & 0xff, + 4933 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -58685,8 +59505,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (165 >> 8) & 0xff, - 165 & 0xff, + (167 >> 8) & 0xff, + 167 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58724,8 +59544,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (167 >> 8) & 0xff, - 167 & 0xff, + (169 >> 8) & 0xff, + 169 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58739,8 +59559,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (170 >> 8) & 0xff, - 170 & 0xff, + (172 >> 8) & 0xff, + 172 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58766,8 +59586,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (171 >> 8) & 0xff, - 171 & 0xff, + (173 >> 8) & 0xff, + 173 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58781,8 +59601,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (175 >> 8) & 0xff, - 175 & 0xff, + (177 >> 8) & 0xff, + 177 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58826,8 +59646,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (179 >> 8) & 0xff, - 179 & 0xff, + (181 >> 8) & 0xff, + 181 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58859,8 +59679,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (184 >> 8) & 0xff, - 184 & 0xff, + (186 >> 8) & 0xff, + 186 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58883,8 +59703,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (194 >> 8) & 0xff, - 194 & 0xff, + (196 >> 8) & 0xff, + 196 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58904,8 +59724,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (199 >> 8) & 0xff, - 199 & 0xff, + (201 >> 8) & 0xff, + 201 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, @@ -58929,8 +59749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (208 >> 8) & 0xff, - 208 & 0xff, + (210 >> 8) & 0xff, + 210 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58953,8 +59773,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (216 >> 8) & 0xff, - 216 & 0xff, + (218 >> 8) & 0xff, + 218 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58971,8 +59791,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (224 >> 8) & 0xff, - 224 & 0xff, + (226 >> 8) & 0xff, + 226 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -58995,8 +59815,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (232 >> 8) & 0xff, - 232 & 0xff, + (234 >> 8) & 0xff, + 234 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59079,8 +59899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (240 >> 8) & 0xff, - 240 & 0xff, + (242 >> 8) & 0xff, + 242 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59097,8 +59917,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (248 >> 8) & 0xff, - 248 & 0xff, + (250 >> 8) & 0xff, + 250 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59163,8 +59983,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (257 >> 8) & 0xff, - 257 & 0xff, + (259 >> 8) & 0xff, + 259 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59178,8 +59998,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { { .description = "tid.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (268 >> 8) & 0xff, + 268 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tctxts.en", @@ -59217,8 +60046,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (263 >> 8) & 0xff, - 263 & 0xff, + (271 >> 8) & 0xff, + 271 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59226,8 +60055,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (20 >> 8) & 0xff, - 20 & 0xff} + (21 >> 8) & 0xff, + 21 & 0xff} }, { .description = "l2_smac.en", @@ -59235,8 +60064,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (270 >> 8) & 0xff, - 270 & 0xff, + (278 >> 8) & 0xff, + 278 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59244,8 +60073,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (21 >> 8) & 0xff, - 21 & 0xff} + (22 >> 8) & 0xff, + 22 & 0xff} }, { .description = "l2_dt.en", @@ -59283,8 +60112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (277 >> 8) & 0xff, - 277 & 0xff, + (285 >> 8) & 0xff, + 285 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59292,8 +60121,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (22 >> 8) & 0xff, - 22 & 0xff} + (23 >> 8) & 0xff, + 23 & 0xff} }, { .description = "l2_ovt.en", @@ -59319,8 +60148,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (286 >> 8) & 0xff, - 286 & 0xff, + (294 >> 8) & 0xff, + 294 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59328,8 +60157,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (23 >> 8) & 0xff, - 23 & 0xff} + (24 >> 8) & 0xff, + 24 & 0xff} }, { .description = "l2_ivt.en", @@ -59343,8 +60172,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (304 >> 8) & 0xff, - 304 & 0xff, + (312 >> 8) & 0xff, + 312 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59352,8 +60181,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (26 >> 8) & 0xff, - 26 & 0xff} + (27 >> 8) & 0xff, + 27 & 0xff} }, { .description = "l3_l3type.en", @@ -59367,8 +60196,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (313 >> 8) & 0xff, - 313 & 0xff, + (321 >> 8) & 0xff, + 321 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59376,8 +60205,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (27 >> 8) & 0xff, - 27 & 0xff} + (28 >> 8) & 0xff, + 28 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -59391,8 +60220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (331 >> 8) & 0xff, - 331 & 0xff, + (339 >> 8) & 0xff, + 339 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59400,8 +60229,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (30 >> 8) & 0xff, - 30 & 0xff} + (31 >> 8) & 0xff, + 31 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -59415,8 +60244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (349 >> 8) & 0xff, - 349 & 0xff, + (357 >> 8) & 0xff, + 357 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59424,8 +60253,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (33 >> 8) & 0xff, - 33 & 0xff} + (34 >> 8) & 0xff, + 34 & 0xff} }, { .description = "l3_prot.en", @@ -59433,8 +60262,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (367 >> 8) & 0xff, - 367 & 0xff, + (375 >> 8) & 0xff, + 375 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59442,8 +60271,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (36 >> 8) & 0xff, - 36 & 0xff} + (37 >> 8) & 0xff, + 37 & 0xff} }, { .description = "l3_fid.en", @@ -59457,8 +60286,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (385 >> 8) & 0xff, - 385 & 0xff, + (393 >> 8) & 0xff, + 393 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -59466,8 +60295,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (39 >> 8) & 0xff, - 39 & 0xff} + (40 >> 8) & 0xff, + 40 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -59541,18 +60370,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (403 >> 8) & 0xff, - 403 & 0xff, + (411 >> 8) & 0xff, + 411 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (42 >> 8) & 0xff, - 42 & 0xff}, + (43 >> 8) & 0xff, + 43 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (43 >> 8) & 0xff, - 43 & 0xff} + (44 >> 8) & 0xff, + 44 & 0xff} }, { .description = "l4_dst.en", @@ -59560,18 +60389,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (412 >> 8) & 0xff, - 412 & 0xff, + (420 >> 8) & 0xff, + 420 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (45 >> 8) & 0xff, - 45 & 0xff}, + (46 >> 8) & 0xff, + 46 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (46 >> 8) & 0xff, - 46 & 0xff} + (47 >> 8) & 0xff, + 47 & 0xff} }, { .description = "l4_flags.en", @@ -60480,8 +61309,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1718 >> 8) & 0xff, - 1718 & 0xff, + (1765 >> 8) & 0xff, + 1765 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60519,8 +61348,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1720 >> 8) & 0xff, - 1720 & 0xff, + (1767 >> 8) & 0xff, + 1767 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60534,8 +61363,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1722 >> 8) & 0xff, - 1722 & 0xff, + (1769 >> 8) & 0xff, + 1769 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60561,8 +61390,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1723 >> 8) & 0xff, - 1723 & 0xff, + (1770 >> 8) & 0xff, + 1770 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60576,8 +61405,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1728 >> 8) & 0xff, - 1728 & 0xff, + (1775 >> 8) & 0xff, + 1775 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60621,8 +61450,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1732 >> 8) & 0xff, - 1732 & 0xff, + (1779 >> 8) & 0xff, + 1779 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60654,8 +61483,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1737 >> 8) & 0xff, - 1737 & 0xff, + (1784 >> 8) & 0xff, + 1784 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60663,8 +61492,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (287 >> 8) & 0xff, - 287 & 0xff} + (299 >> 8) & 0xff, + 299 & 0xff} }, { .description = "tl2_ivt.en", @@ -60678,8 +61507,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1747 >> 8) & 0xff, - 1747 & 0xff, + (1794 >> 8) & 0xff, + 1794 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60699,8 +61528,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1752 >> 8) & 0xff, - 1752 & 0xff, + (1799 >> 8) & 0xff, + 1799 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60708,8 +61537,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (288 >> 8) & 0xff, - 288 & 0xff} + (300 >> 8) & 0xff, + 300 & 0xff} }, { .description = "tl3_sip_selcmp.en", @@ -60723,8 +61552,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1760 >> 8) & 0xff, - 1760 & 0xff, + (1807 >> 8) & 0xff, + 1807 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60732,8 +61561,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (289 >> 8) & 0xff, - 289 & 0xff} + (301 >> 8) & 0xff, + 301 & 0xff} }, { .description = "tl3_dip_selcmp.en", @@ -60747,8 +61576,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1768 >> 8) & 0xff, - 1768 & 0xff, + (1815 >> 8) & 0xff, + 1815 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60756,8 +61585,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (290 >> 8) & 0xff, - 290 & 0xff} + (302 >> 8) & 0xff, + 302 & 0xff} }, { .description = "tl3_prot.en", @@ -60765,8 +61594,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1776 >> 8) & 0xff, - 1776 & 0xff, + (1823 >> 8) & 0xff, + 1823 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60774,8 +61603,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (291 >> 8) & 0xff, - 291 & 0xff} + (303 >> 8) & 0xff, + 303 & 0xff} }, { .description = "tl3_fid.en", @@ -60789,8 +61618,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1784 >> 8) & 0xff, - 1784 & 0xff, + (1831 >> 8) & 0xff, + 1831 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60798,8 +61627,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (292 >> 8) & 0xff, - 292 & 0xff} + (304 >> 8) & 0xff, + 304 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -60873,8 +61702,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1792 >> 8) & 0xff, - 1792 & 0xff, + (1839 >> 8) & 0xff, + 1839 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60882,8 +61711,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (293 >> 8) & 0xff, - 293 & 0xff} + (305 >> 8) & 0xff, + 305 & 0xff} }, { .description = "tl4_dst.en", @@ -60891,8 +61720,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1800 >> 8) & 0xff, - 1800 & 0xff, + (1847 >> 8) & 0xff, + 1847 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60900,8 +61729,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (294 >> 8) & 0xff, - 294 & 0xff} + (306 >> 8) & 0xff, + 306 & 0xff} }, { .description = "tl4_flags.en", @@ -60957,8 +61786,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1809 >> 8) & 0xff, - 1809 & 0xff, + (1856 >> 8) & 0xff, + 1856 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -60966,14 +61795,23 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (295 >> 8) & 0xff, - 295 & 0xff} + (307 >> 8) & 0xff, + 307 & 0xff} }, { .description = "tid.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1865 >> 8) & 0xff, + 1865 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tctxts.en", @@ -61011,8 +61849,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1815 >> 8) & 0xff, - 1815 & 0xff, + (1868 >> 8) & 0xff, + 1868 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61020,8 +61858,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (296 >> 8) & 0xff, - 296 & 0xff} + (309 >> 8) & 0xff, + 309 & 0xff} }, { .description = "l2_smac.en", @@ -61029,8 +61867,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1824 >> 8) & 0xff, - 1824 & 0xff, + (1877 >> 8) & 0xff, + 1877 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61038,8 +61876,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (297 >> 8) & 0xff, - 297 & 0xff} + (310 >> 8) & 0xff, + 310 & 0xff} }, { .description = "l2_dt.en", @@ -61077,8 +61915,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1831 >> 8) & 0xff, - 1831 & 0xff, + (1884 >> 8) & 0xff, + 1884 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61086,8 +61924,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (298 >> 8) & 0xff, - 298 & 0xff} + (311 >> 8) & 0xff, + 311 & 0xff} }, { .description = "l2_ovt.en", @@ -61113,8 +61951,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1840 >> 8) & 0xff, - 1840 & 0xff, + (1893 >> 8) & 0xff, + 1893 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61122,8 +61960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (299 >> 8) & 0xff, - 299 & 0xff} + (312 >> 8) & 0xff, + 312 & 0xff} }, { .description = "l2_ivt.en", @@ -61137,8 +61975,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1858 >> 8) & 0xff, - 1858 & 0xff, + (1911 >> 8) & 0xff, + 1911 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61146,8 +61984,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (302 >> 8) & 0xff, - 302 & 0xff} + (315 >> 8) & 0xff, + 315 & 0xff} }, { .description = "l3_l3type.en", @@ -61161,8 +61999,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1867 >> 8) & 0xff, - 1867 & 0xff, + (1920 >> 8) & 0xff, + 1920 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61170,8 +62008,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (303 >> 8) & 0xff, - 303 & 0xff} + (316 >> 8) & 0xff, + 316 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -61185,8 +62023,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1881 >> 8) & 0xff, - 1881 & 0xff, + (1934 >> 8) & 0xff, + 1934 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61194,8 +62032,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (306 >> 8) & 0xff, - 306 & 0xff} + (319 >> 8) & 0xff, + 319 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -61209,8 +62047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1895 >> 8) & 0xff, - 1895 & 0xff, + (1948 >> 8) & 0xff, + 1948 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61218,8 +62056,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (309 >> 8) & 0xff, - 309 & 0xff} + (322 >> 8) & 0xff, + 322 & 0xff} }, { .description = "l3_prot.en", @@ -61227,8 +62065,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1909 >> 8) & 0xff, - 1909 & 0xff, + (1962 >> 8) & 0xff, + 1962 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61236,8 +62074,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (312 >> 8) & 0xff, - 312 & 0xff} + (325 >> 8) & 0xff, + 325 & 0xff} }, { .description = "l3_fid.en", @@ -61251,8 +62089,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1923 >> 8) & 0xff, - 1923 & 0xff, + (1976 >> 8) & 0xff, + 1976 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61260,8 +62098,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (315 >> 8) & 0xff, - 315 & 0xff} + (328 >> 8) & 0xff, + 328 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -61335,8 +62173,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1937 >> 8) & 0xff, - 1937 & 0xff, + (1990 >> 8) & 0xff, + 1990 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61344,8 +62182,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (318 >> 8) & 0xff, - 318 & 0xff} + (331 >> 8) & 0xff, + 331 & 0xff} }, { .description = "l4_dst.en", @@ -61353,8 +62191,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1951 >> 8) & 0xff, - 1951 & 0xff, + (2004 >> 8) & 0xff, + 2004 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61362,8 +62200,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (321 >> 8) & 0xff, - 321 & 0xff} + (334 >> 8) & 0xff, + 334 & 0xff} }, { .description = "l4_flags.en", @@ -61605,8 +62443,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2570 >> 8) & 0xff, - 2570 & 0xff, + (2638 >> 8) & 0xff, + 2638 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61644,8 +62482,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2572 >> 8) & 0xff, - 2572 & 0xff, + (2640 >> 8) & 0xff, + 2640 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61659,8 +62497,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2575 >> 8) & 0xff, - 2575 & 0xff, + (2643 >> 8) & 0xff, + 2643 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61686,8 +62524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2576 >> 8) & 0xff, - 2576 & 0xff, + (2644 >> 8) & 0xff, + 2644 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61701,14 +62539,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2580 >> 8) & 0xff, - 2580 & 0xff, + (2648 >> 8) & 0xff, + 2648 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (394 >> 8) & 0xff, - 394 & 0xff}, + (409 >> 8) & 0xff, + 409 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -61747,8 +62585,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2587 >> 8) & 0xff, - 2587 & 0xff, + (2655 >> 8) & 0xff, + 2655 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61780,8 +62618,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2592 >> 8) & 0xff, - 2592 & 0xff, + (2660 >> 8) & 0xff, + 2660 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61789,8 +62627,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (395 >> 8) & 0xff, - 395 & 0xff} + (410 >> 8) & 0xff, + 410 & 0xff} }, { .description = "tl2_ivt.en", @@ -61804,8 +62642,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2602 >> 8) & 0xff, - 2602 & 0xff, + (2670 >> 8) & 0xff, + 2670 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61825,18 +62663,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2607 >> 8) & 0xff, - 2607 & 0xff, + (2675 >> 8) & 0xff, + 2675 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (396 >> 8) & 0xff, - 396 & 0xff}, + (411 >> 8) & 0xff, + 411 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (397 >> 8) & 0xff, - 397 & 0xff} + (412 >> 8) & 0xff, + 412 & 0xff} }, { .description = "tl3_sip_selcmp.en", @@ -61850,8 +62688,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2616 >> 8) & 0xff, - 2616 & 0xff, + (2684 >> 8) & 0xff, + 2684 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61859,8 +62697,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (398 >> 8) & 0xff, - 398 & 0xff} + (413 >> 8) & 0xff, + 413 & 0xff} }, { .description = "tl3_dip_selcmp.en", @@ -61874,8 +62712,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2624 >> 8) & 0xff, - 2624 & 0xff, + (2692 >> 8) & 0xff, + 2692 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61883,8 +62721,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (399 >> 8) & 0xff, - 399 & 0xff} + (414 >> 8) & 0xff, + 414 & 0xff} }, { .description = "tl3_prot.en", @@ -61892,8 +62730,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2632 >> 8) & 0xff, - 2632 & 0xff, + (2700 >> 8) & 0xff, + 2700 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61901,8 +62739,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (400 >> 8) & 0xff, - 400 & 0xff} + (415 >> 8) & 0xff, + 415 & 0xff} }, { .description = "tl3_fid.en", @@ -61916,8 +62754,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2640 >> 8) & 0xff, - 2640 & 0xff, + (2708 >> 8) & 0xff, + 2708 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -61925,8 +62763,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (401 >> 8) & 0xff, - 401 & 0xff} + (416 >> 8) & 0xff, + 416 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -62000,8 +62838,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2648 >> 8) & 0xff, - 2648 & 0xff, + (2716 >> 8) & 0xff, + 2716 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62009,8 +62847,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (402 >> 8) & 0xff, - 402 & 0xff} + (417 >> 8) & 0xff, + 417 & 0xff} }, { .description = "tl4_dst.en", @@ -62018,8 +62856,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2656 >> 8) & 0xff, - 2656 & 0xff, + (2724 >> 8) & 0xff, + 2724 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62027,8 +62865,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (403 >> 8) & 0xff, - 403 & 0xff} + (418 >> 8) & 0xff, + 418 & 0xff} }, { .description = "tl4_flags.en", @@ -62084,8 +62922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2665 >> 8) & 0xff, - 2665 & 0xff, + (2733 >> 8) & 0xff, + 2733 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62093,8 +62931,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (404 >> 8) & 0xff, - 404 & 0xff} + (419 >> 8) & 0xff, + 419 & 0xff} }, { .description = "tid.en", @@ -62138,8 +62976,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2671 >> 8) & 0xff, - 2671 & 0xff, + (2739 >> 8) & 0xff, + 2739 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62147,8 +62985,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (405 >> 8) & 0xff, - 405 & 0xff} + (420 >> 8) & 0xff, + 420 & 0xff} }, { .description = "l2_smac.en", @@ -62156,8 +62994,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2678 >> 8) & 0xff, - 2678 & 0xff, + (2746 >> 8) & 0xff, + 2746 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62165,8 +63003,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (406 >> 8) & 0xff, - 406 & 0xff} + (421 >> 8) & 0xff, + 421 & 0xff} }, { .description = "l2_dt.en", @@ -62204,8 +63042,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2685 >> 8) & 0xff, - 2685 & 0xff, + (2753 >> 8) & 0xff, + 2753 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62213,8 +63051,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (407 >> 8) & 0xff, - 407 & 0xff} + (422 >> 8) & 0xff, + 422 & 0xff} }, { .description = "l2_ovt.en", @@ -62240,8 +63078,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2694 >> 8) & 0xff, - 2694 & 0xff, + (2762 >> 8) & 0xff, + 2762 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62249,8 +63087,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (408 >> 8) & 0xff, - 408 & 0xff} + (423 >> 8) & 0xff, + 423 & 0xff} }, { .description = "l2_ivt.en", @@ -62264,8 +63102,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2712 >> 8) & 0xff, - 2712 & 0xff, + (2780 >> 8) & 0xff, + 2780 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62273,8 +63111,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (411 >> 8) & 0xff, - 411 & 0xff} + (426 >> 8) & 0xff, + 426 & 0xff} }, { .description = "l3_l3type.en", @@ -62288,8 +63126,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2721 >> 8) & 0xff, - 2721 & 0xff, + (2789 >> 8) & 0xff, + 2789 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62297,8 +63135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (412 >> 8) & 0xff, - 412 & 0xff} + (427 >> 8) & 0xff, + 427 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -62312,8 +63150,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2739 >> 8) & 0xff, - 2739 & 0xff, + (2807 >> 8) & 0xff, + 2807 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62321,8 +63159,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (415 >> 8) & 0xff, - 415 & 0xff} + (430 >> 8) & 0xff, + 430 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -62336,8 +63174,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2757 >> 8) & 0xff, - 2757 & 0xff, + (2825 >> 8) & 0xff, + 2825 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62345,8 +63183,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (418 >> 8) & 0xff, - 418 & 0xff} + (433 >> 8) & 0xff, + 433 & 0xff} }, { .description = "l3_prot.en", @@ -62354,8 +63192,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2775 >> 8) & 0xff, - 2775 & 0xff, + (2843 >> 8) & 0xff, + 2843 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62363,8 +63201,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (421 >> 8) & 0xff, - 421 & 0xff} + (436 >> 8) & 0xff, + 436 & 0xff} }, { .description = "l3_fid.en", @@ -62378,8 +63216,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2793 >> 8) & 0xff, - 2793 & 0xff, + (2861 >> 8) & 0xff, + 2861 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -62387,8 +63225,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (424 >> 8) & 0xff, - 424 & 0xff} + (439 >> 8) & 0xff, + 439 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -62462,18 +63300,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2811 >> 8) & 0xff, - 2811 & 0xff, + (2879 >> 8) & 0xff, + 2879 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (427 >> 8) & 0xff, - 427 & 0xff}, + (442 >> 8) & 0xff, + 442 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (428 >> 8) & 0xff, - 428 & 0xff} + (443 >> 8) & 0xff, + 443 & 0xff} }, { .description = "l4_dst.en", @@ -62481,18 +63319,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2820 >> 8) & 0xff, - 2820 & 0xff, + (2888 >> 8) & 0xff, + 2888 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (430 >> 8) & 0xff, - 430 & 0xff}, + (445 >> 8) & 0xff, + 445 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (431 >> 8) & 0xff, - 431 & 0xff} + (446 >> 8) & 0xff, + 446 & 0xff} }, { .description = "l4_flags.en", @@ -63401,8 +64239,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4135 >> 8) & 0xff, - 4135 & 0xff, + (4204 >> 8) & 0xff, + 4204 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63440,8 +64278,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (4137 >> 8) & 0xff, - 4137 & 0xff, + (4206 >> 8) & 0xff, + 4206 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63455,8 +64293,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4139 >> 8) & 0xff, - 4139 & 0xff, + (4208 >> 8) & 0xff, + 4208 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63482,8 +64320,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4140 >> 8) & 0xff, - 4140 & 0xff, + (4209 >> 8) & 0xff, + 4209 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63497,8 +64335,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4144 >> 8) & 0xff, - 4144 & 0xff, + (4213 >> 8) & 0xff, + 4213 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63542,8 +64380,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4148 >> 8) & 0xff, - 4148 & 0xff, + (4217 >> 8) & 0xff, + 4217 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63575,8 +64413,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4153 >> 8) & 0xff, - 4153 & 0xff, + (4222 >> 8) & 0xff, + 4222 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63584,8 +64422,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (675 >> 8) & 0xff, - 675 & 0xff} + (691 >> 8) & 0xff, + 691 & 0xff} }, { .description = "tl2_ivt.en", @@ -63599,8 +64437,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4163 >> 8) & 0xff, - 4163 & 0xff, + (4232 >> 8) & 0xff, + 4232 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63620,8 +64458,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4168 >> 8) & 0xff, - 4168 & 0xff, + (4237 >> 8) & 0xff, + 4237 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63629,8 +64467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (676 >> 8) & 0xff, - 676 & 0xff} + (692 >> 8) & 0xff, + 692 & 0xff} }, { .description = "tl3_sip_selcmp.en", @@ -63644,8 +64482,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4176 >> 8) & 0xff, - 4176 & 0xff, + (4245 >> 8) & 0xff, + 4245 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63653,8 +64491,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (677 >> 8) & 0xff, - 677 & 0xff} + (693 >> 8) & 0xff, + 693 & 0xff} }, { .description = "tl3_dip_selcmp.en", @@ -63668,8 +64506,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4184 >> 8) & 0xff, - 4184 & 0xff, + (4253 >> 8) & 0xff, + 4253 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63677,8 +64515,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (678 >> 8) & 0xff, - 678 & 0xff} + (694 >> 8) & 0xff, + 694 & 0xff} }, { .description = "tl3_prot.en", @@ -63686,8 +64524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4192 >> 8) & 0xff, - 4192 & 0xff, + (4261 >> 8) & 0xff, + 4261 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63695,8 +64533,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (679 >> 8) & 0xff, - 679 & 0xff} + (695 >> 8) & 0xff, + 695 & 0xff} }, { .description = "tl3_fid.en", @@ -63710,8 +64548,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4200 >> 8) & 0xff, - 4200 & 0xff, + (4269 >> 8) & 0xff, + 4269 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63719,8 +64557,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (680 >> 8) & 0xff, - 680 & 0xff} + (696 >> 8) & 0xff, + 696 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -63794,8 +64632,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4208 >> 8) & 0xff, - 4208 & 0xff, + (4277 >> 8) & 0xff, + 4277 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63803,8 +64641,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (681 >> 8) & 0xff, - 681 & 0xff} + (697 >> 8) & 0xff, + 697 & 0xff} }, { .description = "tl4_dst.en", @@ -63812,8 +64650,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4216 >> 8) & 0xff, - 4216 & 0xff, + (4285 >> 8) & 0xff, + 4285 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63821,8 +64659,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (682 >> 8) & 0xff, - 682 & 0xff} + (698 >> 8) & 0xff, + 698 & 0xff} }, { .description = "tl4_flags.en", @@ -63878,8 +64716,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4225 >> 8) & 0xff, - 4225 & 0xff, + (4294 >> 8) & 0xff, + 4294 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63887,8 +64725,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (683 >> 8) & 0xff, - 683 & 0xff} + (699 >> 8) & 0xff, + 699 & 0xff} }, { .description = "tid.en", @@ -63932,8 +64770,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4231 >> 8) & 0xff, - 4231 & 0xff, + (4300 >> 8) & 0xff, + 4300 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63941,8 +64779,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (684 >> 8) & 0xff, - 684 & 0xff} + (700 >> 8) & 0xff, + 700 & 0xff} }, { .description = "l2_smac.en", @@ -63950,8 +64788,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4238 >> 8) & 0xff, - 4238 & 0xff, + (4307 >> 8) & 0xff, + 4307 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -63959,8 +64797,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (685 >> 8) & 0xff, - 685 & 0xff} + (701 >> 8) & 0xff, + 701 & 0xff} }, { .description = "l2_dt.en", @@ -63998,8 +64836,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4245 >> 8) & 0xff, - 4245 & 0xff, + (4314 >> 8) & 0xff, + 4314 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64007,8 +64845,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (686 >> 8) & 0xff, - 686 & 0xff} + (702 >> 8) & 0xff, + 702 & 0xff} }, { .description = "l2_ovt.en", @@ -64034,8 +64872,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4254 >> 8) & 0xff, - 4254 & 0xff, + (4323 >> 8) & 0xff, + 4323 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64043,8 +64881,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (687 >> 8) & 0xff, - 687 & 0xff} + (703 >> 8) & 0xff, + 703 & 0xff} }, { .description = "l2_ivt.en", @@ -64058,8 +64896,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4272 >> 8) & 0xff, - 4272 & 0xff, + (4341 >> 8) & 0xff, + 4341 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64067,8 +64905,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (690 >> 8) & 0xff, - 690 & 0xff} + (706 >> 8) & 0xff, + 706 & 0xff} }, { .description = "l3_l3type.en", @@ -64082,8 +64920,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4281 >> 8) & 0xff, - 4281 & 0xff, + (4350 >> 8) & 0xff, + 4350 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64091,8 +64929,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (691 >> 8) & 0xff, - 691 & 0xff} + (707 >> 8) & 0xff, + 707 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -64106,8 +64944,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4295 >> 8) & 0xff, - 4295 & 0xff, + (4364 >> 8) & 0xff, + 4364 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64115,8 +64953,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (694 >> 8) & 0xff, - 694 & 0xff} + (710 >> 8) & 0xff, + 710 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -64130,8 +64968,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4309 >> 8) & 0xff, - 4309 & 0xff, + (4378 >> 8) & 0xff, + 4378 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64139,8 +64977,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (697 >> 8) & 0xff, - 697 & 0xff} + (713 >> 8) & 0xff, + 713 & 0xff} }, { .description = "l3_prot.en", @@ -64148,8 +64986,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4323 >> 8) & 0xff, - 4323 & 0xff, + (4392 >> 8) & 0xff, + 4392 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64157,8 +64995,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (700 >> 8) & 0xff, - 700 & 0xff} + (716 >> 8) & 0xff, + 716 & 0xff} }, { .description = "l3_fid.en", @@ -64172,8 +65010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4337 >> 8) & 0xff, - 4337 & 0xff, + (4406 >> 8) & 0xff, + 4406 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64181,8 +65019,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (703 >> 8) & 0xff, - 703 & 0xff} + (719 >> 8) & 0xff, + 719 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -64256,8 +65094,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4351 >> 8) & 0xff, - 4351 & 0xff, + (4420 >> 8) & 0xff, + 4420 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64265,8 +65103,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (706 >> 8) & 0xff, - 706 & 0xff} + (722 >> 8) & 0xff, + 722 & 0xff} }, { .description = "l4_dst.en", @@ -64274,8 +65112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4365 >> 8) & 0xff, - 4365 & 0xff, + (4434 >> 8) & 0xff, + 4434 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -64283,8 +65121,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (709 >> 8) & 0xff, - 709 & 0xff} + (725 >> 8) & 0xff, + 725 & 0xff} }, { .description = "l4_flags.en", @@ -64526,9 +65364,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -64786,9 +65622,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -65330,9 +66164,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -65648,9 +66480,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -65758,9 +66588,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -67784,9 +68612,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -67894,9 +68720,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .description = "stats_op", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", @@ -68008,8 +68832,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4892 >> 8) & 0xff, - 4892 & 0xff, + (4961 >> 8) & 0xff, + 4961 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -68050,8 +68874,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4894 >> 8) & 0xff, - 4894 & 0xff, + (4963 >> 8) & 0xff, + 4963 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -68097,8 +68921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4896 >> 8) & 0xff, - 4896 & 0xff, + (4965 >> 8) & 0xff, + 4965 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -68122,8 +68946,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (4898 >> 8) & 0xff, - 4898 & 0xff, + (4967 >> 8) & 0xff, + 4967 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_RF, @@ -68313,6 +69137,13 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { .ident_bit_size = 7, .ident_bit_pos = 32 }, + /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, + .ident_bit_size = 10, + .ident_bit_pos = 42 + }, /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ { .description = "l2_cntxt_id", diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_act.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_act.c index 98cb4f30df..7a7e9bf5d3 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_act.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_act.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c index 90224bb063..36b08faa71 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -75,6 +75,16 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = { .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, .num_tbls = 1, .start_tbl_idx = 97, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 50, + .cond_nums = 0 } + }, + /* class_tid: 8, ingress */ + [8] = { + .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, + .num_tbls = 1, + .start_tbl_idx = 98, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, .cond_start_idx = 50, @@ -2277,6 +2287,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 8, , table: control.reject */ + .description = "control.reject", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "Reject: wh+ not supporting hot upgrade template", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 50, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP } }; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup 2025-10-09 22:10 ` [PATCH v2 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 03/54] net/bnxt: enable vector mode processing Manish Kurup ` (51 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Jay Ding, Kalesh AP From: Jay Ding <jay.ding@broadcom.com> There are some changes made in the 23.11 upstream function rte_eth_dev_release_port(). The library now sets "eth_dev->data = NULL" at the end of the routine. This causes a NULL pointer dereference in the bnxt_rep_link_update_op() and bnxt_vfr_free() routines when it tries to access the parent dev. Signed-off-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/bnxt_reps.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnxt/bnxt_reps.c b/drivers/net/bnxt/bnxt_reps.c index 6f5c3f80eb..20a0ba65a5 100644 --- a/drivers/net/bnxt/bnxt_reps.c +++ b/drivers/net/bnxt/bnxt_reps.c @@ -299,10 +299,10 @@ int bnxt_rep_link_update_op(struct rte_eth_dev *eth_dev, int wait_to_compl) struct rte_eth_link *link; int rc; - parent_bp = rep->parent_dev->data->dev_private; - if (!parent_bp) + if (!bnxt_rep_check_parent(rep)) return 0; + parent_bp = rep->parent_dev->data->dev_private; rc = bnxt_link_update_op(parent_bp->eth_dev, wait_to_compl); /* Link state. Inherited from PF or trusted VF */ @@ -542,7 +542,7 @@ static int bnxt_vfr_free(struct bnxt_representor *vfr) if (!bnxt_rep_check_parent(vfr)) { PMD_DRV_LOG_LINE(DEBUG, "BNXT Port:%d VFR already freed", - vfr->dpdk_port_id); + vfr->dpdk_port_id); return 0; } parent_bp = vfr->parent_dev->data->dev_private; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 03/54] net/bnxt: enable vector mode processing 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup 2025-10-09 22:10 ` [PATCH v2 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup 2025-10-09 22:10 ` [PATCH v2 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 Manish Kurup ` (50 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> When representors are not enabled, then truflow could be run in vector mode processing to achieve higher throughput. Added logic to check representors to enable or disable vector mode. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/bnxt.h | 7 +++ drivers/net/bnxt/bnxt_ethdev.c | 88 +++++++++++++++++++++++++++++++++- 2 files changed, 93 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index c9fdd36d3e..72ac66b0db 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -852,6 +852,13 @@ struct bnxt { ((bp)->flags2 & BNXT_FLAGS2_MULTIROOT_EN) #define BNXT_FLAGS2_COMPRESSED_RX_CQE BIT(5) +#define BNXT_FLAGS2_USE_MPC BIT(6) +#define BNXT_USE_MPC(bp) \ + ((bp)->flags2 & BNXT_FLAGS2_USE_MPC) +#define BNXT_FLAGS2_REP_MODE BIT(7) +#define BNXT_REP_MODE_EN(bp) \ + ((bp)->flags2 & BNXT_FLAGS2_REP_MODE) + uint32_t fw_cap; #define BNXT_FW_CAP_HOT_RESET BIT(0) #define BNXT_FW_CAP_IF_CHANGE BIT(1) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index cb0d99b9ee..0836be3b1e 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -107,6 +107,8 @@ static const struct rte_pci_id bnxt_pci_id_map[] = { #define BNXT_DEVARG_IEEE_1588 "ieee-1588" #define BNXT_DEVARG_CQE_MODE "cqe-mode" #define BNXT_DEVARG_MPC "mpc" +#define BNXT_DEVARG_SCALAR_MODE "scalar-mode" +#define BNXT_DEVARD_APP_INST_ID "app-instance-id" static const char *const bnxt_dev_args[] = { BNXT_DEVARG_REPRESENTOR, @@ -122,6 +124,8 @@ static const char *const bnxt_dev_args[] = { BNXT_DEVARG_IEEE_1588, BNXT_DEVARG_CQE_MODE, BNXT_DEVARG_MPC, + BNXT_DEVARG_SCALAR_MODE, + BNXT_DEVARD_APP_INST_ID, NULL }; @@ -1447,7 +1451,7 @@ bnxt_receive_function(struct rte_eth_dev *eth_dev) * asynchronous completions and receive completions can be placed in * the same completion ring. */ - if ((BNXT_TRUFLOW_EN(bp) && !BNXT_CHIP_P7(bp)) || + if ((BNXT_TRUFLOW_EN(bp) && BNXT_REP_MODE_EN(bp)) || !BNXT_NUM_ASYNC_CPR(bp)) goto use_scalar_rx; @@ -1523,7 +1527,7 @@ bnxt_transmit_function(__rte_unused struct rte_eth_dev *eth_dev) */ if (eth_dev->data->scattered_rx || (offloads & ~RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) || - (BNXT_TRUFLOW_EN(bp) && !BNXT_CHIP_P7(bp)) || + (BNXT_TRUFLOW_EN(bp) && BNXT_REP_MODE_EN(bp)) || bp->ieee_1588) goto use_scalar_tx; @@ -6385,6 +6389,64 @@ bnxt_parse_devarg_rep_fc_f2r(__rte_unused const char *key, return 0; } +static int +bnxt_parse_devarg_representor_mode(__rte_unused const char *key, + const char *value, void *opaque_arg) +{ + struct bnxt *bp = opaque_arg; + unsigned long rep; + char *end = NULL; + + if (!value || !opaque_arg) { + PMD_DRV_LOG_LINE(ERR, + "Invalid param passed to rep mode in devargs"); + return -EINVAL; + } + + rep = strtoul(value, &end, 10); + if (end == NULL || *end != '\0' || + (rep == ULONG_MAX && errno == ERANGE)) { + PMD_DRV_LOG_LINE(ERR, + "Invalid param passed to rep mode in devargs"); + return -EINVAL; + } + + if (rep > 0) + bp->flags2 |= BNXT_FLAGS2_REP_MODE; + PMD_DRV_LOG_LINE(INFO, "representor feature enabled"); + + return 0; +} + +static int +bnxt_parse_devarg_scalar_mode(__rte_unused const char *key, + const char *value, void *opaque_arg) +{ + struct bnxt *bp = opaque_arg; + unsigned long rep; + char *end = NULL; + + if (!value || !opaque_arg) { + PMD_DRV_LOG_LINE(ERR, + "Invalid param passed to scalar mode in devargs"); + return -EINVAL; + } + + rep = strtoul(value, &end, 10); + if (end == NULL || *end != '\0' || + (rep == ULONG_MAX && errno == ERANGE)) { + PMD_DRV_LOG_LINE(ERR, + "Invalid param passed to scalar mode in devargs"); + return -EINVAL; + } + + if (rep > 0) + bp->flags2 |= BNXT_FLAGS2_REP_MODE; + PMD_DRV_LOG_LINE(INFO, "Scalar mode enabled"); + + return 0; +} + static int bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs) { @@ -6445,6 +6507,28 @@ bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs) rte_kvargs_process(kvlist, BNXT_DEVARG_CQE_MODE, bnxt_parse_devarg_cqe_mode, bp); + /* + * Handler for "representor" devarg. + * Invoked as for ex: "-a 000:00:0d.0,representor=1" + */ + rte_kvargs_process(kvlist, BNXT_DEVARG_REPRESENTOR, + bnxt_parse_devarg_representor_mode, bp); + + /* + * Handler for "scalar-mode" devarg. + * Invoked as for ex: "-a 000:00:0d.0,scalar-mode=1" + */ + rte_kvargs_process(kvlist, BNXT_DEVARG_SCALAR_MODE, + bnxt_parse_devarg_scalar_mode, bp); + + /* + * Handler for "app-instance-id" devarg. + * Invoked as for ex: "-a 000:00:0d.0,app-instance-id=1" + * This argument is required for enabling truflow hot upgrade feature. + */ + rte_kvargs_process(kvlist, BNXT_DEVARD_APP_INST_ID, + bnxt_parse_devarg_app_instance_id, bp); + rte_kvargs_free(kvlist); return ret; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (2 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 03/54] net/bnxt: enable vector mode processing Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 Manish Kurup ` (49 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Jay Ding, Michael Baucom From: Jay Ding <jay.ding@broadcom.com> A CFA stats counter is created with each meter by default but is only activated when the meter is attached to a non-tunnel flow because the tunnel flow may use the stats pointer for other purpose. Only the green and red/drop packet/byte stats are supported. Signed-off-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Michael Baucom <michael.baucom@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 45 ++++++++++++----- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 46 +++++++++++++++++ drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h | 11 +++++ drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c | 3 +- drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c | 63 ++++++++++++++++++++---- drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 6 +++ drivers/net/bnxt/tf_ulp/ulp_mapper.c | 9 ---- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 24 +++++++++ drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 5 +- drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 54 +++++++++++++++++++- 10 files changed, 234 insertions(+), 32 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c index 591bde96e8..bc48e35c00 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c @@ -42,7 +42,6 @@ * Meter init status */ int bnxt_mtr_initialized; - int32_t bnxt_flow_mtr_init(struct bnxt *bp __rte_unused) { @@ -542,6 +541,7 @@ bnxt_flow_mtr_destroy(struct rte_eth_dev *dev, uint16_t func_id; int ret; uint32_t tmp_mtr_id; + const struct ulp_mapper_core_ops *oper; if (!bnxt_mtr_initialized) return -rte_mtr_error_set(error, ENOTSUP, @@ -750,17 +750,40 @@ bnxt_flow_mtr_stats_update(struct rte_eth_dev *dev __rte_unused, * Read meter statistics. */ static int -bnxt_flow_mtr_stats_read(struct rte_eth_dev *dev __rte_unused, - uint32_t mtr_id __rte_unused, - struct rte_mtr_stats *stats __rte_unused, - uint64_t *stats_mask __rte_unused, - int clear __rte_unused, - struct rte_mtr_error *error) +bnxt_flow_mtr_stats_read(struct rte_eth_dev *dev, + uint32_t mtr_id, + struct rte_mtr_stats *stats, + uint64_t *stats_mask, + int clear, + struct rte_mtr_error *error) { - return -rte_mtr_error_set(error, ENOTSUP, - RTE_MTR_ERROR_TYPE_UNSPECIFIED, - NULL, - "Meter_stats_read not supported yet"); + int rc = 0; + struct bnxt_ulp_context *ulp_ctx; + + ulp_ctx = bnxt_ulp_eth_dev_ptr2_cntxt_get(dev); + if (unlikely(!ulp_ctx)) { + BNXT_DRV_DBG(ERR, "ULP context is not initialized\n"); + goto error; + } + + memset(stats, 0, sizeof(*stats)); + rc = ulp_mtr_query_count_get(ulp_ctx, mtr_id, clear, stats); + if (unlikely(rc)) + goto error; + + *stats_mask = 0; + *stats_mask |= RTE_MTR_STATS_N_PKTS_GREEN; + *stats_mask |= RTE_MTR_STATS_N_PKTS_RED; + *stats_mask |= RTE_MTR_STATS_N_PKTS_DROPPED; + *stats_mask |= RTE_MTR_STATS_N_BYTES_GREEN; + *stats_mask |= RTE_MTR_STATS_N_BYTES_RED; + *stats_mask |= RTE_MTR_STATS_N_BYTES_DROPPED; + + return rc; +error: + return -rte_mtr_error_set(error, EINVAL, + RTE_MTR_ERROR_TYPE_STATS, NULL, + "Failed to query meter."); } static const struct rte_mtr_ops bnxt_flow_mtr_ops = { diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c index f9d069f4e1..4be2703740 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c @@ -627,6 +627,52 @@ int ulp_fc_mgr_query_count_get(struct bnxt_ulp_context *ctxt, return rc; } +/* + * Fill the rte_mtr_stats 'mtr_count' argument passed + * in the rte_mtr_stats_read() with the values obtained + * through CFA table get. + * + * ctxt [in] The ulp context for the flow counter manager + * + * mtr_id [in] The SW meter ID + * + * count [out] The rte_mtr_stats 'mtr_count' that is set + * + */ +int ulp_mtr_query_count_get(struct bnxt_ulp_context *ctxt, + uint32_t mtr_id, + int clear, + struct rte_mtr_stats *mtr_count) +{ + int rc = 0; + struct bnxt_ulp_fc_info *ulp_fc_info; + const struct bnxt_ulp_fc_core_ops *fc_ops; + struct ulp_flow_db_res_params params; + uint32_t session_type = 0; + uint8_t dir = 0; + const struct ulp_mapper_core_ops *oper; + + ulp_fc_info = bnxt_ulp_cntxt_ptr2_fc_info_get(ctxt); + if (!ulp_fc_info) + return -ENODEV; + + oper = ulp_mapper_data_oper_get(ctxt); + if (!oper) + return -ENODEV; + rc = oper->ulp_mapper_mtr_stats_hndl_get(mtr_id, ¶ms.resource_hndl); + if (rc) + return rc; + + fc_ops = ulp_fc_info->fc_ops; + if (!fc_ops || !fc_ops->ulp_mtr_stat_get) + return -ENODEV; + + rc = fc_ops->ulp_mtr_stat_get(ctxt, dir, session_type, + params.resource_hndl, clear, mtr_count); + + return rc; +} + /* * Set the parent flow if it is SW accumulation counter entry. * diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h index 0b81be7af9..d80d2e4e9d 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h @@ -36,6 +36,13 @@ struct bnxt_ulp_fc_core_ops { (*ulp_flow_stats_accum_update)(struct bnxt_ulp_context *ctxt, struct bnxt_ulp_fc_info *ulp_fc_info, struct bnxt_ulp_device_params *dparms); + int32_t + (*ulp_mtr_stat_get)(struct bnxt_ulp_context *ctxt, + uint8_t direction, + uint32_t session_type, + uint64_t handle, + int32_t clear, + struct rte_mtr_stats *mtr_count); }; struct sw_acc_counter { @@ -186,6 +193,10 @@ bool ulp_fc_mgr_thread_isstarted(struct bnxt_ulp_context *ctxt); int ulp_fc_mgr_query_count_get(struct bnxt_ulp_context *ulp_ctx, uint32_t flow_id, struct rte_flow_query_count *count); +int ulp_mtr_query_count_get(struct bnxt_ulp_context *ulp_ctx, + uint32_t mtr_id, + int clear, + struct rte_mtr_stats *count); /* * Set the parent flow if in the SW accumulator table entry diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c index 60a7073514..65737f0cde 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tf.c @@ -255,5 +255,6 @@ ulp_fc_tf_flow_stat_get(struct bnxt_ulp_context *ctxt, const struct bnxt_ulp_fc_core_ops ulp_fc_tf_core_ops = { .ulp_flow_stat_get = ulp_fc_tf_flow_stat_get, - .ulp_flow_stats_accum_update = ulp_fc_tf_update_accum_stats + .ulp_flow_stats_accum_update = ulp_fc_tf_update_accum_stats, + .ulp_mtr_stat_get = NULL, }; diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c index 4a1d0bf3df..d1b374e603 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c @@ -26,6 +26,8 @@ */ #define ULP_FC_TFC_PKT_CNT_OFFS 0 #define ULP_FC_TFC_BYTE_CNT_OFFS 1 +#define ULP_FC_TFC_PKT_MTR_DROP_CNT_OFFS 2 +#define ULP_FC_TFC_BYTE_MTR_DROP_CNT_OFFS 3 #define ULP_TFC_CNTR_READ_BYTES 32 #define ULP_TFC_CNTR_ALIGN 32 #define ULP_TFC_ACT_WORD_SZ 32 @@ -56,11 +58,12 @@ static uint8_t *data; static uint64_t virt2iova_data; static int32_t -ulp_fc_tfc_flow_stat_get(struct bnxt_ulp_context *ctxt, - uint8_t direction, - uint32_t session_type __rte_unused, - uint64_t handle, - struct rte_flow_query_count *count) +ulp_fc_tfc_stat_get(struct bnxt_ulp_context *ctxt, + uint8_t direction, + uint32_t session_type __rte_unused, + uint64_t handle, + struct rte_flow_query_count *count, + struct rte_mtr_stats *mtr_drop_count) { uint16_t data_size = ULP_TFC_CNTR_READ_BYTES; struct tfc_cmm_clr cmm_clr = { 0 }; @@ -102,11 +105,15 @@ ulp_fc_tfc_flow_stat_get(struct bnxt_ulp_context *ctxt, cmm_info.act_handle = handle; cmm_info.dir = (enum cfa_dir)direction; /* Read and Clear the hw stat if requested */ - if (count->reset) { + if (count && count->reset) { cmm_clr.clr = true; cmm_clr.offset_in_byte = 0; cmm_clr.sz_in_byte = sizeof(data64[ULP_FC_TFC_PKT_CNT_OFFS]) + sizeof(data64[ULP_FC_TFC_BYTE_CNT_OFFS]); + if (mtr_drop_count) { + cmm_clr.sz_in_byte += sizeof(data64[ULP_FC_TFC_PKT_MTR_DROP_CNT_OFFS]); + cmm_clr.sz_in_byte += sizeof(data64[ULP_FC_TFC_BYTE_MTR_DROP_CNT_OFFS]); + } } rc = tfc_act_get(tfcp, NULL, &cmm_info, &cmm_clr, &virt2iova_data, &word_size); if (rc) { @@ -115,19 +122,57 @@ ulp_fc_tfc_flow_stat_get(struct bnxt_ulp_context *ctxt, handle); return rc; } - if (data64[ULP_FC_TFC_PKT_CNT_OFFS]) { + if (count && data64[ULP_FC_TFC_PKT_CNT_OFFS]) { count->hits_set = 1; count->hits = data64[ULP_FC_TFC_PKT_CNT_OFFS]; } - if (data64[ULP_FC_TFC_BYTE_CNT_OFFS]) { + if (count && data64[ULP_FC_TFC_BYTE_CNT_OFFS]) { count->bytes_set = 1; count->bytes = data64[ULP_FC_TFC_BYTE_CNT_OFFS]; } + if (mtr_drop_count) { + mtr_drop_count->n_pkts[RTE_COLOR_GREEN] = data64[ULP_FC_TFC_PKT_CNT_OFFS]; + mtr_drop_count->n_bytes[RTE_COLOR_GREEN] = data64[ULP_FC_TFC_BYTE_CNT_OFFS]; + mtr_drop_count->n_pkts_dropped = data64[ULP_FC_TFC_PKT_MTR_DROP_CNT_OFFS]; + mtr_drop_count->n_pkts[RTE_COLOR_RED] = data64[ULP_FC_TFC_PKT_MTR_DROP_CNT_OFFS]; + mtr_drop_count->n_bytes_dropped = data64[ULP_FC_TFC_BYTE_MTR_DROP_CNT_OFFS]; + mtr_drop_count->n_bytes[RTE_COLOR_RED] = data64[ULP_FC_TFC_BYTE_MTR_DROP_CNT_OFFS]; + } + return rc; } +static int32_t +ulp_fc_tfc_flow_stat_get(struct bnxt_ulp_context *ctxt, + uint8_t direction, + uint32_t session_type, + uint64_t handle, + struct rte_flow_query_count *count) +{ + return ulp_fc_tfc_stat_get(ctxt, direction, session_type, handle, count, NULL); +} + +static int32_t +ulp_fc_tfc_mtr_stat_get(struct bnxt_ulp_context *ctxt, + uint8_t direction, + uint32_t session_type, + uint64_t handle, + int32_t clear, + struct rte_mtr_stats *mtr_count) +{ + struct rte_flow_query_count count; + + if (clear) + count.reset = 1; + else + count.reset = 0; + + return ulp_fc_tfc_stat_get(ctxt, direction, session_type, handle, &count, mtr_count); +} + const struct bnxt_ulp_fc_core_ops ulp_fc_tfc_core_ops = { .ulp_flow_stat_get = ulp_fc_tfc_flow_stat_get, - .ulp_flow_stats_accum_update = ulp_fc_tfc_update_accum_stats + .ulp_flow_stats_accum_update = ulp_fc_tfc_update_accum_stats, + .ulp_mtr_stat_get = ulp_fc_tfc_mtr_stat_get }; diff --git a/drivers/net/bnxt/tf_ulp/ulp_flow_db.h b/drivers/net/bnxt/tf_ulp/ulp_flow_db.h index 4301094cfe..f0a677b64b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_flow_db.h +++ b/drivers/net/bnxt/tf_ulp/ulp_flow_db.h @@ -91,6 +91,12 @@ struct ulp_flow_db_res_params { uint64_t resource_hndl; }; +struct bnxt_mtr_stats_id_map { + bool valid; + uint32_t mtr_id; + uint64_t stats_hndl; +}; + /* * Initialize the flow database. Memory is allocated in this * call and assigned to the flow database. diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index c06d849883..4829ae41d1 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -71,15 +71,6 @@ bnxt_ulp_mapper_ops_get(struct bnxt *bp) return func_ops; } -static const struct ulp_mapper_core_ops * -ulp_mapper_data_oper_get(struct bnxt_ulp_context *ulp_ctx) -{ - struct bnxt_ulp_mapper_data *m_data; - - m_data = (struct bnxt_ulp_mapper_data *)ulp_ctx->cfg_data->mapper_data; - return m_data->mapper_oper; -} - static const char * ulp_mapper_tmpl_name_str(enum bnxt_ulp_template_type tmpl_type) { diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h index d1dec6c2bd..f9a407cd84 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h @@ -170,8 +170,26 @@ struct ulp_mapper_core_ops { int (*ulp_mapper_mpc_batch_end)(struct tfc *tfcp, struct tfc_mpc_batch_info_t *batch_info); + + int32_t + (*ulp_mapper_mtr_stats_hndl_set)(struct bnxt_ulp_mapper_parms *parms, + uint32_t mtr_id, + uint64_t stats_hndl); + int32_t + (*ulp_mapper_mtr_stats_hndl_get)(uint32_t mtr_id, uint64_t *stats_hndl); + + int + (*ulp_mapper_mtr_stats_hndl_del)(uint32_t mtr_id); }; +static inline const struct ulp_mapper_core_ops * +ulp_mapper_data_oper_get(struct bnxt_ulp_context *ulp_ctx) { + struct bnxt_ulp_mapper_data *m_data; + + m_data = (struct bnxt_ulp_mapper_data *)ulp_ctx->cfg_data->mapper_data; + return m_data->mapper_oper; +} + extern const struct ulp_mapper_core_ops ulp_mapper_tf_core_ops; extern const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops; @@ -302,6 +320,12 @@ ulp_mapper_init(struct bnxt_ulp_context *ulp_ctx); void ulp_mapper_deinit(struct bnxt_ulp_context *ulp_ctx); +int +ulp_mapper_get_mtr_stats_hndl(uint32_t mtr_id, uint64_t *stats_ptr); + +int +ulp_mapper_del_mtr_stats_hndl(uint32_t mtr_id); + #ifdef TF_FLOW_SCALE_QUERY int32_t ulp_resc_usage_sync(struct bnxt_ulp_context *ulp_ctx); diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c index 53497c164a..e755591716 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c @@ -1385,5 +1385,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tf_core_ops = { .ulp_mapper_core_handle_to_offset = ulp_mapper_tf_handle_to_offset, .ulp_mapper_mpc_batch_started = ulp_mapper_tf_mpc_batch_started, .ulp_mapper_mpc_batch_start = ulp_mapper_tf_mpc_batch_start, - .ulp_mapper_mpc_batch_end = ulp_mapper_tf_mpc_batch_end + .ulp_mapper_mpc_batch_end = ulp_mapper_tf_mpc_batch_end, + .ulp_mapper_mtr_stats_hndl_set = NULL, + .ulp_mapper_mtr_stats_hndl_get = NULL, + .ulp_mapper_mtr_stats_hndl_del = NULL }; diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index cbe9aa01c9..388ebea7ee 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -1759,6 +1759,55 @@ ulp_mapper_tfc_mpc_batch_start(struct tfc_mpc_batch_info_t *batch_info) return tfc_mpc_batch_start(batch_info); } +static int32_t +ulp_mapper_tfc_mtr_stats_hndl_set(struct bnxt_ulp_mapper_parms *parms __rte_unused, + uint32_t mtr_id, uint64_t stats_hndl) +{ + int32_t i, rc = -ENOMEM; + + for (i = 0; i < BNXT_METER_MAX_NUM; i++) + if (!mtr_stats[i].valid) { + mtr_stats[i].mtr_id = mtr_id; + mtr_stats[i].stats_hndl = stats_hndl; + mtr_stats[i].valid = true; + rc = 0; + break; + } + + return rc; +} + +static int32_t +ulp_mapper_tfc_mtr_stats_hndl_get(uint32_t mtr_id, uint64_t *stats_hndl) +{ + int32_t i, rc = -EINVAL; + + for (i = 0; i < BNXT_METER_MAX_NUM; i++) { + if (mtr_stats[i].valid && mtr_stats[i].mtr_id == mtr_id) { + *stats_hndl = mtr_stats[i].stats_hndl; + rc = 0; + break; + } + } + + return rc; +} + +static int32_t +ulp_mapper_tfc_mtr_stats_hndl_del(uint32_t mtr_id) +{ + int32_t i, rc = -EINVAL; + + for (i = 0; i < BNXT_METER_MAX_NUM; i++) + if (mtr_stats[i].valid && mtr_stats[i].mtr_id == mtr_id) { + mtr_stats[i].valid = false; + rc = 0; + break; + } + + return rc; +} + const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops = { .ulp_mapper_core_tcam_tbl_process = ulp_mapper_tfc_tcam_tbl_process, .ulp_mapper_core_tcam_entry_free = ulp_mapper_tfc_tcam_entry_free, @@ -1779,5 +1828,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops = { .ulp_mapper_core_handle_to_offset = ulp_mapper_tfc_handle_to_offset, .ulp_mapper_mpc_batch_start = ulp_mapper_tfc_mpc_batch_start, .ulp_mapper_mpc_batch_started = ulp_mapper_tfc_mpc_batch_started, - .ulp_mapper_mpc_batch_end = ulp_mapper_tfc_mpc_batch_end + .ulp_mapper_mpc_batch_end = ulp_mapper_tfc_mpc_batch_end, + .ulp_mapper_mtr_stats_hndl_set = ulp_mapper_tfc_mtr_stats_hndl_set, + .ulp_mapper_mtr_stats_hndl_get = ulp_mapper_tfc_mtr_stats_hndl_get, + .ulp_mapper_mtr_stats_hndl_del = ulp_mapper_tfc_mtr_stats_hndl_del }; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (3 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool Manish Kurup ` (48 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Jay Ding Changes to support Dynamic UPAR APIs on THOR2. 1. TF core changes 2. ULP Mapper changes 3. RTE parser changes 4. Add 128B encap table type string Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Jay Ding <jay.ding@broadcom.com> --- .../bnxt/hcapi/cfa_v3/include/cfa_resources.h | 25 +++- drivers/net/bnxt/tf_core/tf_util.c | 2 + drivers/net/bnxt/tf_core/v3/tfc.h | 1 + drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c | 51 +++++--- drivers/net/bnxt/tf_core/v3/tfc_msg.c | 121 +++++++++++++++++- drivers/net/bnxt/tf_core/v3/tfc_msg.h | 13 +- drivers/net/bnxt/tf_core/v3/tfc_util.c | 2 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 29 +++++ 8 files changed, 213 insertions(+), 31 deletions(-) diff --git a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h index 7408859a53..d1d62738d3 100644 --- a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h +++ b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h @@ -94,7 +94,18 @@ enum cfa_resource_subtype_idx_tbl { CFA_RSUBTYPE_IDX_TBL_EM_FKB, /**< EM FKB table */ CFA_RSUBTYPE_IDX_TBL_WC_FKB, /**< WC TCAM FKB table */ CFA_RSUBTYPE_IDX_TBL_EM_FKB_MASK, /**< EM FKB Mask table */ - CFA_RSUBTYPE_IDX_TBL_MAX + CFA_RSUBTYPE_IDX_TBL_MAX, + /* + * Resource subtypes that come after this point are handled "specially" + * by code in the TFC core and firmware layers. This #define loses + * significance after the Mapper TFC layer. + */ + CFA_RSUBTYPE_IDX_TBL_DYN_UPAR, /**< Dynamic UPAR table */ + /* + * MAX value for custom index tables, i.e. tables that are handled + * specially by firmware or layers below mapper. + */ + CFA_RSUBTYPE_CUSTOM_IDX_TBL_MAX }; /** @@ -132,6 +143,18 @@ enum cfa_resource_subtype_if_tbl { CFA_RSUBTYPE_IF_TBL_MAX }; +/** + * Resource sub-types for CFA_BLKTYPE_IDX_TBL + */ +enum cfa_resource_blktype_idx_tbl { + CFA_IDX_TBL_BLKTYPE_CFA = 0, + CFA_IDX_TBL_BLKTYPE_RXP, + CFA_IDX_TBL_BLKTYPE_RE_GPARSE, + CFA_IDX_TBL_BLKTYPE_TE_GPARSE, + CFA_IDX_TBL_BLKTYPE_LAST = CFA_IDX_TBL_BLKTYPE_TE_GPARSE, + CFA_IDX_TBL_BLKTYPE_MAX +}; + /** * Resource sub-types for CFA_RTYPE_CMM */ diff --git a/drivers/net/bnxt/tf_core/tf_util.c b/drivers/net/bnxt/tf_core/tf_util.c index 8ce8238b4a..16aea7204c 100644 --- a/drivers/net/bnxt/tf_core/tf_util.c +++ b/drivers/net/bnxt/tf_core/tf_util.c @@ -85,6 +85,8 @@ tf_tbl_type_2_str(enum tf_tbl_type tbl_type) return "Encap 32B"; case TF_TBL_TYPE_ACT_ENCAP_64B: return "Encap 64B"; + case TF_TBL_TYPE_ACT_ENCAP_128B: + return "Encap 128B"; case TF_TBL_TYPE_ACT_SP_SMAC: return "Source Properties SMAC"; case TF_TBL_TYPE_ACT_SP_SMAC_IPV4: diff --git a/drivers/net/bnxt/tf_core/v3/tfc.h b/drivers/net/bnxt/tf_core/v3/tfc.h index 4176aa01bd..1c7eb51c8c 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc.h +++ b/drivers/net/bnxt/tf_core/v3/tfc.h @@ -372,6 +372,7 @@ struct tfc_idx_tbl_info { enum cfa_resource_subtype_idx_tbl rsubtype; /**< resource subtype */ enum cfa_dir dir; /**< direction rx/tx */ uint16_t id; /**< alloc/free index */ + enum cfa_resource_blktype_idx_tbl blktype; /**< block type */ }; /** diff --git a/drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c b/drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c index c8d64c5418..3311b9df65 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_idx_tbl.c @@ -15,6 +15,9 @@ #include "tfc_msg.h" #include "tfc_util.h" +#define BLKTYPE_IS_CFA(blktype) \ + (CFA_IDX_TBL_BLKTYPE_CFA == (blktype)) + int tfc_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, enum cfa_track_type tt, struct tfc_idx_tbl_info *tbl_info) @@ -48,9 +51,10 @@ int tfc_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, return -EINVAL; } - if (tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { - PMD_DRV_LOG_LINE(ERR, "Invalid idx tbl subtype: %d", - tbl_info->rsubtype); + if (BLKTYPE_IS_CFA(tbl_info->blktype) && + tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid idx tbl subtype: %d", + __func__, tbl_info->rsubtype); return -EINVAL; } @@ -68,7 +72,8 @@ int tfc_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, } rc = tfc_msg_idx_tbl_alloc(tfcp, fid, sid, tt, tbl_info->dir, - tbl_info->rsubtype, &tbl_info->id); + tbl_info->rsubtype, &tbl_info->id, + tbl_info->blktype); if (rc) PMD_DRV_LOG_LINE(ERR, "hwrm failed: %s:%s %s", tfc_dir_2_str(tbl_info->dir), @@ -118,9 +123,10 @@ int tfc_idx_tbl_alloc_set(struct tfc *tfcp, uint16_t fid, return -EINVAL; } - if (tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { - PMD_DRV_LOG_LINE(ERR, "Invalid idx tbl subtype: %d", - tbl_info->rsubtype); + if (BLKTYPE_IS_CFA(tbl_info->blktype) && + tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid idx tbl subtype: %d", + __func__, tbl_info->rsubtype); return -EINVAL; } @@ -143,7 +149,8 @@ int tfc_idx_tbl_alloc_set(struct tfc *tfcp, uint16_t fid, rc = tfc_msg_idx_tbl_alloc_set(tfcp, fid, sid, tt, tbl_info->dir, tbl_info->rsubtype, data, - data_sz_in_bytes, &tbl_info->id); + data_sz_in_bytes, &tbl_info->id, + tbl_info->blktype); if (rc) PMD_DRV_LOG_LINE(ERR, "hwrm failed: %s:%s %s", tfc_dir_2_str(tbl_info->dir), @@ -181,8 +188,9 @@ int tfc_idx_tbl_set(struct tfc *tfcp, uint16_t fid, return -EINVAL; } - if (tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { - PMD_DRV_LOG_LINE(ERR, "Invalid idx tbl subtype: %d", + if (BLKTYPE_IS_CFA(tbl_info->blktype) && + tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid idx tbl subtype: %d", __func__, tbl_info->rsubtype); return -EINVAL; } @@ -202,7 +210,8 @@ int tfc_idx_tbl_set(struct tfc *tfcp, uint16_t fid, rc = tfc_msg_idx_tbl_set(tfcp, fid, sid, tbl_info->dir, tbl_info->rsubtype, tbl_info->id, - data, data_sz_in_bytes); + data, data_sz_in_bytes, + tbl_info->blktype); if (rc) PMD_DRV_LOG_LINE(ERR, "hwrm failed: %s:%s %d %s", tfc_dir_2_str(tbl_info->dir), @@ -240,9 +249,10 @@ int tfc_idx_tbl_get(struct tfc *tfcp, uint16_t fid, return -EINVAL; } - if (tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { - PMD_DRV_LOG_LINE(ERR, "Invalid idx tbl subtype: %d", - tbl_info->rsubtype); + if (BLKTYPE_IS_CFA(tbl_info->blktype) && + tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid idx tbl subtype: %d", + __func__, tbl_info->rsubtype); return -EINVAL; } @@ -261,7 +271,8 @@ int tfc_idx_tbl_get(struct tfc *tfcp, uint16_t fid, rc = tfc_msg_idx_tbl_get(tfcp, fid, sid, tbl_info->dir, tbl_info->rsubtype, tbl_info->id, - data, data_sz_in_bytes); + data, data_sz_in_bytes, + tbl_info->blktype); if (rc) PMD_DRV_LOG_LINE(ERR, "hwrm failed: %s:%s %d %s", tfc_dir_2_str(tbl_info->dir), @@ -297,9 +308,10 @@ int tfc_idx_tbl_free(struct tfc *tfcp, uint16_t fid, return -EINVAL; } - if (tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { - PMD_DRV_LOG_LINE(ERR, "Invalid idx tbl subtype: %d", - tbl_info->rsubtype); + if (BLKTYPE_IS_CFA(tbl_info->blktype) && + tbl_info->rsubtype >= CFA_RSUBTYPE_IDX_TBL_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid idx tbl subtype: %d", + __func__, tbl_info->rsubtype); return -EINVAL; } @@ -317,7 +329,8 @@ int tfc_idx_tbl_free(struct tfc *tfcp, uint16_t fid, } rc = tfc_msg_idx_tbl_free(tfcp, fid, sid, tbl_info->dir, - tbl_info->rsubtype, tbl_info->id); + tbl_info->rsubtype, tbl_info->id, + tbl_info->blktype); if (rc) PMD_DRV_LOG_LINE(ERR, "hwrm failed: %s:%s %d %s", tfc_dir_2_str(tbl_info->dir), diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_msg.c index ef64707233..2ad0b386fa 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.c @@ -61,6 +61,79 @@ static int tfc_msg_set_fid(struct bnxt *bp, uint16_t req_fid, uint16_t *msg_fid) return 0; } +/* + * Lookup table to map TFC local blocktype values to HWRM equivalents. Does + * this on a per HWRM command basis. + */ +enum tfc_hwrm_idx_tbl_cmds { + IDX_TBL_ALLOC, + IDX_TBL_ALLOC_SET, + IDX_TBL_SET, + IDX_TBL_GET, + IDX_TBL_FREE, + IDX_TBL_LAST = IDX_TBL_FREE, + IDX_TBL_MAX +}; + +#define CMD_TO_HWRM_BLKT(tfc_cmd, blktype) \ + HWRM_TFC_##tfc_cmd##_INPUT_BLKTYPE_BLKTYPE_##blktype + +uint8_t cfa_res_to_hwrm_blkt_lkup_tbl[IDX_TBL_MAX][CFA_IDX_TBL_BLKTYPE_MAX] = { + [IDX_TBL_ALLOC] = { + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC, CFA), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC, RXP), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC, RE_GPARSE), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC, TE_GPARSE), + }, + [IDX_TBL_ALLOC_SET] = { + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC_SET, CFA), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC_SET, RXP), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC_SET, RE_GPARSE), + CMD_TO_HWRM_BLKT(IDX_TBL_ALLOC_SET, TE_GPARSE), + }, + [IDX_TBL_SET] = { + CMD_TO_HWRM_BLKT(IDX_TBL_SET, CFA), + CMD_TO_HWRM_BLKT(IDX_TBL_SET, RXP), + CMD_TO_HWRM_BLKT(IDX_TBL_SET, RE_GPARSE), + CMD_TO_HWRM_BLKT(IDX_TBL_SET, TE_GPARSE), + }, + [IDX_TBL_GET] = { + CMD_TO_HWRM_BLKT(IDX_TBL_GET, CFA), + CMD_TO_HWRM_BLKT(IDX_TBL_GET, RXP), + CMD_TO_HWRM_BLKT(IDX_TBL_GET, RE_GPARSE), + CMD_TO_HWRM_BLKT(IDX_TBL_GET, TE_GPARSE), + }, + [IDX_TBL_FREE] = { + CMD_TO_HWRM_BLKT(IDX_TBL_FREE, CFA), + CMD_TO_HWRM_BLKT(IDX_TBL_FREE, RXP), + CMD_TO_HWRM_BLKT(IDX_TBL_FREE, RE_GPARSE), + CMD_TO_HWRM_BLKT(IDX_TBL_FREE, TE_GPARSE), + }, +}; + +/* + * Maps TFC local blocktype values to HWRM equivalents. This function is + * required as each HWRM idx_tbl msg (alloc, alloc_set, get_set, free) has + * their own #defines, even though the values are the same across messages. + * Using this macro maps the appropriate TFC block type correctly to its HWRM + * msg relative equivalent. Returns an ERROR value if either idxtbl cmd OR + * blocktype is invalid. + */ +#define HWRM_BLKTYPE_ERR 0xff +static uint8_t +cfa_res_to_hwrm_blkt_lkup(enum cfa_resource_blktype_idx_tbl blktype, + enum tfc_hwrm_idx_tbl_cmds idxtbl_cmd) +{ + if ((idxtbl_cmd) > IDX_TBL_LAST || + (blktype) > CFA_IDX_TBL_BLKTYPE_LAST) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, (blktype)); + return -EINVAL; + } + + return cfa_res_to_hwrm_blkt_lkup_tbl[idxtbl_cmd][blktype]; +} + /** * Allocates a DMA buffer that can be used for message transfer. * @@ -406,7 +479,7 @@ int tfc_msg_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_track_type tt, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, - uint16_t *id) + uint16_t *id, enum cfa_resource_blktype_idx_tbl blktype) { int rc = 0; @@ -430,7 +503,13 @@ tfc_msg_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, if (rc) return rc; req.sid = rte_le_to_cpu_16(sid); - req.subtype = rte_le_to_cpu_16(subtype); + req.subtype = (uint8_t)subtype; + req.blktype = cfa_res_to_hwrm_blkt_lkup(blktype, IDX_TBL_ALLOC); + if (req.blktype == HWRM_BLKTYPE_ERR) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, blktype); + return -EINVAL; + } rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_IDX_TBL_ALLOC, &req, sizeof(req), &resp, sizeof(resp)); @@ -446,7 +525,7 @@ tfc_msg_idx_tbl_alloc_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_track_type tt, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, const uint32_t *dev_data, uint8_t data_size, - uint16_t *id) + uint16_t *id, enum cfa_resource_blktype_idx_tbl blktype) { int rc = 0; @@ -473,6 +552,13 @@ tfc_msg_idx_tbl_alloc_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, return rc; req.sid = rte_le_to_cpu_16(sid); req.subtype = rte_le_to_cpu_16(subtype); + req.blktype = cfa_res_to_hwrm_blkt_lkup(blktype, IDX_TBL_ALLOC_SET); + if (req.blktype == HWRM_BLKTYPE_ERR) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, blktype); + return -EINVAL; + } + req.data_size = rte_le_to_cpu_16(data_size); if (req.data_size >= sizeof(req.dev_data)) { @@ -504,7 +590,8 @@ int tfc_msg_idx_tbl_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, uint16_t id, - const uint32_t *dev_data, uint8_t data_size) + const uint32_t *dev_data, uint8_t data_size, + enum cfa_resource_blktype_idx_tbl blktype) { int rc = 0; struct bnxt *bp = tfcp->bp; @@ -526,6 +613,13 @@ tfc_msg_idx_tbl_set(struct tfc *tfcp, uint16_t fid, req.sid = rte_le_to_cpu_16(sid); req.idx_tbl_id = rte_le_to_cpu_16(id); req.subtype = rte_le_to_cpu_16(subtype); + req.blktype = cfa_res_to_hwrm_blkt_lkup(blktype, IDX_TBL_SET); + if (req.blktype == HWRM_BLKTYPE_ERR) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, blktype); + return -EINVAL; + } + req.data_size = rte_le_to_cpu_16(data_size); rc = tfc_msg_alloc_dma_buf(&buf, data_size); if (rc) @@ -555,7 +649,8 @@ int tfc_msg_idx_tbl_get(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, uint16_t id, - uint32_t *dev_data, uint8_t *data_size) + uint32_t *dev_data, uint8_t *data_size, + enum cfa_resource_blktype_idx_tbl blktype) { int rc = 0; struct bnxt *bp = tfcp->bp; @@ -576,6 +671,13 @@ tfc_msg_idx_tbl_get(struct tfc *tfcp, uint16_t fid, req.sid = rte_cpu_to_le_16(sid); req.idx_tbl_id = rte_cpu_to_le_16(id); req.subtype = rte_cpu_to_le_16(subtype); + req.blktype = cfa_res_to_hwrm_blkt_lkup(blktype, IDX_TBL_GET); + if (req.blktype == HWRM_BLKTYPE_ERR) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, blktype); + return -EINVAL; + } + req.buffer_size = rte_cpu_to_le_16(*data_size); rc = tfc_msg_alloc_dma_buf(&buf, *data_size); @@ -600,7 +702,8 @@ tfc_msg_idx_tbl_get(struct tfc *tfcp, uint16_t fid, int tfc_msg_idx_tbl_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, - enum cfa_resource_subtype_idx_tbl subtype, uint16_t id) + enum cfa_resource_subtype_idx_tbl subtype, uint16_t id, + enum cfa_resource_blktype_idx_tbl blktype) { struct bnxt *bp = tfcp->bp; struct hwrm_tfc_idx_tbl_free_input req = { 0 }; @@ -620,6 +723,12 @@ tfc_msg_idx_tbl_free(struct tfc *tfcp, uint16_t fid, req.sid = rte_cpu_to_le_16(sid); req.idx_tbl_id = rte_cpu_to_le_16(id); req.subtype = rte_cpu_to_le_16(subtype); + req.blktype = cfa_res_to_hwrm_blkt_lkup(blktype, IDX_TBL_FREE); + if (req.blktype == HWRM_BLKTYPE_ERR) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid blocktype [%u]", + __func__, blktype); + return -EINVAL; + } return bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_IDX_TBL_FREE, &req, sizeof(req), &resp, sizeof(resp)); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_msg.h index a8dcacc9f0..635c656e8f 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.h @@ -46,31 +46,34 @@ int tfc_msg_idx_tbl_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_track_type tt, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl rsubtype, - uint16_t *id); + uint16_t *id, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_idx_tbl_alloc_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_track_type tt, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, const uint32_t *dev_data, uint8_t data_size, - uint16_t *id); + uint16_t *id, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_idx_tbl_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, - uint16_t id, const uint32_t *dev_data, uint8_t data_size); + uint16_t id, const uint32_t *dev_data, + uint8_t data_size, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_idx_tbl_get(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_idx_tbl subtype, - uint16_t id, uint32_t *dev_data, uint8_t *data_size); + uint16_t id, uint32_t *dev_data, + uint8_t *data_size, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_idx_tbl_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, - enum cfa_resource_subtype_idx_tbl subtype, uint16_t id); + enum cfa_resource_subtype_idx_tbl subtype, + uint16_t id, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_global_id_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum tfc_domain_id domain_id, uint16_t req_cnt, diff --git a/drivers/net/bnxt/tf_core/v3/tfc_util.c b/drivers/net/bnxt/tf_core/v3/tfc_util.c index cd784245e5..d3229bd104 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_util.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_util.c @@ -92,6 +92,8 @@ tfc_idx_tbl_2_str(enum cfa_resource_subtype_idx_tbl tbl_stype) return "idx_tbl_range_prof"; case CFA_RSUBTYPE_IDX_TBL_RANGE_ENTRY: return "idx_tbl_range_entry"; + case CFA_RSUBTYPE_IDX_TBL_DYN_UPAR: + return "idx_tbl_dyn_upar"; default: return "Invalid idx tbl subtype"; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index 388ebea7ee..db7aa22c57 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -18,6 +18,15 @@ #include "tfc_debug.h" #endif +#define BNXT_METER_MAX_NUM 1024 +static struct bnxt_mtr_stats_id_map mtr_stats[BNXT_METER_MAX_NUM]; + +static uint32_t CFA_RESTYPE_TO_BLKT(uint8_t idx_tbl_restype) +{ + return (idx_tbl_restype > CFA_RSUBTYPE_IDX_TBL_MAX) ? + CFA_IDX_TBL_BLKTYPE_RXP : CFA_IDX_TBL_BLKTYPE_CFA; +} + /* Internal function to write the tcam entry */ static int32_t ulp_mapper_tfc_tcam_tbl_entry_write(struct bnxt_ulp_mapper_parms *parms, @@ -857,6 +866,7 @@ ulp_mapper_tfc_index_tbl_process(struct bnxt_ulp_mapper_parms *parms, index = rte_be_to_cpu_64(regval); tbl_info.dir = tbl->direction; tbl_info.rsubtype = tbl->resource_type; + tbl_info.blktype = CFA_RESTYPE_TO_BLKT(tbl->resource_type); tbl_info.id = index; /* Nothing has been pushed to blob, so push bit_size */ tmplen = ulp_blob_pad_push(&data, bit_size); @@ -910,6 +920,22 @@ ulp_mapper_tfc_index_tbl_process(struct bnxt_ulp_mapper_parms *parms, if (alloc) { tbl_info.dir = tbl->direction; tbl_info.rsubtype = tbl->resource_type; + tbl_info.blktype = CFA_RESTYPE_TO_BLKT(tbl->resource_type); + /* + * Read back the operand and pass it into the + * alloc command if its a Dyn UPAR table. + */ + if (tbl_info.blktype == CFA_IDX_TBL_BLKTYPE_RXP) { + if (ulp_regfile_read(parms->regfile, + tbl->tbl_operand, ®val)) { + BNXT_DRV_DBG(ERR, + "Failed to get tbl idx from regfile[%d]\n", + tbl->tbl_operand); + return -EINVAL; + } + tbl_info.rsubtype = rte_be_to_cpu_64(regval); + } + rc = tfc_idx_tbl_alloc(tfcp, fw_fid, tt, &tbl_info); if (unlikely(rc)) { BNXT_DRV_DBG(ERR, "Alloc table[%s][%s] failed rc=%d\n", @@ -971,6 +997,7 @@ ulp_mapper_tfc_index_tbl_process(struct bnxt_ulp_mapper_parms *parms, data_p = ulp_blob_data_get(&data, &tmplen); tbl_info.dir = tbl->direction; tbl_info.rsubtype = tbl->resource_type; + tbl_info.blktype = CFA_RESTYPE_TO_BLKT(tbl->resource_type); tbl_info.id = index; wordlen = ULP_BITS_2_BYTE(tmplen); rc = tfc_idx_tbl_set(tfcp, fw_fid, &tbl_info, @@ -1021,6 +1048,7 @@ ulp_mapper_tfc_index_tbl_process(struct bnxt_ulp_mapper_parms *parms, * write to the entry or link the flow */ + tbl_info.blktype = CFA_RESTYPE_TO_BLKT(tbl->resource_type); if (tfc_idx_tbl_free(tfcp, fw_fid, &tbl_info)) BNXT_DRV_DBG(ERR, "Failed to free index entry on failure\n"); return rc; @@ -1050,6 +1078,7 @@ ulp_mapper_tfc_index_entry_free(struct bnxt_ulp_context *ulp_ctx, tbl_info.dir = (enum cfa_dir)res->direction; tbl_info.rsubtype = res->resource_type; tbl_info.id = (uint16_t)res->resource_hndl; + tbl_info.blktype = CFA_RESTYPE_TO_BLKT(res->resource_type); /* TBD: check to see if the memory needs to be cleaned as well*/ rc = tfc_idx_tbl_free(tfcp, fw_fid, &tbl_info); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (4 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments Manish Kurup ` (47 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Jay Ding, Peter Spreadborough From: Jay Ding <jay.ding@broadcom.com> The size of the lkup table pool should include the static bucket. The miscalculation causes crash with big number of offloaded flows. Signed-off-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index 10149a3963..88863ed6ad 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -941,8 +941,7 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, break; rc = calc_pool_sz_exp(&parms->lkup_pool_sz_exp[dir], - parms->lkup_rec_cnt[dir] - - (1 << parms->static_bucket_cnt_exp[dir]), + parms->lkup_rec_cnt[dir], parms->max_pools); if (rc) break; @@ -1290,6 +1289,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, valid, parms->max_pools); } } + return rc; cleanup: for (dir = 0; dir < CFA_DIR_MAX; dir++) { @@ -1632,7 +1632,7 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, goto cleanup; } /* Create lkup pool CMM instance */ - qparms.max_records = mem_cfg.rec_cnt; + qparms.max_records = mem_cfg.rec_cnt - mem_cfg.lkup_rec_start_offset; qparms.max_contig_records = pi.lkup_max_contig_rec; rc = cfa_mm_query(&qparms); if (rc != 0) { @@ -1653,7 +1653,8 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, /* override the record size since a single pool because * pool_sz_exp is 0 in this case */ - tfc_cpm_set_pool_size(pi.lkup_cpm, mem_cfg.rec_cnt); + tfc_cpm_set_pool_size(pi.lkup_cpm, + mem_cfg.rec_cnt - mem_cfg.lkup_rec_start_offset); /* Store CMM instance in the CPM for pool_id 0 */ rc = tfc_cpm_set_cmm_inst(pi.lkup_cpm, pool_id, cmm_lkup); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (5 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 08/54] net/bnxt/tf_ulp: add support for global identifiers Manish Kurup ` (46 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Peter Spreadborough From: Farah Smith <farah.smith@broadcom.com> In order for the pool size to be calculated correctly flow counts must be updated to the next power of 2 so that the pool_size_exp shift can be used correctly without losing pool entries due to rounding errors. Also, max_pools must be a power of 2 for same reasons. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index 88863ed6ad..e7b82eee49 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -86,6 +86,8 @@ static int calc_lkup_rec_cnt(uint32_t flow_cnt, uint16_t key_sz_in_bytes, unsigned int flow_adj; /* flow_cnt adjusted for factor */ unsigned int key_rec_cnt; + flow_cnt = 1 << next_pow2(flow_cnt); + switch (factor) { case TFC_TBL_SCOPE_BUCKET_FACTOR_1: flow_adj = flow_cnt; @@ -924,6 +926,12 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, return -EINVAL; } + if (parms->max_pools != next_pow2(parms->max_pools)) { + PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", + __func__, parms->max_pools); + return -EINVAL; + } + for (dir = CFA_DIR_RX; dir < CFA_DIR_MAX; dir++) { rc = calc_lkup_rec_cnt(parms->flow_cnt[dir], parms->key_sz_in_bytes[dir], @@ -941,7 +949,8 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, break; rc = calc_pool_sz_exp(&parms->lkup_pool_sz_exp[dir], - parms->lkup_rec_cnt[dir], + parms->lkup_rec_cnt[dir] - + (1 << parms->static_bucket_cnt_exp[dir]), parms->max_pools); if (rc) break; @@ -1033,6 +1042,11 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, PMD_DRV_LOG_LINE(ERR, "tsid(%d) not allocated", tsid); return -EINVAL; } + if (parms->max_pools != next_pow2(parms->max_pools)) { + PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", __func__, + parms->max_pools); + return -EINVAL; + } /* Normalize page size to a power of 2 */ page_sz = 1 << next_pow2(parms->pbl_page_sz_in_bytes); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 08/54] net/bnxt/tf_ulp: add support for global identifiers 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (6 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 09/54] net/bnxt/tf_core: add support for multi instance Manish Kurup ` (45 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Michael Baucom From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Added support in the mapper to enable global identifier allocations. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Michael Baucom <michael.baucom@broadcom.com> --- drivers/net/bnxt/hsi_struct_def_dpdk.h | 164 ++++++++++++++------ drivers/net/bnxt/tf_core/v3/tfc_global_id.c | 42 ++++- drivers/net/bnxt/tf_core/v3/tfc_tcam.c | 55 +++++++ drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 2 + drivers/net/bnxt/tf_ulp/ulp_mapper.c | 89 +++++++++-- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 11 ++ drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 2 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 64 ++++++++ 8 files changed, 370 insertions(+), 59 deletions(-) diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index f089813a68..3a0c1fbdc2 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -61178,32 +61178,6 @@ struct __rte_packed_begin hwrm_tfc_idx_tbl_free_output { uint8_t valid; } __rte_packed_end; -/* TruFlow resources request for a global id. */ -/* tfc_global_id_hwrm_req (size:64b/8B) */ -struct __rte_packed_begin tfc_global_id_hwrm_req { - /* Type of the resource, defined in enum cfa_resource_type HCAPI RM. */ - uint16_t rtype; - /* Indicates the flow direction in type of cfa_dir. */ - uint16_t dir; - /* Subtype of the resource type. */ - uint16_t subtype; - /* Number of the type of resources. */ - uint16_t cnt; -} __rte_packed_end; - -/* The reserved resources for the global id. */ -/* tfc_global_id_hwrm_rsp (size:64b/8B) */ -struct __rte_packed_begin tfc_global_id_hwrm_rsp { - /* Type of the resource, defined in enum cfa_resource_type HCAPI RM. */ - uint16_t rtype; - /* Indicates the flow direction in type of cfa_dir. */ - uint16_t dir; - /* Subtype of the resource type. */ - uint16_t subtype; - /* The global id that the resources reserved for. */ - uint16_t id; -} __rte_packed_end; - /**************************** * hwrm_tfc_global_id_alloc * ****************************/ @@ -61248,30 +61222,36 @@ struct __rte_packed_begin hwrm_tfc_global_id_alloc_input { * field. */ uint16_t fid; - /* Firmware session id returned when HWRM_TF_SESSION_OPEN is sent. */ + /* + * Session associated with function requesting the global identifier + * resource. + */ uint16_t sid; - /* Global domain id. */ - uint16_t global_id; /* - * Defines the array size of the provided req_addr and - * resv_addr array buffers. Should be set to the number of - * request entries. + * Firmware CFA Resource Type, for definitions see + * cfa_v3/include/cfa_resources.h. */ - uint16_t req_cnt; + uint16_t rtype; /* - * This is the DMA address for the request input data array - * buffer. Array is of tfc_global_id_hwrm_req type. Size of the - * array buffer is provided by the 'req_cnt' field in this - * message. + * Firmware CFA Resource Subtype, for definitions see + * cfa_v3/include/cfa_resources.h */ - uint64_t req_addr; + uint8_t subtype; + /* Control flags. */ + uint8_t flags; + /* Indicates the flow direction. */ + #define HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR UINT32_C(0x1) + /* If this bit set to 0, then it indicates rx flow. */ + #define HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_RX UINT32_C(0x0) + /* If this bit is set to 1, then it indicates tx flow. */ + #define HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_TX UINT32_C(0x1) + #define HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_LAST \ + HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_TX /* - * This is the DMA address for the resc output data array - * buffer. Array is of tfc_global_id_hwrm_rsp type. Size of the array - * buffer is provided by the 'req_cnt' field in this - * message. + * Context id of the resource. This is opaque to FW and used to + * uniquely map the identifier. */ - uint64_t resc_addr; + uint8_t context_id[16]; } __rte_packed_end; /* hwrm_tfc_global_id_alloc_output (size:128b/16B) */ @@ -61285,12 +61265,10 @@ struct __rte_packed_begin hwrm_tfc_global_id_alloc_output { /* The length of the response data in number of bytes. */ uint16_t resp_len; /* - * Size of the returned hwrm_tfc_global_id_req data array. The value - * cannot exceed the req_cnt defined by the input msg. The data - * array is returned using the resv_addr specified DMA - * address also provided by the input msg. + * returns the allocated global id, it could be identifier + * based on the request. */ - uint16_t rsp_cnt; + uint16_t global_id; /* Non-zero if this is the first allocation for the global ID. */ uint8_t first; /* unused. */ @@ -61306,6 +61284,96 @@ struct __rte_packed_begin hwrm_tfc_global_id_alloc_output { uint8_t valid; } __rte_packed_end; +/*************************** + * hwrm_tfc_global_id_free * + ***************************/ + + +/* hwrm_tfc_global_id_free_input (size:256b/32B) */ +struct __rte_packed_begin hwrm_tfc_global_id_free_input { + /* The HWRM command request type. */ + uint16_t req_type; + /* + * The completion ring to send the completion event on. This should + * be the NQ ID returned from the `nq_alloc` HWRM command. + */ + uint16_t cmpl_ring; + /* + * The sequence ID is used by the driver for tracking multiple + * commands. This ID is treated as opaque data by the firmware and + * the value is returned in the `hwrm_resp_hdr` upon completion. + */ + uint16_t seq_id; + /* + * The target ID of the command: + * * 0x0-0xFFF8 - The function ID + * * 0xFFF8-0xFFFC, 0xFFFE - Reserved for internal processors + * * 0xFFFD - Reserved for user-space HWRM interface + * * 0xFFFF - HWRM + */ + uint16_t target_id; + /* + * A physical address pointer pointing to a host buffer that the + * command's response data will be written. This can be either a host + * physical address (HPA) or a guest physical address (GPA) and must + * point to a physically contiguous block of memory. + */ + uint64_t resp_addr; + /* + * Function ID. + * If running on a trusted VF or PF, the fid field can be used to + * specify that the function is a non-trusted VF of the parent PF. + * If this command is used for the target_id itself, this field is + * set to 0xffff. A non-trusted VF cannot specify a valid FID in this + * field. + */ + uint16_t fid; + /* + * Session associated with function requesting the global identifier + * resource. + */ + uint16_t sid; + /* + * Firmware CFA Resource Type, for definitions see + * cfa_v3/include/cfa_resources.h. + */ + uint16_t rtype; + /* + * Firmware CFA Resource Subtype, for definitions see + * cfa_v3/include/cfa_resources.h + */ + uint8_t subtype; + /* Indicates the flow direction. */ + uint8_t dir; + /* Global id of the resource. */ + uint16_t global_id; + /* unused. */ + uint8_t unused0[6]; +} __rte_packed_end; + +/* hwrm_tfc_global_id_free_output (size:128b/16B) */ +struct __rte_packed_begin hwrm_tfc_global_id_free_output { + /* The specific error status for the command. */ + uint16_t error_code; + /* The HWRM command request type. */ + uint16_t req_type; + /* The sequence ID from the original command. */ + uint16_t seq_id; + /* The length of the response data in number of bytes. */ + uint16_t resp_len; + /* unused. */ + uint8_t unused0[7]; + /* + * This field is used in Output records to indicate that the output + * is completely written to RAM. This field should be read as '1' + * to indicate that the output has been completely written. + * When writing a command completion or response to an internal + * processor, the order of writes has to be such that this field + * is written last. + */ + uint8_t valid; +} __rte_packed_end; + /********************* * hwrm_tfc_tcam_set * *********************/ diff --git a/drivers/net/bnxt/tf_core/v3/tfc_global_id.c b/drivers/net/bnxt/tf_core/v3/tfc_global_id.c index 4c90afaee1..ec1b2f728f 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_global_id.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_global_id.c @@ -51,7 +51,45 @@ int tfc_global_id_alloc(struct tfc *tfcp, uint16_t fid, return rc; } - rc = tfc_msg_global_id_alloc(tfcp, fid, sid, domain_id, req_cnt, - req, rsp, rsp_cnt, first); + rc = tfc_msg_global_id_alloc(tfcp, fid, sid, req, rsp, first); + return rc; +} + +int tfc_global_id_free(struct tfc *tfcp, uint16_t fid, + const struct tfc_global_id_req *req) +{ + int rc = 0; + struct bnxt *bp; + uint16_t sid; + + if (tfcp == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tfcp pointer", __func__); + return -EINVAL; + } + + if (tfcp->bp == NULL || tfcp->tfo == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: tfcp not initialized", __func__); + return -EINVAL; + } + + if (req == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: global_id req is NULL", __func__); + return -EINVAL; + } + + bp = tfcp->bp; + if (!BNXT_PF(bp) && !BNXT_VF_IS_TRUSTED(bp)) { + PMD_DRV_LOG_LINE(ERR, "%s: bp not PF or trusted VF", __func__); + return -EINVAL; + } + + rc = tfo_sid_get(tfcp->tfo, &sid); + if (rc) { + PMD_DRV_LOG_LINE(ERR, "%s: Failed to retrieve SID, rc:%s", + __func__, strerror(-rc)); + return rc; + } + + rc = tfc_msg_global_id_free(tfcp, fid, sid, req); return rc; } diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tcam.c b/drivers/net/bnxt/tf_core/v3/tfc_tcam.c index 2497929671..054431be12 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tcam.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tcam.c @@ -297,3 +297,58 @@ int tfc_tcam_free(struct tfc *tfcp, uint16_t fid, const struct tfc_tcam_info *tc strerror(-rc)); return rc; } + +int tfc_tcam_priority_update(struct tfc *tfcp, uint16_t fid, + enum cfa_track_type tt, + const struct tfc_tcam_info *tcam_info, + uint16_t priority) +{ + int rc = 0; + struct bnxt *bp; + uint16_t sid; + + if (tfcp == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tfcp pointer", __func__); + return -EINVAL; + } + + if (tfcp->bp == NULL || tfcp->tfo == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: tfcp not initialized", __func__); + return -EINVAL; + } + bp = tfcp->bp; + + if (tcam_info == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: tcam_info is NULL", __func__); + return -EINVAL; + } + + if (tcam_info->rsubtype >= CFA_RSUBTYPE_TCAM_MAX) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tcam subtype: %d", __func__, + tcam_info->rsubtype); + return -EINVAL; + } + + if (!BNXT_PF(bp) && !BNXT_VF_IS_TRUSTED(bp)) { + PMD_DRV_LOG_LINE(ERR, "%s: bp not PF or trusted VF", __func__); + return -EINVAL; + } + + rc = tfo_sid_get(tfcp->tfo, &sid); + if (rc) { + PMD_DRV_LOG_LINE(ERR, "%s: Failed to retrieve SID, rc:%s", + __func__, strerror(-rc)); + return rc; + } + + rc = tfc_msg_tcam_prioriry_update(tfcp, fid, sid, tcam_info->dir, tt, + tcam_info->rsubtype, tcam_info->id, + priority); + if (rc) + PMD_DRV_LOG_LINE(ERR, "%s: update failed: %s:%s %d %s", __func__, + tfc_dir_2_str(tcam_info->dir), + tfc_tcam_2_str(tcam_info->rsubtype), tcam_info->id, + strerror(-rc)); + + return rc; +} diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index e6f316539c..c8b6f544ca 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1088,6 +1088,8 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Port Mac Address Feature is enabled\n"); if (bit & BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW) BNXT_DRV_DBG(ERR, "Multi Tunnel Flow Feature is enabled\n"); + if (bit & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE) + BNXT_DRV_DBG(ERR, "Multi Instance Feature is enabled\n"); *out_bits = bit; return 0; diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index 4829ae41d1..d58899bdb1 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -729,11 +729,13 @@ ulp_mapper_tbl_ident_scan_ext(struct bnxt_ulp_mapper_parms *parms, static int32_t ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_tbl_info *tbl, + struct ulp_blob *key __rte_unused, struct bnxt_ulp_mapper_ident_info *ident, uint16_t *val) { const struct ulp_mapper_core_ops *op = parms->mapper_data->mapper_oper; struct ulp_flow_db_res_params fid_parms = { 0 }; + bool global = false; uint64_t id = 0; int32_t idx; int rc; @@ -742,14 +744,25 @@ ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, fid_parms.resource_func = ident->resource_func; fid_parms.resource_type = ident->ident_type; fid_parms.critical_resource = tbl->critical_resource; - ulp_flow_db_shared_session_set(&fid_parms, tbl->session_type); - rc = op->ulp_mapper_core_ident_alloc_process(parms->ulp_ctx, - tbl->session_type, - ident->ident_type, - tbl->direction, - tbl->track_type, - &id); + if (tbl->resource_func == BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER) + global = true; + + if (!global) { + ulp_flow_db_shared_session_set(&fid_parms, tbl->session_type); + rc = op->ulp_mapper_core_ident_alloc_process(parms->ulp_ctx, + tbl->session_type, + ident->ident_type, + tbl->direction, + tbl->track_type, + &id); + } else { + rc = op->ulp_mapper_core_global_ident_alloc(parms->ulp_ctx, + ident->ident_type, + tbl->direction, + &id); + } + if (unlikely(rc)) { BNXT_DRV_DBG(ERR, "identifier process failed\n"); return rc; @@ -781,7 +794,11 @@ ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, error: /* Need to free the identifier */ - op->ulp_mapper_core_ident_free(parms->ulp_ctx, &fid_parms); + if (!global) + op->ulp_mapper_core_ident_free(parms->ulp_ctx, &fid_parms); + else + op->ulp_mapper_core_global_ident_free(parms->ulp_ctx, + &fid_parms); return rc; } @@ -2413,7 +2430,7 @@ ulp_mapper_tcam_tbl_ident_alloc(struct bnxt_ulp_mapper_parms *parms, idents = ulp_mapper_ident_fields_get(parms, tbl, &num_idents); for (i = 0; i < num_idents; i++) { - if (unlikely(ulp_mapper_ident_process(parms, tbl, + if (unlikely(ulp_mapper_ident_process(parms, tbl, NULL, &idents[i], NULL))) return -EINVAL; } @@ -3006,6 +3023,55 @@ ulp_mapper_stats_cache_tbl_res_free(struct bnxt_ulp_context *ulp, return 0; } +static int32_t +ulp_mapper_global_identifier_process(struct bnxt_ulp_mapper_parms *parms, + struct bnxt_ulp_mapper_tbl_info *tbl) +{ + int32_t rc = 0; + struct bnxt_ulp_mapper_ident_info *idents; + struct bnxt_ulp_mapper_key_info *kflds; + struct ulp_blob key; + uint32_t num_idents; + uint32_t num_kflds; + uint32_t i; + + /* check the table opcode */ + if (tbl->tbl_opcode != BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC) { + BNXT_DRV_DBG(ERR, "Invalid global ident table opcode %d\n", + tbl->tbl_opcode); + return -EINVAL; + } + + /* Create the key blob */ + if (unlikely(ulp_blob_init(&key, tbl->blob_key_bit_size, + BNXT_ULP_BYTE_ORDER_BE))) { + BNXT_DRV_DBG(ERR, "blob init failed.\n"); + return -EINVAL; + } + + kflds = ulp_mapper_key_fields_get(parms, tbl, &num_kflds); + for (i = 0; i < num_kflds; i++) { + rc = ulp_mapper_field_opc_process(parms, tbl->direction, + &kflds[i].field_info_spec, + &key, 1, "Global Id Context"); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Key field set failed %s\n", + kflds[i].field_info_spec.description); + return rc; + } + } + + /* Get the identifiers to process it */ + idents = ulp_mapper_ident_fields_get(parms, tbl, &num_idents); + for (i = 0; i < num_idents; i++) { + if (unlikely(ulp_mapper_ident_process(parms, tbl, &key, + &idents[i], NULL))) + return -EINVAL; + } + + return rc; +} + /* Free the vnic resource */ static int32_t ulp_mapper_vnic_tbl_res_free(struct bnxt_ulp_context *ulp __rte_unused, @@ -4211,6 +4277,9 @@ ulp_mapper_tbls_process(struct bnxt_ulp_mapper_parms *parms, void *error) case BNXT_ULP_RESOURCE_FUNC_STATS_CACHE: rc = ulp_mapper_stats_cache_tbl_process(parms, tbl); break; + case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER: + rc = ulp_mapper_global_identifier_process(parms, tbl); + break; default: BNXT_DRV_DBG(ERR, "Unexpected mapper resource %d\n", tbl->resource_func); @@ -4353,6 +4422,8 @@ ulp_mapper_resource_free(struct bnxt_ulp_context *ulp, rc = ulp_mapper_stats_cache_tbl_res_free(ulp, fid); break; + case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER: + rc = mapper_op->ulp_mapper_core_global_ident_free(ulp, res); default: break; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h index f9a407cd84..2bcfc6ef1b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h @@ -147,6 +147,17 @@ struct ulp_mapper_core_ops { int32_t (*ulp_mapper_core_ident_free)(struct bnxt_ulp_context *ulp_ctx, struct ulp_flow_db_res_params *res); + + int32_t + (*ulp_mapper_core_global_ident_alloc)(struct bnxt_ulp_context *ulp_ctx, + uint16_t ident_type, + uint8_t direction, + uint64_t *identifier_id); + + int32_t + (*ulp_mapper_core_global_ident_free)(struct bnxt_ulp_context *ulp_ctx, + struct ulp_flow_db_res_params *r); + uint32_t (*ulp_mapper_core_dyn_tbl_type_get)(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_tbl_info *t, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c index e755591716..e548a6b91f 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c @@ -1377,6 +1377,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tf_core_ops = { .ulp_mapper_core_if_tbl_process = ulp_mapper_tf_if_tbl_process, .ulp_mapper_core_ident_alloc_process = ulp_mapper_tf_ident_alloc, .ulp_mapper_core_ident_free = ulp_mapper_tf_ident_free, + .ulp_mapper_core_global_ident_alloc = NULL, + .ulp_mapper_core_global_ident_free = NULL, .ulp_mapper_core_dyn_tbl_type_get = ulp_mapper_tf_dyn_tbl_type_get, .ulp_mapper_core_index_tbl_alloc_process = ulp_mapper_tf_index_tbl_alloc_process, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index db7aa22c57..3db98fa160 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -1636,6 +1636,68 @@ ulp_mapper_tfc_ident_free(struct bnxt_ulp_context *ulp_ctx, return rc; } +static int32_t +ulp_mapper_tfc_global_ident_alloc(struct bnxt_ulp_context *ulp_ctx, + uint16_t ident_type, + uint8_t direction, + uint64_t *identifier_id) +{ + struct tfc *tfcp = NULL; + struct tfc_global_id_req glb_req = { 0 }; + struct tfc_global_id glb_rsp = { 0 }; + uint16_t fw_fid = 0; + uint16_t rsp_cnt; + int32_t rc = 0; + bool first = false; + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + return -EINVAL; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + BNXT_DRV_DBG(ERR, "Failed to get tfcp pointer\n"); + return -EINVAL; + } + + glb_req.rtype = CFA_RTYPE_IDENT; + glb_req.dir = direction; + glb_req.cnt = 1; + glb_req.rsubtype = ident_type; + + rc = tfc_global_id_alloc(tfcp, fw_fid, 1, 1, &glb_req, &glb_rsp, &rsp_cnt, &first); + if (unlikely(rc != 0)) { + BNXT_DRV_DBG(ERR, "alloc failed %d\n", rc); + return rc; + } + *identifier_id = glb_rsp.id; + + return rc; +} + +static int32_t +ulp_mapper_tfc_global_ident_free(struct bnxt_ulp_context *ulp_ctx, + struct ulp_flow_db_res_params *res) +{ + struct tfc *tfcp = NULL; + int32_t rc = 0; + uint16_t fw_fid = 0; + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + return -EINVAL; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + BNXT_DRV_DBG(ERR, "Failed to get tfcp pointer\n"); + return -EINVAL; + } + + return rc; +} + static inline int32_t ulp_mapper_tfc_tcam_entry_free(struct bnxt_ulp_context *ulp, struct ulp_flow_db_res_params *res) @@ -1849,6 +1911,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops = { .ulp_mapper_core_if_tbl_process = ulp_mapper_tfc_if_tbl_process, .ulp_mapper_core_ident_alloc_process = ulp_mapper_tfc_ident_alloc, .ulp_mapper_core_ident_free = ulp_mapper_tfc_ident_free, + .ulp_mapper_core_global_ident_alloc = ulp_mapper_tfc_global_ident_alloc, + .ulp_mapper_core_global_ident_free = ulp_mapper_tfc_global_ident_free, .ulp_mapper_core_dyn_tbl_type_get = ulp_mapper_tfc_dyn_tbl_type_get, .ulp_mapper_core_index_tbl_alloc_process = ulp_mapper_tfc_index_tbl_alloc_process, -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 09/54] net/bnxt/tf_core: add support for multi instance 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (7 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 08/54] net/bnxt/tf_ulp: add support for global identifiers Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 10/54] net/bnxt/tf_core: fix table scope free Manish Kurup ` (44 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Farah Smith From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Added support for multi instances of applications to exist at same time. Added shared scope fixes to enable shared table scope between applications. Integrated the support for global ids to allow dynamic allocation and freeing of the shared identifiers. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc.h | 45 +++++++--- drivers/net/bnxt/tf_core/v3/tfc_act.c | 3 +- drivers/net/bnxt/tf_core/v3/tfc_em.c | 2 + drivers/net/bnxt/tf_core/v3/tfc_em.h | 3 + drivers/net/bnxt/tf_core/v3/tfc_global_id.c | 5 +- drivers/net/bnxt/tf_core/v3/tfc_msg.c | 95 +++++++++------------ drivers/net/bnxt/tf_core/v3/tfc_msg.h | 7 +- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 13 ++- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 16 ++-- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 9 +- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 2 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 20 ++++- 12 files changed, 129 insertions(+), 91 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc.h b/drivers/net/bnxt/tf_core/v3/tfc.h index 1c7eb51c8c..0ede8f04a8 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc.h +++ b/drivers/net/bnxt/tf_core/v3/tfc.h @@ -240,7 +240,9 @@ struct tfc_global_id_req { enum cfa_resource_type rtype; /**< Resource type */ uint8_t rsubtype; /**< Resource subtype */ enum cfa_dir dir; /**< Direction */ - uint16_t cnt; /**< Number of resources to allocate of this type */ + uint8_t *context_id; + uint16_t context_len; + uint16_t resource_id; }; /** Global id resource definition @@ -268,18 +270,9 @@ struct tfc_global_id { * @param[in] fid * FID - Function ID to be used * - * @param[in] domain_id - * The domain id to associate. - * - * @param[in] req_cnt - * The number of total resource requests - * * @param[in] glb_id_req * The list of global id requests * - * @param[in,out] rsp_cnt - * The number of items in the response buffer - * * @param[out] glb_id_rsp * The number of items in the response buffer * @@ -289,10 +282,36 @@ struct tfc_global_id { * @returns * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfc_global_id_alloc(struct tfc *tfcp, uint16_t fid, enum tfc_domain_id domain_id, - uint16_t req_cnt, const struct tfc_global_id_req *glb_id_req, - struct tfc_global_id *glb_id_rsp, uint16_t *rsp_cnt, +int tfc_global_id_alloc(struct tfc *tfcp, uint16_t fid, + const struct tfc_global_id_req *glb_id_req, + struct tfc_global_id *glb_id_rsp, bool *first); + +/** + * Free global Identifier TFC resources + * + * Some resources are not owned by a single session. They are "global" in that + * they will be in use as long as any associated session exists. Once all + * sessions/functions have been removed, all associated global ids are freed. + * There are currently up to 4 global id domain sets. + * + * TODO: REDUCE PARAMETERS WHEN IMPLEMENTING API + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] glb_id_req + * The list of global id requests + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int tfc_global_id_free(struct tfc *tfcp, uint16_t fid, + const struct tfc_global_id_req *glb_id_req); + /** * @page Identifiers * diff --git a/drivers/net/bnxt/tf_core/v3/tfc_act.c b/drivers/net/bnxt/tf_core/v3/tfc_act.c index 0e98bd30d7..7b1f82b842 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_act.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_act.c @@ -787,7 +787,8 @@ int tfc_act_free(struct tfc *tfcp, return -EINVAL; } - fparms.record_offset = record_offset; + fparms.record_offset = REMOVE_POOL_FROM_OFFSET(pi.act_pool_sz_exp, + record_offset); fparms.num_contig_records = 1 << next_pow2(record_size); rc = cfa_mm_free(cmm, &fparms); if (unlikely(rc)) { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c index d460ff2ee0..feb6e899f6 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c @@ -662,6 +662,8 @@ int tfc_em_delete(struct tfc *tfcp, struct tfc_em_delete_parms *parms) #endif ); + record_offset = REMOVE_POOL_FROM_OFFSET(pi.lkup_pool_sz_exp, + record_offset); #if TFC_EM_DYNAMIC_BUCKET_EN /* If the dynamic bucket is unused then free it */ if (db_unused) { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.h b/drivers/net/bnxt/tf_core/v3/tfc_em.h index 837678cea1..9ad3ef9fd2 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.h @@ -124,6 +124,9 @@ struct bucket_info_t { #define CREATE_OFFSET(result, pool_sz_exp, pool_id, record_offset) \ (*(result) = (((pool_id) << (pool_sz_exp)) | (record_offset))) +#define REMOVE_POOL_FROM_OFFSET(pool_sz_exp, record_offset) \ + (((1 << (pool_sz_exp)) - 1) & (record_offset)) + int tfc_em_delete_raw(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir, diff --git a/drivers/net/bnxt/tf_core/v3/tfc_global_id.c b/drivers/net/bnxt/tf_core/v3/tfc_global_id.c index ec1b2f728f..107a29cfc5 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_global_id.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_global_id.c @@ -9,9 +9,8 @@ #include "tfc_msg.h" int tfc_global_id_alloc(struct tfc *tfcp, uint16_t fid, - enum tfc_domain_id domain_id, uint16_t req_cnt, const struct tfc_global_id_req *req, - struct tfc_global_id *rsp, uint16_t *rsp_cnt, + struct tfc_global_id *rsp, bool *first) { int rc = 0; @@ -86,7 +85,7 @@ int tfc_global_id_free(struct tfc *tfcp, uint16_t fid, rc = tfo_sid_get(tfcp->tfo, &sid); if (rc) { PMD_DRV_LOG_LINE(ERR, "%s: Failed to retrieve SID, rc:%s", - __func__, strerror(-rc)); + __func__, strerror(-rc)); return rc; } diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_msg.c index 2ad0b386fa..fb007a66f6 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.c @@ -735,56 +735,35 @@ tfc_msg_idx_tbl_free(struct tfc *tfcp, uint16_t fid, } int tfc_msg_global_id_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, - enum tfc_domain_id domain_id, uint16_t req_cnt, const struct tfc_global_id_req *glb_id_req, - struct tfc_global_id *rsp, uint16_t *rsp_cnt, + struct tfc_global_id *rsp, bool *first) { int rc = 0; - int i = 0; struct bnxt *bp = tfcp->bp; struct hwrm_tfc_global_id_alloc_input hwrm_req; struct hwrm_tfc_global_id_alloc_output hwrm_resp; - struct tfc_global_id_hwrm_req *req_data; - struct tfc_global_id_hwrm_rsp *rsp_data; - struct tfc_msg_dma_buf req_buf = { 0 }; - struct tfc_msg_dma_buf rsp_buf = { 0 }; - int dma_size; - int resp_cnt = 0; - - /* Prepare DMA buffers */ - dma_size = req_cnt * sizeof(struct tfc_global_id_req); - rc = tfc_msg_alloc_dma_buf(&req_buf, dma_size); - if (rc) - return rc; - - for (i = 0; i < req_cnt; i++) - resp_cnt += glb_id_req->cnt; - dma_size = resp_cnt * sizeof(struct tfc_global_id); - *rsp_cnt = resp_cnt; - rc = tfc_msg_alloc_dma_buf(&rsp_buf, dma_size); - if (rc) { - tfc_msg_free_dma_buf(&req_buf); - return rc; - } /* Populate the request */ rc = tfc_msg_set_fid(bp, fid, &hwrm_req.fid); if (rc) - goto cleanup; + return rc; hwrm_req.sid = rte_cpu_to_le_16(sid); - hwrm_req.global_id = rte_cpu_to_le_16(domain_id); - hwrm_req.req_cnt = req_cnt; - hwrm_req.req_addr = rte_cpu_to_le_64(req_buf.pa_addr); - hwrm_req.resc_addr = rte_cpu_to_le_64(rsp_buf.pa_addr); - req_data = (struct tfc_global_id_hwrm_req *)req_buf.va_addr; - for (i = 0; i < req_cnt; i++) { - req_data[i].rtype = rte_cpu_to_le_16(glb_id_req[i].rtype); - req_data[i].dir = rte_cpu_to_le_16(glb_id_req[i].dir); - req_data[i].subtype = rte_cpu_to_le_16(glb_id_req[i].rsubtype); - req_data[i].cnt = rte_cpu_to_le_16(glb_id_req[i].cnt); - } + hwrm_req.rtype = rte_cpu_to_le_16(glb_id_req->rtype); + hwrm_req.subtype = glb_id_req->rsubtype; + + if (glb_id_req->dir == CFA_DIR_RX) + hwrm_req.flags = HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_RX; + else + hwrm_req.flags = HWRM_TFC_GLOBAL_ID_ALLOC_INPUT_FLAGS_DIR_TX; + + /* check the destination length before copy */ + if (glb_id_req->context_len > sizeof(hwrm_req.context_id)) + return -EINVAL; + + memcpy(hwrm_req.context_id, glb_id_req->context_id, + glb_id_req->context_len); rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_GLOBAL_ID_ALLOC, &hwrm_req, sizeof(hwrm_req), &hwrm_resp, @@ -796,29 +775,33 @@ int tfc_msg_global_id_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, else *first = false; } + rsp->id = hwrm_resp.global_id; } + return rc; +} +int tfc_msg_global_id_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, + const struct tfc_global_id_req *glb_id_req) +{ + int rc = 0; + struct bnxt *bp = tfcp->bp; - /* Process the response - * Should always get expected number of entries - */ - if (rte_le_to_cpu_32(hwrm_resp.rsp_cnt) != *rsp_cnt) { - PMD_DRV_LOG_LINE(ERR, "Alloc message size error, rc:%s", - strerror(-EINVAL)); - rc = -EINVAL; - goto cleanup; - } + struct hwrm_tfc_global_id_free_input hwrm_req; + struct hwrm_tfc_global_id_free_output hwrm_resp; - rsp_data = (struct tfc_global_id_hwrm_rsp *)rsp_buf.va_addr; - for (i = 0; i < *rsp_cnt; i++) { - rsp[i].rtype = rte_le_to_cpu_32(rsp_data[i].rtype); - rsp[i].dir = rte_le_to_cpu_32(rsp_data[i].dir); - rsp[i].rsubtype = rte_le_to_cpu_32(rsp_data[i].subtype); - rsp[i].id = rte_le_to_cpu_32(rsp_data[i].id); - } + /* Populate the request */ + rc = tfc_msg_set_fid(bp, fid, &hwrm_req.fid); + if (rc) + return rc; -cleanup: - tfc_msg_free_dma_buf(&req_buf); - tfc_msg_free_dma_buf(&rsp_buf); + hwrm_req.sid = rte_cpu_to_le_16(sid); + hwrm_req.rtype = rte_cpu_to_le_16(glb_id_req->rtype); + hwrm_req.subtype = glb_id_req->rsubtype; + hwrm_req.dir = glb_id_req->dir; + hwrm_req.global_id = rte_cpu_to_le_16(glb_id_req->resource_id); + + rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_GLOBAL_ID_FREE, + &hwrm_req, sizeof(hwrm_req), &hwrm_resp, + sizeof(hwrm_resp)); return rc; } diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_msg.h index 635c656e8f..a03452f00a 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.h @@ -76,10 +76,13 @@ tfc_msg_idx_tbl_free(struct tfc *tfcp, uint16_t fid, uint16_t id, enum cfa_resource_blktype_idx_tbl blktype); int tfc_msg_global_id_alloc(struct tfc *tfcp, uint16_t fid, uint16_t sid, - enum tfc_domain_id domain_id, uint16_t req_cnt, const struct tfc_global_id_req *glb_id_req, - struct tfc_global_id *rsp, uint16_t *rsp_cnt, + struct tfc_global_id *rsp, bool *first); + +int tfc_msg_global_id_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, + const struct tfc_global_id_req *glb_id_req); + int tfc_msg_session_id_alloc(struct tfc *tfcp, uint16_t fid, uint16_t *tsid); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index e7b82eee49..b01bf8d42a 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -926,7 +926,8 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, return -EINVAL; } - if (parms->max_pools != next_pow2(parms->max_pools)) { + if (parms->max_pools != 1 && parms->max_pools != + (uint32_t)(1 << next_pow2(parms->max_pools))) { PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", __func__, parms->max_pools); return -EINVAL; @@ -1042,9 +1043,11 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, PMD_DRV_LOG_LINE(ERR, "tsid(%d) not allocated", tsid); return -EINVAL; } - if (parms->max_pools != next_pow2(parms->max_pools)) { - PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", __func__, - parms->max_pools); + + if (parms->max_pools != 1 && parms->max_pools != + (1 << next_pow2(parms->max_pools))) { + PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", + __func__, parms->max_pools); return -EINVAL; } @@ -1388,6 +1391,8 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) /* continue cleanup regardless */ } PMD_DRV_LOG_LINE(DEBUG, "tsid: %d, status %d", resp.tsid, resp.status); + if (shared) + return rc; } if (shared && is_pf) { diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 508c194d04..55adceb59f 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -346,6 +346,7 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) struct tfc_tbl_scope_cpm_alloc_parms cparms; uint16_t fid, max_pools; bool first = true, shared = false; + uint64_t feat_bits; uint8_t tsid = 0; struct tfc *tfcp; int32_t rc = 0; @@ -368,15 +369,14 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) shared = bnxt_ulp_cntxt_shared_tbl_scope_enabled(bp->ulp_ctx); -#if (TFC_SHARED_TBL_SCOPE_ENABLE == 1) - /* Temporary code for testing shared table scopes until ULP - * usage defined. - */ - if (!BNXT_PF(bp)) { - shared = true; - max_pools = 8; + feat_bits = bnxt_ulp_feature_bits_get(bp->ulp_ctx); + if ((feat_bits & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE)) { + if (!BNXT_PF(bp)) { + shared = true; + max_pools = 8; + } } -#endif + /* Calculate the sizes for setting up memory */ qparms.shared = shared; qparms.max_pools = max_pools; diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index d58899bdb1..d545bd2fda 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -729,7 +729,7 @@ ulp_mapper_tbl_ident_scan_ext(struct bnxt_ulp_mapper_parms *parms, static int32_t ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_tbl_info *tbl, - struct ulp_blob *key __rte_unused, + struct ulp_blob *key, struct bnxt_ulp_mapper_ident_info *ident, uint16_t *val) { @@ -737,6 +737,8 @@ ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, struct ulp_flow_db_res_params fid_parms = { 0 }; bool global = false; uint64_t id = 0; + uint8_t *context; + uint16_t tmplen = 0; int32_t idx; int rc; @@ -757,10 +759,15 @@ ulp_mapper_ident_process(struct bnxt_ulp_mapper_parms *parms, tbl->track_type, &id); } else { + context = ulp_blob_data_get(key, &tmplen); + tmplen = ULP_BITS_2_BYTE(tmplen); rc = op->ulp_mapper_core_global_ident_alloc(parms->ulp_ctx, ident->ident_type, tbl->direction, + context, + tmplen, &id); + fid_parms.resource_func = tbl->resource_func; } if (unlikely(rc)) { diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h index 2bcfc6ef1b..79052664dd 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h @@ -152,6 +152,8 @@ struct ulp_mapper_core_ops { (*ulp_mapper_core_global_ident_alloc)(struct bnxt_ulp_context *ulp_ctx, uint16_t ident_type, uint8_t direction, + uint8_t *context_id, + uint16_t context_len, uint64_t *identifier_id); int32_t diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index 3db98fa160..d4c03a2d74 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -1640,13 +1640,14 @@ static int32_t ulp_mapper_tfc_global_ident_alloc(struct bnxt_ulp_context *ulp_ctx, uint16_t ident_type, uint8_t direction, + uint8_t *context_id, + uint16_t context_len, uint64_t *identifier_id) { struct tfc *tfcp = NULL; struct tfc_global_id_req glb_req = { 0 }; struct tfc_global_id glb_rsp = { 0 }; uint16_t fw_fid = 0; - uint16_t rsp_cnt; int32_t rc = 0; bool first = false; @@ -1663,10 +1664,11 @@ ulp_mapper_tfc_global_ident_alloc(struct bnxt_ulp_context *ulp_ctx, glb_req.rtype = CFA_RTYPE_IDENT; glb_req.dir = direction; - glb_req.cnt = 1; glb_req.rsubtype = ident_type; + glb_req.context_len = context_len; + glb_req.context_id = context_id; - rc = tfc_global_id_alloc(tfcp, fw_fid, 1, 1, &glb_req, &glb_rsp, &rsp_cnt, &first); + rc = tfc_global_id_alloc(tfcp, fw_fid, &glb_req, &glb_rsp, &first); if (unlikely(rc != 0)) { BNXT_DRV_DBG(ERR, "alloc failed %d\n", rc); return rc; @@ -1680,6 +1682,7 @@ static int32_t ulp_mapper_tfc_global_ident_free(struct bnxt_ulp_context *ulp_ctx, struct ulp_flow_db_res_params *res) { + struct tfc_global_id_req glb_req = { 0 }; struct tfc *tfcp = NULL; int32_t rc = 0; uint16_t fw_fid = 0; @@ -1695,6 +1698,17 @@ ulp_mapper_tfc_global_ident_free(struct bnxt_ulp_context *ulp_ctx, return -EINVAL; } + glb_req.rtype = CFA_RTYPE_IDENT; + glb_req.dir = (enum cfa_dir)res->direction; + glb_req.rsubtype = res->resource_type; + glb_req.resource_id = (uint16_t)res->resource_hndl; + + rc = tfc_global_id_free(tfcp, fw_fid, &glb_req); + if (unlikely(rc != 0)) { + BNXT_DRV_DBG(ERR, "free failed %d\n", rc); + return rc; + } + return rc; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 10/54] net/bnxt/tf_core: fix table scope free 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (8 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 09/54] net/bnxt/tf_core: add support for multi instance Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup Manish Kurup ` (43 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Farah Smith From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Removed the additional call to free the table scope memory. Also fixed the scope size check which should be power of 2. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 13 ++++--------- drivers/net/bnxt/tf_core/v3/tfc_util.c | 6 ++++++ drivers/net/bnxt/tf_core/v3/tfc_util.h | 3 +++ 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index b01bf8d42a..60b8289805 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -926,8 +926,7 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, return -EINVAL; } - if (parms->max_pools != 1 && parms->max_pools != - (uint32_t)(1 << next_pow2(parms->max_pools))) { + if (is_pow2(parms->max_pools)) { PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", __func__, parms->max_pools); return -EINVAL; @@ -1044,8 +1043,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, return -EINVAL; } - if (parms->max_pools != 1 && parms->max_pools != - (1 << next_pow2(parms->max_pools))) { + if (is_pow2(parms->max_pools)) { PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", __func__, parms->max_pools); return -EINVAL; @@ -1541,11 +1539,8 @@ int tfc_tbl_scope_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, /* * Check if any table has memory configured and, if so, free it. */ - rc = tfo_ts_get_mem_cfg(tfcp->tfo, tsid, CFA_DIR_RX, CFA_REGION_TYPE_LKUP, - &local, &mem_cfg); - /* If mem already freed, then local is set to zero (false). */ - if (rc == 0 && local) - (void)tfc_tbl_scope_mem_free(tfcp, fid, tsid); + (void)tfo_ts_get_mem_cfg(tfcp->tfo, tsid, CFA_DIR_RX, + CFA_REGION_TYPE_LKUP, &local, &mem_cfg); rc = tfo_ts_set(tfcp->tfo, tsid, false, CFA_APP_TYPE_INVALID, false, 0); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_util.c b/drivers/net/bnxt/tf_core/v3/tfc_util.c index d3229bd104..91ad3ad657 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_util.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_util.c @@ -220,6 +220,12 @@ uint32_t prev_pow2(uint32_t x) return x == 1 ? 0 : (BITS_IN_VAR(x) - 1 - __builtin_clz(x - 1)); } +/* returns 0 if power of 2 */ +int32_t is_pow2(uint32_t x) +{ + return (x != 0 && ((x - 1) & x)) ? -1 : 0; +} + uint32_t roundup32(uint32_t x, uint32_t y) { return ((x + y - 1) / y) * y; diff --git a/drivers/net/bnxt/tf_core/v3/tfc_util.h b/drivers/net/bnxt/tf_core/v3/tfc_util.h index 7d33947d1d..5114517792 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_util.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_util.h @@ -110,6 +110,9 @@ uint32_t tfc_getbits(uint32_t *data, int offset, int blen); */ uint32_t next_pow2(uint32_t x); +/* returns 0 if power of 2 */ +int32_t is_pow2(uint32_t x); + /* * Calculate the largest power of 2 that is less than x. The return value is * the exponent of 2. -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (9 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 10/54] net/bnxt/tf_core: fix table scope free Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 12/54] net/bnxt/tf_ulp: add support for special vxlan Manish Kurup ` (42 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Kishore Padmanabha, Peter Spreadborough, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The representor flows were not being deleted as part of the vfr clean up. Added code to delete flows related to vfr interface. Also fixed the stats counter thread lockup. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/bnxt_reps.c | 31 ++++++++++++++++++++++++---- drivers/net/bnxt/tf_core/v3/tfc_em.c | 5 +++-- drivers/net/bnxt/tf_core/v3/tfo.c | 1 + drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 29 ++++++++++++++++---------- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h | 2 +- 5 files changed, 50 insertions(+), 18 deletions(-) diff --git a/drivers/net/bnxt/bnxt_reps.c b/drivers/net/bnxt/bnxt_reps.c index 20a0ba65a5..f32b55b1ee 100644 --- a/drivers/net/bnxt/bnxt_reps.c +++ b/drivers/net/bnxt/bnxt_reps.c @@ -502,12 +502,33 @@ int bnxt_rep_dev_start_op(struct rte_eth_dev *eth_dev) return 0; } +static int bnxt_tf_vfr_flush_flows(struct bnxt_representor *vfr_bp) +{ + struct bnxt *parent_bp = vfr_bp->parent_dev->data->dev_private; + uint16_t func_id; + + /* it is assumed that port is either TVF or PF */ + if (unlikely(ulp_port_db_port_func_id_get(parent_bp->ulp_ctx, + vfr_bp->dpdk_port_id, + &func_id))) { + BNXT_DRV_DBG(ERR, "Invalid argument\n"); + return -EINVAL; + } + return ulp_flow_db_function_flow_flush(parent_bp->ulp_ctx, func_id); +} + static int bnxt_tf_vfr_free(struct bnxt_representor *vfr) { struct bnxt *parent_bp; int32_t rc; PMD_DRV_LOG_LINE(DEBUG, "BNXT Port:%d VFR ulp free", vfr->dpdk_port_id); + rc = bnxt_tf_vfr_flush_flows(vfr); + if (rc) + PMD_DRV_LOG_LINE(ERR, + "Failed to delete rules from Port:%d VFR", + vfr->dpdk_port_id); + rc = bnxt_ulp_delete_vfr_default_rules(vfr); if (rc) PMD_DRV_LOG_LINE(ERR, @@ -603,15 +624,17 @@ int bnxt_rep_dev_info_get_op(struct rte_eth_dev *eth_dev, struct bnxt *parent_bp; unsigned int max_rx_rings; + /* Need be an error scenario, if parent is removed first */ + if (eth_dev->device->driver == NULL) + return -ENODEV; + /* MAC Specifics */ if (!bnxt_rep_check_parent(rep_bp)) { - PMD_DRV_LOG_LINE(INFO, "Rep parent port does not exist"); - /* Need be an error scenario, if parent is removed first */ - if (eth_dev->device->driver == NULL) - return -ENODEV; + PMD_DRV_LOG_LINE(INFO, "Rep parent port does not exist."); /* Need not be an error scenario, if parent is closed first */ return 0; } + parent_bp = rep_bp->parent_dev->data->dev_private; PMD_DRV_LOG_LINE(DEBUG, "Representor dev_info_get_op"); dev_info->max_mac_addrs = parent_bp->max_l2_ctx; diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c index feb6e899f6..8264f9a05d 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c @@ -936,8 +936,9 @@ int tfc_mpc_batch_end(struct tfc *tfcp, tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - if (unlikely(mpc_info->mpcops == NULL)) { - PMD_DRV_LOG_LINE(ERR, "MPC not initialized"); + if (unlikely(mpc_info == NULL || mpc_info->mpcops == NULL)) { + PMD_DRV_LOG_LINE(ERR, "%s: MPC not initialized", + __func__); return -EINVAL; } diff --git a/drivers/net/bnxt/tf_core/v3/tfo.c b/drivers/net/bnxt/tf_core/v3/tfo.c index bee813ebf6..f4ee81aefd 100644 --- a/drivers/net/bnxt/tf_core/v3/tfo.c +++ b/drivers/net/bnxt/tf_core/v3/tfo.c @@ -157,6 +157,7 @@ int tfo_mpcinfo_get(void *tfo, struct cfa_bld_mpcinfo **mpc_info) { struct tfc_object *tfco = (struct tfc_object *)tfo; + *mpc_info = NULL; if (tfo == NULL) { PMD_DRV_LOG_LINE(ERR, "Invalid tfo pointer"); return -EINVAL; diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c index 753c19b055..6b6733133a 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c @@ -158,9 +158,11 @@ ulp_sc_mgr_deinit(struct bnxt_ulp_context *ctxt) if (!ulp_sc_info) return -EINVAL; - rte_free(ulp_sc_info->stats_cache_tbl); + if (ulp_sc_info->stats_cache_tbl) + rte_free(ulp_sc_info->stats_cache_tbl); - rte_free(ulp_sc_info->read_data); + if (ulp_sc_info->read_data) + rte_free(ulp_sc_info->read_data); rte_free(ulp_sc_info); @@ -186,9 +188,14 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) uint32_t batch_size; struct tfc *tfcp = NULL; uint32_t batch, stat_cnt; + int oldstate; + int oldtype; uint8_t *data; int rc; + pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate); + pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype); + while (true) { ctxt = NULL; while (!ctxt) { @@ -222,7 +229,6 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) if (bnxt_ulp_cntxt_acquire_fdb_lock(ctxt)) break; - batch_info.enabled = false; rc = tfc_mpc_batch_start(&batch_info); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, @@ -250,12 +256,12 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) (uint64_t)sce; rc = sc_ops->ulp_stats_cache_update(tfcp, - sce->dir, - &ulp_sc_info->read_data_iova[batch], - sce->handle, - &words, - &batch_info, - sce->reset); + sce->dir, + data, + sce->handle, + &words, + &batch_info, + sce->reset); if (unlikely(rc)) { /* Abort this batch */ PMD_DRV_LOG_LINE(ERR, @@ -278,7 +284,8 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) bnxt_ulp_cntxt_release_fdb_lock(ctxt); if (unlikely(rc)) { - PMD_DRV_LOG_LINE(ERR, "MPC batch end failed rc:%d", rc); + PMD_DRV_LOG_LINE(ERR, + "MPC batch end failed rc:%d", rc); batch_info.enabled = false; break; } @@ -306,7 +313,7 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) } terminate: - PMD_DRV_LOG_LINE(DEBUG, "Terminating the stats cachce thread"); + PMD_DRV_LOG_LINE(ERR, "Terminating the stats cachce thread"); return 0; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h index 5501dc18fd..29d0b0a1a4 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h @@ -36,7 +36,7 @@ struct ulp_sc_tfc_stats_cache_entry { struct bnxt_ulp_sc_info { struct ulp_sc_tfc_stats_cache_entry *stats_cache_tbl; uint8_t *read_data; - uint64_t read_data_iova[ULP_SC_BATCH_SIZE]; + uint64_t read_data_iova[ULP_SC_BATCH_SIZE]; uint32_t flags; uint32_t num_entries; uint32_t num_counters; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 12/54] net/bnxt/tf_ulp: add support for special vxlan 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (10 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 Manish Kurup ` (41 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Smitha Pisupati, manish.kurup, Kishore Padmanabha From: Smitha Pisupati <smitha.pisupati@broadcom.com> Some special vxlan packets have extra padding bytes between the vxlan header and inner eth header. Thor2 is required to forward those packets as is, and not drop them. To make this possible, following changes were made: 1. Don't check on the l2 header type in the default template 2. Based on a feature bit called special_vxlan, enable the support to pass the special packets. With feature bits disabled, normal vxlan should still pass. Signed-off-by: Smitha Pisupati <smitha.pisupati at broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index c8b6f544ca..08934eac3f 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1069,7 +1069,6 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) #else uint64_t bit = 0; #endif - *out_bits = 0; if ((feat_bits | bit) != feat_bits) { BNXT_DRV_DBG(ERR, "Invalid TF feature bit is set %" PRIu64 "\n", @@ -1090,6 +1089,9 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Multi Tunnel Flow Feature is enabled\n"); if (bit & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE) BNXT_DRV_DBG(ERR, "Multi Instance Feature is enabled\n"); + if (bit & BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN) + BNXT_DRV_DBG(ERR, "Special VXLAN Feature is enabled\n"); + *out_bits = bit; return 0; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (11 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 12/54] net/bnxt/tf_ulp: add support for special vxlan Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Manish Kurup ` (40 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shahaji Bhosle From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Increased the shared pool size for table scopes from 8 to 32. So that 32 instances of application can be created. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 55adceb59f..af3e82a6a7 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -373,7 +373,7 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) if ((feat_bits & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE)) { if (!BNXT_PF(bp)) { shared = true; - max_pools = 8; + max_pools = 32; } } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (12 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 15/54] net/bnxt/tf_ulp: add support for tcam priority update Manish Kurup ` (39 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Jay Ding, Shuanglin Wang, Peter Spreadborough From: Jay Ding <jay.ding@broadcom.com> 1. Thor doesn't support meter stats. Add null pointer check on ulp_mapper_mtr_stats_hndl_del. 2. Increased the number of mac_addr_cache from 512 to 2048. Changed the data type in an error message. Signed-off-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 10 ++++++++++ drivers/net/bnxt/tf_ulp/ulp_gen_hash.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c index bc48e35c00..7f6a84e699 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c @@ -598,6 +598,16 @@ bnxt_flow_mtr_destroy(struct rte_eth_dev *dev, if (ret) goto parse_error; + oper = ulp_mapper_data_oper_get(ulp_ctx); + if (!oper) + goto parse_error; + + if (oper->ulp_mapper_mtr_stats_hndl_del) { + ret = oper->ulp_mapper_mtr_stats_hndl_del(mtr_id); + if (ret) + goto parse_error; + } + BNXT_DRV_DBG(DEBUG, "Bnxt flow meter %d is deleted\n", mtr_id); return 0; diff --git a/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c b/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c index e8cb1a3784..74cdd5c1da 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c +++ b/drivers/net/bnxt/tf_ulp/ulp_gen_hash.c @@ -33,7 +33,7 @@ int32_t ulp_bit_alloc_list_alloc(struct bit_alloc_list *blist, return 0; } jdx = (uint32_t)(bsize_64 * ULP_INDEX_BITMAP_SIZE); - BNXT_DRV_DBG(ERR, "bit allocator is full reached max:%x\n", jdx); + BNXT_DRV_DBG(ERR, "bit allocator is full reached max:%d\n", jdx); return -1; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 15/54] net/bnxt/tf_ulp: add support for tcam priority update 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (13 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 16/54] net/bnxt/tf_ulp: hot upgrade support Manish Kurup ` (38 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> As part of the hot upgrade feature, added supported for TCAM entry's priority to be updated. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/hsi_struct_def_dpdk.h | 541 ++++++++++++++++++++--- drivers/net/bnxt/tf_core/v3/tfc.h | 27 ++ drivers/net/bnxt/tf_core/v3/tfc_msg.c | 32 ++ drivers/net/bnxt/tf_core/v3/tfc_msg.h | 6 + drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 3 + drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 3 +- drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 29 ++ drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c | 24 + drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h | 12 + drivers/net/bnxt/tf_ulp/ulp_mapper.c | 68 ++- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 8 +- drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 1 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 36 ++ 13 files changed, 729 insertions(+), 61 deletions(-) diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index 3a0c1fbdc2..de72e0e9e9 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -828,6 +828,18 @@ struct __rte_packed_begin cmd_nums { #define HWRM_UDCC_COMP_QCFG UINT32_C(0x25f) /* This command queries the status and statistics of the computation unit. */ #define HWRM_UDCC_COMP_QUERY UINT32_C(0x260) + /* + * This command is used to query the pfc watchdog max configurable + * timeout value. + */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS UINT32_C(0x261) + /* This command is used to set the PFC watchdog timeout value. */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_CFG UINT32_C(0x262) + /* + * This command is used to query the current configured pfc watchdog + * timeout value. + */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_QCFG UINT32_C(0x263) /* Experimental */ #define HWRM_TF UINT32_C(0x2bc) /* Experimental */ @@ -950,18 +962,10 @@ struct __rte_packed_begin cmd_nums { #define HWRM_TFC_TBL_SCOPE_CONFIG_GET UINT32_C(0x39a) /* TruFlow command to query the resource usage state. */ #define HWRM_TFC_RESC_USAGE_QUERY UINT32_C(0x39b) - /* - * This command is used to query the pfc watchdog max configurable - * timeout value. - */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS UINT32_C(0x39c) - /* This command is used to set the PFC watchdog timeout value. */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_CFG UINT32_C(0x39d) - /* - * This command is used to query the current configured pfc watchdog - * timeout value. - */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_QCFG UINT32_C(0x39e) + /* TruFlow command to free resources for a global id. */ + #define HWRM_TFC_GLOBAL_ID_FREE UINT32_C(0x39c) + /* TruFlow command to update the priority of one tcam entry. */ + #define HWRM_TFC_TCAM_PRI_UPDATE UINT32_C(0x39d) /* Experimental */ #define HWRM_SV UINT32_C(0x400) /* Flush any trace buffer data that has not been sent to the host. */ @@ -1246,8 +1250,8 @@ struct __rte_packed_begin hwrm_err_output { #define HWRM_VERSION_MINOR 10 #define HWRM_VERSION_UPDATE 3 /* non-zero means beta version */ -#define HWRM_VERSION_RSVD 40 -#define HWRM_VERSION_STR "1.10.3.40" +#define HWRM_VERSION_RSVD 86 +#define HWRM_VERSION_STR "1.10.3.86" /**************** * hwrm_ver_get * @@ -12667,29 +12671,94 @@ struct __rte_packed_begin hwrm_async_event_cmpl_dbg_buf_producer { UINT32_C(0xffff) #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SFT \ 0 - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SRT_TRACE \ UINT32_C(0x0) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SRT2_TRACE \ UINT32_C(0x1) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CRT_TRACE \ UINT32_C(0x2) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CRT2_TRACE \ UINT32_C(0x3) /* RIGP0 trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP0_TRACE \ UINT32_C(0x4) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_L2_HWRM_TRACE \ UINT32_C(0x5) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x6) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA0_TRACE \ + UINT32_C(0x7) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA1_TRACE \ + UINT32_C(0x8) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA2_TRACE \ + UINT32_C(0x9) + /* RIGP1 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP1_TRACE \ + UINT32_C(0xa) + /* AFM/Kong HWRM trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0xb) #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_LAST \ - HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ROCE_HWRM_TRACE + HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_AFM_KONG_HWRM_TRACE +} __rte_packed_end; + +/* hwrm_async_event_cmpl_peer_mmap_change (size:128b/16B) */ +struct __rte_packed_begin hwrm_async_event_cmpl_peer_mmap_change { + uint16_t type; + /* + * This field indicates the exact type of the completion. + * By convention, the LSB identifies the length of the + * record in 16B units. Even values indicate 16B + * records. Odd values indicate 32B + * records. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_MASK \ + UINT32_C(0x3f) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_SFT 0 + /* HWRM Asynchronous Event Information */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_HWRM_ASYNC_EVENT \ + UINT32_C(0x2e) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_LAST \ + HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_HWRM_ASYNC_EVENT + /* Identifiers of events. */ + uint16_t event_id; + /* + * This async notification message is used to inform the driver + * that the memory mapping for a peer device is set. The driver + * will need to query using get_structured_data. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_PEER_MMAP_CHANGE \ + UINT32_C(0x4d) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_LAST \ + HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_PEER_MMAP_CHANGE + /* Event specific data. */ + uint32_t event_data2; + uint8_t opaque_v; + /* + * This value is written by the NIC such that it will be different + * for each pass through the completion queue. The even passes + * will write 1. The odd passes will write 0. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_V UINT32_C(0x1) + /* opaque is 7 b */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_OPAQUE_MASK \ + UINT32_C(0xfe) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_OPAQUE_SFT 1 + /* 8-lsb timestamp (100-msec resolution) */ + uint8_t timestamp_lo; + /* 16-lsb timestamp (100-msec resolution) */ + uint16_t timestamp_hi; + /* Event specific data */ + uint32_t event_data1; } __rte_packed_end; /* hwrm_async_event_cmpl_fw_trace_msg (size:128b/16B) */ @@ -14990,9 +15059,7 @@ struct __rte_packed_begin hwrm_func_qcaps_output { /* * The maximum number of VFs that can be * allocated to the function. This is valid only on the - * PF with SR-IOV enabled. 0xFF... (All Fs) if this - * command is called on a PF with SR-IOV disabled or - * on a VF. + * PF with SR-IOV enabled. */ uint16_t max_vfs; /* @@ -23717,27 +23784,45 @@ struct __rte_packed_begin hwrm_func_backing_store_cfg_v2_input { /* XID partition context. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_XID_PARTITION \ UINT32_C(0x1d) - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_SRT_TRACE \ UINT32_C(0x1e) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_SRT2_TRACE \ UINT32_C(0x1f) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CRT_TRACE \ UINT32_C(0x20) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CRT2_TRACE \ UINT32_C(0x21) /* RIGP0 trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_RIGP0_TRACE \ UINT32_C(0x22) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_L2_HWRM_TRACE \ UINT32_C(0x23) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x24) + /* TimedTx pacing TQM ring. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_TTX_PACING_TQM_RING \ + UINT32_C(0x25) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CA0_TRACE \ + UINT32_C(0x26) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CA1_TRACE \ + UINT32_C(0x27) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CA2_TRACE \ + UINT32_C(0x28) + /* RIGP1 trace. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_RIGP1_TRACE \ + UINT32_C(0x29) + /* AFM/Kong HWRM trace. */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0x2a) /* Invalid type. */ #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_INVALID \ UINT32_C(0xffff) @@ -23877,6 +23962,21 @@ struct __rte_packed_begin hwrm_func_backing_store_cfg_v2_input { uint32_t split_entry_2; /* Split entry #3. */ uint32_t split_entry_3; + uint32_t enables; + /* + * This bit must be '1' for the next_bs_offset field to be + * configured. + */ + #define HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_ENABLES_NEXT_BS_OFFSET \ + UINT32_C(0x1) + /* + * This field specifies the next byte offset of the backing store + * for the firmware to use. The driver can use this field to + * direct the firmware to resume the logging-to-host from + * the host buffer where the firmware was lastly written + * before it restarts, e.g. due to an error recovery. + */ + uint32_t next_bs_offset; } __rte_packed_end; /* hwrm_func_backing_store_cfg_v2_output (size:128b/16B) */ @@ -23992,27 +24092,45 @@ struct __rte_packed_begin hwrm_func_backing_store_qcfg_v2_input { /* VF XID partition in-use table. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_XID_PARTITION_TABLE \ UINT32_C(0x1d) - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_SRT_TRACE \ UINT32_C(0x1e) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_SRT2_TRACE \ UINT32_C(0x1f) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_CRT_TRACE \ UINT32_C(0x20) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_CRT2_TRACE \ UINT32_C(0x21) /* RIGP0 trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_RIGP0_TRACE \ UINT32_C(0x22) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_L2_HWRM_TRACE \ UINT32_C(0x23) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x24) + /* TimedTx pacing TQM ring. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_TTX_PACING_TQM_RING \ + UINT32_C(0x25) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_CA0_TRACE \ + UINT32_C(0x26) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_CA1_TRACE \ + UINT32_C(0x27) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_CA2_TRACE \ + UINT32_C(0x28) + /* RIGP1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_RIGP1_TRACE \ + UINT32_C(0x29) + /* AFM/Kong HWRM trace. */ + #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0x2a) /* Invalid type. */ #define HWRM_FUNC_BACKING_STORE_QCFG_V2_INPUT_TYPE_INVALID \ UINT32_C(0xffff) @@ -24436,27 +24554,45 @@ struct __rte_packed_begin hwrm_func_backing_store_qcaps_v2_input { /* XID partition context. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_XID_PARTITION \ UINT32_C(0x1d) - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_SRT_TRACE \ UINT32_C(0x1e) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_SRT2_TRACE \ UINT32_C(0x1f) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_CRT_TRACE \ UINT32_C(0x20) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_CRT2_TRACE \ UINT32_C(0x21) /* RIGP0 trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_RIGP0_TRACE \ UINT32_C(0x22) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_L2_HWRM_TRACE \ UINT32_C(0x23) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x24) + /* TimedTx pacing TQM ring. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_TTX_PACING_TQM_RING \ + UINT32_C(0x25) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_CA0_TRACE \ + UINT32_C(0x26) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_CA1_TRACE \ + UINT32_C(0x27) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_CA2_TRACE \ + UINT32_C(0x28) + /* RIGP1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_RIGP1_TRACE \ + UINT32_C(0x29) + /* AFM/Kong HWRM trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0x2a) /* Invalid type. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_INPUT_TYPE_INVALID \ UINT32_C(0xffff) @@ -24531,27 +24667,45 @@ struct __rte_packed_begin hwrm_func_backing_store_qcaps_v2_output { /* XID partition context. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_XID_PARTITION \ UINT32_C(0x1d) - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_SRT_TRACE \ UINT32_C(0x1e) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_SRT2_TRACE \ UINT32_C(0x1f) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_CRT_TRACE \ UINT32_C(0x20) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_CRT2_TRACE \ UINT32_C(0x21) /* RIGP0 trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_RIGP0_TRACE \ UINT32_C(0x22) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_L2_HWRM_TRACE \ UINT32_C(0x23) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x24) + /* TimedTx pacing TQM ring. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_TTX_PACING_TQM_RING \ + UINT32_C(0x25) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_CA0_TRACE \ + UINT32_C(0x26) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_CA1_TRACE \ + UINT32_C(0x27) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_CA2_TRACE \ + UINT32_C(0x28) + /* RIGP1 trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_RIGP1_TRACE \ + UINT32_C(0x29) + /* AFM/Kong HWRM trace. */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0x2a) /* Invalid type. */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_TYPE_INVALID \ UINT32_C(0xffff) @@ -24595,6 +24749,26 @@ struct __rte_packed_begin hwrm_func_backing_store_qcaps_v2_output { */ #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_ROCE_QP_PSEUDO_STATIC_ALLOC \ UINT32_C(0x8) + /* + * When set, it indicates the region for this type is not a regular + * context memory but a memory for firmware text-based debug traces + * which consist of ASCII characters. + */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_FW_DBG_TRACE \ + UINT32_C(0x10) + /* + * When set, it indicates the region for this type is not a regular + * context memory but a memory for firmware debug traces which + * consist of binary data. + */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_FW_BIN_DBG_TRACE \ + UINT32_C(0x20) + /* + * When set, it indicates the support of configuring + * the next_bs_offset in hwrm_func_backing_store_cfg_v2. + */ + #define HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_NEXT_BS_OFFSET \ + UINT32_C(0x40) /* * Bit map of the valid instances associated with the * backing store type. @@ -62274,6 +62448,114 @@ struct __rte_packed_begin hwrm_tfc_resc_usage_query_output { uint8_t valid; } __rte_packed_end; +/**************************** + * hwrm_tfc_tcam_pri_update * + ****************************/ + + +/* hwrm_tfc_tcam_pri_update_input (size:256b/32B) */ +struct hwrm_tfc_tcam_pri_update_input { + /* The HWRM command request type. */ + uint16_t req_type; + /* + * The completion ring to send the completion event on. This should + * be the NQ ID returned from the `nq_alloc` HWRM command. + */ + uint16_t cmpl_ring; + /* + * The sequence ID is used by the driver for tracking multiple + * commands. This ID is treated as opaque data by the firmware and + * the value is returned in the `hwrm_resp_hdr` upon completion. + */ + uint16_t seq_id; + /* + * The target ID of the command: + * * 0x0-0xFFF8 - The function ID + * * 0xFFF8-0xFFFC, 0xFFFE - Reserved for internal processors + * * 0xFFFD - Reserved for user-space HWRM interface + * * 0xFFFF - HWRM + */ + uint16_t target_id; + /* + * A physical address pointer pointing to a host buffer that the + * command's response data will be written. This can be either a host + * physical address (HPA) or a guest physical address (GPA) and must + * point to a physically contiguous block of memory. + */ + uint64_t resp_addr; + /* + * Function ID. + * If running on a trusted VF or PF, the fid field can be used to + * specify that the function is a non-trusted VF of the parent PF. + * If this command is used for the target_id itself, this field is + * set to 0xffff. A non-trusted VF cannot specify a valid FID in this + * field. + */ + uint16_t fid; + /* + * Session id associated with the firmware. Will be used + * for validation if the track type matches. + */ + uint16_t sid; + /* Logical TCAM ID. */ + uint16_t tcam_id; + /* Entry new priority. */ + uint16_t priority; + /* Control flags. */ + uint8_t flags; + /* Indicates the flow direction. */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_FLAGS_DIR UINT32_C(0x1) + /* If this bit set to 0, then it indicates rx flow. */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_FLAGS_DIR_RX UINT32_C(0x0) + /* If this bit is set to 1, then it indicates tx flow. */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_FLAGS_DIR_TX UINT32_C(0x1) + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_FLAGS_DIR_LAST \ + HWRM_TFC_TCAM_PRI_UPDATE_INPUT_FLAGS_DIR_TX + /* + * Subtype of TCAM resource. See + * cfa_v3/include/cfa_resources.h. + */ + uint8_t subtype; + /* Describes the type of tracking id to be used */ + uint8_t track_type; + /* Invalid track type */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_INVALID \ + UINT32_C(0x0) + /* Tracked by session id */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_SID \ + UINT32_C(0x1) + /* Tracked by function id */ + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_FID \ + UINT32_C(0x2) + #define HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_LAST \ + HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_FID + /* unused. */ + uint8_t unused0[5]; +} __rte_packed; + +/* hwrm_tfc_tcam_pri_update_output (size:128b/16B) */ +struct hwrm_tfc_tcam_pri_update_output { + /* The specific error status for the command. */ + uint16_t error_code; + /* The HWRM command request type. */ + uint16_t req_type; + /* The sequence ID from the original command. */ + uint16_t seq_id; + /* The length of the response data in number of bytes. */ + uint16_t resp_len; + /* unused. */ + uint8_t unused0[7]; + /* + * This field is used in Output records to indicate that the + * output is completely written to RAM. This field should be + * read as '1' to indicate that the output has been + * completely written. When writing a command completion or + * response to an internal processor, the order of writes has + * to be such that this field is written last. + */ + uint8_t valid; +} __rte_packed; + /****************************** * hwrm_tunnel_dst_port_query * ******************************/ @@ -63557,9 +63839,14 @@ struct __rte_packed_begin hwrm_pcie_qstats_input { */ uint64_t resp_addr; /* - * The size of PCIe statistics block in bytes. - * Firmware will DMA the PCIe statistics to - * the host with this field size in the response. + * This field specifies the size of the host buffer for the + * statistics block. The actual size of the statistics block + * returned by FW will depend on the chip. Older chips will + * use the pcie_ctx_hw_stats structure and newer chips will + * use the superset pcie_ctx_hw_stats_v2 structure. The actual + * size of the data will be returned in the HWRM response and + * it will be smaller than or equal to the size specified in + * this field. */ uint16_t pcie_stat_size; uint8_t unused_0[6]; @@ -63629,6 +63916,119 @@ struct __rte_packed_begin pcie_ctx_hw_stats { uint64_t pcie_recovery_histogram; } __rte_packed_end; +/* + * Extended PCIe Statistics Format. This structure is a superset of + * pcie_ctx_hw_stats, i.e. the fields between the two structures are + * identical up to and including the pcie_recovery_histogram field. + */ +/* pcie_ctx_hw_stats_v2 (size:4096b/512B) */ +struct pcie_ctx_hw_stats_v2 { + /* Number of physical layer receiver errors */ + uint64_t pcie_pl_signal_integrity; + /* Number of DLLP CRC errors detected by Data Link Layer */ + uint64_t pcie_dl_signal_integrity; + /* + * Number of TLP LCRC and sequence number errors detected + * by Data Link Layer + */ + uint64_t pcie_tl_signal_integrity; + /* Number of times LTSSM entered Recovery state */ + uint64_t pcie_link_integrity; + /* Report number of TLP bits that have been transmitted in Mbps */ + uint64_t pcie_tx_traffic_rate; + /* Report number of TLP bits that have been received in Mbps */ + uint64_t pcie_rx_traffic_rate; + /* Number of DLLP bytes that have been transmitted */ + uint64_t pcie_tx_dllp_statistics; + /* Number of DLLP bytes that have been received */ + uint64_t pcie_rx_dllp_statistics; + /* + * Number of times spent in each phase of gen3 + * equalization + */ + uint64_t pcie_equalization_time; + /* Records the last 16 transitions of the LTSSM */ + uint32_t pcie_ltssm_histogram[4]; + /* + * Record the last 8 reasons on why LTSSM transitioned + * to Recovery + */ + uint64_t pcie_recovery_histogram; + /* The TL credit histogram counter buckets for non-posted-headers. */ + uint32_t pcie_tl_credit_nph_histogram[8]; + /* The TL credit histogram counter buckets for posted-headers. */ + uint32_t pcie_tl_credit_ph_histogram[8]; + /* The TL credit histogram counter buckets for posted-data. */ + uint32_t pcie_tl_credit_pd_histogram[8]; + /* + * The most recently completed read request times (in microseconds) + * for the 4 tags. + */ + uint32_t pcie_cmpl_latest_times[4]; + /* The longest read completion time (in microseconds). */ + uint32_t pcie_cmpl_longest_time; + /* The shortest read completion time (in microseconds). */ + uint32_t pcie_cmpl_shortest_time; + uint32_t unused_0[2]; + /* + * This field represents an array of 4 most recent (in time) read + * completion headers for tags 0 to 3. Each header consists of 4 + * words, in the following arrangement: + * | Word | Contains | + * | ---- | ------------------------------------| + * | 0 | The header bits 0 to 31. | + * | 1 | The header bits 32 to 63. | + * | 2 | The header bits 64 to 95. | + * | 3 | Reserved. | + */ + uint32_t pcie_cmpl_latest_headers[4][4]; + /* + * This field represents an array of 4 longest (in time) read + * completion headers for tags 0 to 3. Each header consists of 4 + * words, in the following arrangement: + * | Word | Contains | + * | ---- | ------------------------------------| + * | 0 | The header bits 0 to 31. | + * | 1 | The header bits 32 to 63. | + * | 2 | The header bits 64 to 95. | + * | 3 | Reserved. | + */ + uint32_t pcie_cmpl_longest_headers[4][4]; + /* + * This field represents an array of 4 shortest (in time) read + * completion headers for tags 0 to 3. Each header consists of 4 + * words, in the following arrangement: + * | Word | Contains | + * | ---- | ------------------------------------| + * | 0 | The header bits 0 to 31. | + * | 1 | The header bits 32 to 63. | + * | 2 | The header bits 64 to 95. | + * | 3 | Reserved. | + */ + uint32_t pcie_cmpl_shortest_headers[4][4]; + /* The PCIe write latency histogram data counter values. */ + uint32_t pcie_wr_latency_histogram[12]; + /* + * The total count for all of the requests, less the ones in the + * buckets. + */ + uint32_t pcie_wr_latency_all_normal_count; + uint32_t unused_1; + /* The count of posted packets sent to the PCI-e. */ + uint64_t pcie_posted_packet_count; + /* The count of non-posted packets sent to the PCI-e. */ + uint64_t pcie_non_posted_packet_count; + /* + * The count of other packets (i.e. not posted or non-posted) sent to + * the PCI-e. + */ + uint64_t pcie_other_packet_count; + /* The count of blocked packets sent to the PCI-e. */ + uint64_t pcie_blocked_packet_count; + /* The count of completion packets sent to the PCI-e. */ + uint64_t pcie_cmpl_packet_count; +} __rte_packed; + /**************************** * hwrm_stat_generic_qstats * ****************************/ @@ -64641,6 +65041,16 @@ struct __rte_packed_begin hwrm_nvm_write_input { */ #define HWRM_NVM_WRITE_INPUT_FLAGS_BATCH_LAST \ UINT32_C(0x4) + /* + * This flag can only be used when NIC is running a fastboot image. + * It has no effect when supplied to a non-fastboot image. Normally, + * all signed binaries must have the same CRID as the CRID programmed + * in the NIC SOTP. When the skip_crid_check flag is set, the CRID of + * the signed binary being written to the NVM does not have to match + * the CRID programmed in the SOTP of the NIC. + */ + #define HWRM_NVM_WRITE_INPUT_FLAGS_SKIP_CRID_CHECK \ + UINT32_C(0x8) /* * The requested length of the allocated NVM for the item, in bytes. * This value may be greater than or equal to the specified data @@ -68388,29 +68798,44 @@ struct __rte_packed_begin hwrm_dbg_log_buffer_flush_input { uint64_t resp_addr; /* Type of trace buffer to flush. */ uint16_t type; - /* SRT trace. */ + /* SRT or APE trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_SRT_TRACE \ UINT32_C(0x0) - /* SRT2 trace. */ + /* SRT2 or AFM/Kong trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_SRT2_TRACE \ UINT32_C(0x1) - /* CRT trace. */ + /* CRT or ChiMP trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_CRT_TRACE \ UINT32_C(0x2) - /* CRT2 trace. */ + /* CRT2 or Bono trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_CRT2_TRACE \ UINT32_C(0x3) /* RIGP0 trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_RIGP0_TRACE \ UINT32_C(0x4) - /* L2 HWRM trace. */ + /* L2 or ChiMP HWRM trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_L2_HWRM_TRACE \ UINT32_C(0x5) - /* RoCE HWRM trace. */ + /* RoCE or Bono HWRM trace. */ #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_ROCE_HWRM_TRACE \ UINT32_C(0x6) + /* Context Accelerator CPU 0 trace. */ + #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_CA0_TRACE \ + UINT32_C(0x7) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_CA1_TRACE \ + UINT32_C(0x8) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_CA2_TRACE \ + UINT32_C(0x9) + /* RIGP1 trace. */ + #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_RIGP1_TRACE \ + UINT32_C(0xa) + /* AFM/Kong HWRM trace. */ + #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_AFM_KONG_HWRM_TRACE \ + UINT32_C(0xb) #define HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_LAST \ - HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_ROCE_HWRM_TRACE + HWRM_DBG_LOG_BUFFER_FLUSH_INPUT_TYPE_AFM_KONG_HWRM_TRACE uint8_t unused_1[2]; /* Control flags. */ uint32_t flags; diff --git a/drivers/net/bnxt/tf_core/v3/tfc.h b/drivers/net/bnxt/tf_core/v3/tfc.h index 0ede8f04a8..02f24106e7 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc.h +++ b/drivers/net/bnxt/tf_core/v3/tfc.h @@ -681,6 +681,33 @@ int tfc_tcam_get(struct tfc *tfcp, uint16_t fid, int tfc_tcam_free(struct tfc *tfcp, uint16_t fid, const struct tfc_tcam_info *tcam_info); +/** + * Update the TFC TCAM entry priority + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] tt + * Track type - either track by session or by function + * + * @param[in] tcam_info + * All the information related to the requested index table entry (subtype/dir) + * including the id. + * + * @param[in] priority + * The priority of the tcam entry to be updated with. + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int tfc_tcam_priority_update(struct tfc *tfcp, uint16_t fid, + enum cfa_track_type tt, + const struct tfc_tcam_info *tcam_info, + uint16_t priority); + /** * @page TBM Table Scope * diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_msg.c index fb007a66f6..0a636a1677 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.c @@ -1183,6 +1183,38 @@ tfc_msg_tcam_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, return rc; } +int +tfc_msg_tcam_prioriry_update(struct tfc *tfcp, uint16_t fid, uint16_t sid, + enum cfa_dir dir, enum cfa_track_type tt, + enum cfa_resource_subtype_tcam subtype, + uint16_t tcam_id, uint16_t priority) +{ + int rc = 0; + struct bnxt *bp = tfcp->bp; + struct hwrm_tfc_tcam_pri_update_input req = { 0 }; + struct hwrm_tfc_tcam_pri_update_output resp = { 0 }; + + req.flags = (dir == CFA_DIR_TX ? + HWRM_TFC_TCAM_SET_INPUT_FLAGS_DIR_TX : + HWRM_TFC_TCAM_SET_INPUT_FLAGS_DIR_RX); + + rc = tfc_msg_set_fid(bp, fid, &req.fid); + if (rc) + return rc; + req.sid = rte_le_to_cpu_16(sid); + req.tcam_id = rte_le_to_cpu_16(tcam_id); + req.subtype = (uint8_t)subtype; + req.priority = rte_le_to_cpu_16(priority); + req.track_type = (tt == CFA_TRACK_TYPE_FID ? + HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_FID : + HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_SID); + + rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_TCAM_PRI_UPDATE, + &req, sizeof(req), &resp, + sizeof(resp)); + return rc; +} + int tfc_msg_if_tbl_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_if_tbl subtype, diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_msg.h index a03452f00a..2d1a6816c0 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.h @@ -154,6 +154,12 @@ tfc_msg_tcam_free(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_tcam subtype, uint16_t tcam_id); +int +tfc_msg_tcam_prioriry_update(struct tfc *tfcp, uint16_t fid, uint16_t sid, + enum cfa_dir dir, enum cfa_track_type tt, + enum cfa_resource_subtype_tcam subtype, + uint16_t tcam_id, uint16_t priority); + int tfc_msg_if_tbl_set(struct tfc *tfcp, uint16_t fid, uint16_t sid, enum cfa_dir dir, enum cfa_resource_subtype_if_tbl subtype, diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h index e0e31532fd..3a2745d405 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h @@ -327,4 +327,7 @@ bnxt_ulp_grp_miss_act_set(struct rte_eth_dev *dev, const struct rte_flow_action actions[], uint32_t *flow_id); +int32_t +bnxt_ulp_hot_upgrade_process(struct bnxt *bp); + #endif /* _BNXT_ULP_H_ */ diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index 08934eac3f..2cea9e5692 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1091,7 +1091,8 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Multi Instance Feature is enabled\n"); if (bit & BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN) BNXT_DRV_DBG(ERR, "Special VXLAN Feature is enabled\n"); - + if (bit & BNXT_ULP_FEATURE_BIT_HOT_UPGRADE) + BNXT_DRV_DBG(ERR, "Hot Upgrade Feature is enabled\n"); *out_bits = bit; return 0; diff --git a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c index b7a893a04f..30cd944362 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c +++ b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c @@ -993,3 +993,32 @@ bnxt_ulp_grp_miss_act_set(struct rte_eth_dev *dev, flow_error: return ret; } + +int32_t +bnxt_ulp_hot_upgrade_process(struct bnxt *bp) +{ + uint32_t flow_type = BNXT_ULP_TEMPLATE_HOT_UPGRADE; + uint16_t port_id = bp->eth_dev->data->port_id; + struct ulp_tlv_param param_list[] = { + { + .type = BNXT_ULP_DF_PARAM_TYPE_DEV_PORT_ID, + .length = 2, + .value = {(port_id >> 8) & 0xff, port_id & 0xff} + }, + { + .type = BNXT_ULP_DF_PARAM_TYPE_LAST, + .length = 0, + .value = {0} + } + }; + + if (!BNXT_CHIP_P7(bp)) + return -EPERM; + + if (ulp_flow_template_process(bp, param_list, flow_type, + port_id, 0)) + return -EIO; + + BNXT_DRV_DBG(DEBUG, "Hot upgrade operation performed\n"); + return 0; +} diff --git a/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c index c2ae3dc3a2..ac0a7e6db1 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c +++ b/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c @@ -626,3 +626,27 @@ ulp_gen_tbl_simple_list_search(struct ulp_mapper_gen_tbl_list *tbl_list, } return rc; } + +uint32_t +ulp_gen_tbl_simple_list_get_next(struct ulp_mapper_gen_tbl_list *tbl_list, + uint32_t *key_idx) +{ + struct ulp_mapper_gen_tbl_cont *cont = &tbl_list->container; + enum ulp_gen_list_search_flag rc = ULP_GEN_LIST_SEARCH_FULL; + struct ulp_mapper_gen_tbl_entry ent = { 0 }; + uint32_t idx = *key_idx; + + /* Check the given idx is a valid entry, if not get next one */ + while (idx < cont->num_elem) { + ent.ref_count = &cont->ref_count[idx]; + /* check ref count not zero and exact key matches */ + if (ULP_GEN_TBL_REF_CNT(&ent)) { + /* found the entry return */ + rc = ULP_GEN_LIST_SEARCH_FOUND; + *key_idx = idx; + break; + } + idx++; + } + return rc; +} diff --git a/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h b/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h index 2a6454bf9c..e88fd78acc 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h +++ b/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h @@ -219,4 +219,16 @@ uint32_t ulp_gen_tbl_simple_list_search(struct ulp_mapper_gen_tbl_list *tbl_list, uint8_t *match_key, uint32_t *key_idx); + +/* + * Perform simple list iteration + * + * tbl_list [in] - pointer to the generic table list + * key_idx [in/out] - returns key index . + * + * returns 2 on success. + */ +uint32_t +ulp_gen_tbl_simple_list_get_next(struct ulp_mapper_gen_tbl_list *tbl_list, + uint32_t *key_idx); #endif /* _ULP_EN_TBL_H_ */ diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index d545bd2fda..c463bce3d4 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -2619,6 +2619,7 @@ ulp_mapper_gen_tbl_process(struct bnxt_ulp_mapper_parms *parms, uint32_t i, num_kflds = 0, key_index = 0, num_par_kflds = 0, pad = 0; uint32_t gen_tbl_miss = 1, fdb_write = 0; uint8_t *byte_data; + uint64_t regval = 0; int32_t rc = 0; /* Get the key fields list and build the key. */ @@ -2725,7 +2726,9 @@ ulp_mapper_gen_tbl_process(struct bnxt_ulp_mapper_parms *parms, &gen_tbl_ent))) return -EINVAL; } else if (gen_tbl_list->tbl_type == - BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST) { + BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST && + tbl->tbl_opcode != + BNXT_ULP_GENERIC_TBL_OPC_ITERATE) { list_srch = ulp_gen_tbl_simple_list_search(gen_tbl_list, cache_key, &key_index); @@ -2826,6 +2829,53 @@ ulp_mapper_gen_tbl_process(struct bnxt_ulp_mapper_parms *parms, fdb_write = 1; parms->shared_hndl = (uint64_t)tbl_idx << 32 | key_index; break; + case BNXT_ULP_GENERIC_TBL_OPC_ITERATE: + if (gen_tbl_list->tbl_type != + BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST) { + BNXT_DRV_DBG(ERR, "%s: Invalid table opcode\n", + gen_tbl_list->gen_tbl_name); + return -EINVAL; + } + /* read the gen table index */ + if (unlikely(ulp_regfile_read(parms->regfile, + tbl->tbl_operand, + ®val))) { + BNXT_DRV_DBG(ERR, + "Fail to get tbl idx from regfile[%d].\n", + BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX); + return -EINVAL; + } + key_index = (uint32_t)rte_be_to_cpu_64(regval); + /* get the next index from the simple list table */ + rc = ulp_gen_tbl_simple_list_get_next(gen_tbl_list, &key_index); + if (rc == ULP_GEN_LIST_SEARCH_FOUND) { + gen_tbl_miss = 0; /* entry exits */ + regval = key_index; + (void)ulp_regfile_write(parms->regfile, + tbl->tbl_operand, + tfp_cpu_to_be_64(regval)); + g = &gen_tbl_ent; + rc = ulp_mapper_gen_tbl_entry_get(gen_tbl_list, + key_index, + &gen_tbl_ent); + if (rc) + return rc; + + /* scan the result list and update the regfile values */ + rc = ulp_mapper_tbl_ident_scan_ext(parms, tbl, + g->byte_data, + g->byte_data_size, + g->byte_order); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Fail to scan ident list\n"); + return rc; + } + + } else { + gen_tbl_miss = 1; /* no more entries */ + } + fdb_write = 0; + break; default: BNXT_DRV_DBG(ERR, "Invalid table opcode %x\n", tbl->tbl_opcode); return -EINVAL; @@ -3726,12 +3776,15 @@ ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms, case BNXT_ULP_FUNC_OPC_HANDLE_TO_OFFSET: case BNXT_ULP_FUNC_OPC_VFR_MARK_SET: case BNXT_ULP_FUNC_OPC_BD_ACT_SET: + case BNXT_ULP_FUNC_OPC_MTR_ID_TO_STATS_HANDLE: + case BNXT_ULP_FUNC_OPC_TCAM_SET_PRIORITY: process_src1 = 1; process_src2 = 1; break; case BNXT_ULP_FUNC_OPC_NOT_NOT: process_src1 = 1; case BNXT_ULP_FUNC_OPC_COND_LIST: + case BNXT_ULP_FUNC_OPC_APP_PRIORITY: break; case BNXT_ULP_FUNC_OPC_PORT_TABLE: process_src1 = 1; @@ -3854,6 +3907,19 @@ ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms, (uint8_t *)&res2, func_info->func_oper_size); return rc; + case BNXT_ULP_FUNC_OPC_MTR_ID_TO_STATS_HANDLE: + /* res1 is mtr_id, res2 is stats_id */ + return op->ulp_mapper_mtr_stats_hndl_set(parms, res1, res2); + case BNXT_ULP_FUNC_OPC_APP_PRIORITY: + res = parms->app_priority; + break; + case BNXT_ULP_FUNC_OPC_TCAM_SET_PRIORITY: + return op->ulp_mapper_core_tcam_prio_update(parms, + tbl->direction, + tbl->track_type, + CFA_RSUBTYPE_TCAM_WC, + (uint32_t)res1, + (uint16_t)res2); default: BNXT_DRV_DBG(ERR, "invalid func code %u\n", func_info->func_opc); diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h index 79052664dd..a4a42ab84d 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h @@ -103,6 +103,13 @@ struct ulp_mapper_core_ops { (*ulp_mapper_core_tcam_entry_free)(struct bnxt_ulp_context *ulp_ctx, struct ulp_flow_db_res_params *res); int32_t + (*ulp_mapper_core_tcam_prio_update)(struct bnxt_ulp_mapper_parms *parms, + uint8_t dir, + enum cfa_track_type tt, + enum cfa_resource_subtype_tcam type, + uint32_t tcam_id, + uint16_t priority); + int32_t (*ulp_mapper_core_em_tbl_process)(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_tbl_info *t, void *error); @@ -110,7 +117,6 @@ struct ulp_mapper_core_ops { (*ulp_mapper_core_em_entry_free)(struct bnxt_ulp_context *ulp, struct ulp_flow_db_res_params *res, void *error); - int32_t (*ulp_mapper_core_index_tbl_process)(struct bnxt_ulp_mapper_parms *parm, struct bnxt_ulp_mapper_tbl_info diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c index e548a6b91f..72d0f96573 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c @@ -1368,6 +1368,7 @@ ulp_mapper_tf_mpc_batch_started(struct tfc_mpc_batch_info_t *batch_info __rte_un const struct ulp_mapper_core_ops ulp_mapper_tf_core_ops = { .ulp_mapper_core_tcam_tbl_process = ulp_mapper_tf_tcam_tbl_process, .ulp_mapper_core_tcam_entry_free = ulp_mapper_tf_tcam_entry_free, + .ulp_mapper_core_tcam_prio_update = NULL, .ulp_mapper_core_em_tbl_process = ulp_mapper_tf_em_tbl_process, .ulp_mapper_core_em_entry_free = ulp_mapper_tf_em_entry_free, .ulp_mapper_core_index_tbl_process = ulp_mapper_tf_index_tbl_process, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index d4c03a2d74..046d2c5cf9 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -1911,11 +1911,47 @@ ulp_mapper_tfc_mtr_stats_hndl_del(uint32_t mtr_id) } return rc; + +static inline int32_t +ulp_mapper_tfc_tcam_prio_update(struct bnxt_ulp_mapper_parms *parms, + uint8_t dir, + enum cfa_track_type tt, + enum cfa_resource_subtype_tcam rtype, + uint32_t tcam_id, + uint16_t priority) +{ + struct tfc *tfcp = NULL; + struct tfc_tcam_info tcam_info = { 0 }; + uint16_t fw_fid = 0; + + if (unlikely(bnxt_ulp_cntxt_fid_get(parms->ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + return -EINVAL; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(parms->ulp_ctx); + if (unlikely(tfcp == NULL)) { + PMD_DRV_LOG_LINE(ERR, "Failed to get tfcp pointer"); + return -EINVAL; + } + tcam_info.dir = (enum cfa_dir)dir; + tcam_info.rsubtype = rtype; + tcam_info.id = (uint16_t)tcam_id; + + if (unlikely(!tfcp || tfc_tcam_priority_update(tfcp, fw_fid, tt, + &tcam_info, + priority))) { + BNXT_DRV_DBG(ERR, "Unable to update tcam priority %u\n", + tcam_info.id); + return -EINVAL; + } + return 0; } const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops = { .ulp_mapper_core_tcam_tbl_process = ulp_mapper_tfc_tcam_tbl_process, .ulp_mapper_core_tcam_entry_free = ulp_mapper_tfc_tcam_entry_free, + .ulp_mapper_core_tcam_prio_update = ulp_mapper_tfc_tcam_prio_update, .ulp_mapper_core_em_tbl_process = ulp_mapper_tfc_em_tbl_process, .ulp_mapper_core_em_entry_free = ulp_mapper_tfc_em_entry_free, .ulp_mapper_core_index_tbl_process = ulp_mapper_tfc_index_tbl_process, -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 16/54] net/bnxt/tf_ulp: hot upgrade support 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (14 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 15/54] net/bnxt/tf_ulp: add support for tcam priority update Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 17/54] net/bnxt/tf_core: tcam manager logical id free Manish Kurup ` (37 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Michael Baucom, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Add support for hot upgrade for a generic application. An application can start a backup application and add the same flows that has been offloaded in primary application and secondary application can take over primary application. Update the hwrm version to the correct version number, the corresponding code version for hot upgrade api got changed. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Michael Baucom <michael.baucom@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/bnxt.h | 1 + drivers/net/bnxt/bnxt_ethdev.c | 37 +++ .../bnxt/hcapi/cfa_v3/include/cfa_resources.h | 8 + drivers/net/bnxt/hsi_struct_def_dpdk.h | 207 +++++++++++++- drivers/net/bnxt/tf_core/v3/meson.build | 1 + drivers/net/bnxt/tf_core/v3/tfc.h | 84 ++++++ drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c | 142 ++++++++++ drivers/net/bnxt/tf_core/v3/tfc_msg.c | 52 ++++ drivers/net/bnxt/tf_core/v3/tfc_msg.h | 7 + drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 3 + drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 10 + drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 42 ++- drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 60 ++++ drivers/net/bnxt/tf_ulp/meson.build | 56 +++- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 4 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 2 +- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 7 +- drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c | 264 ++++++++++++++++++ drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h | 40 +++ 19 files changed, 1012 insertions(+), 15 deletions(-) create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 72ac66b0db..00bdb53215 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -1061,6 +1061,7 @@ struct bnxt { struct bnxt_flow_stat_info *flow_stat; uint16_t max_num_kflows; uint8_t app_id; + uint8_t app_instance_id; uint32_t tx_cfa_action; struct bnxt_ring_stats *prev_rx_ring_stats; struct bnxt_ring_stats *prev_tx_ring_stats; diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 0836be3b1e..7edfd8ca89 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -162,6 +162,9 @@ static const struct rte_eth_speed_lanes_capa speed_lanes_capa_tbl[] = { */ #define BNXT_DEVARG_APP_ID_INVALID(val) ((val) > 255) +/* app-instance-id = an non-negative 3-bit number */ +#define BNXT_DEVARG_APP_INSTANCE_ID_INVALID(val) ((val) > 8) + /* * ieee-1588 = an non-negative 8-bit number */ @@ -6063,6 +6066,40 @@ bnxt_parse_devarg_cqe_mode(__rte_unused const char *key, return 0; } +static int +bnxt_parse_devarg_app_instance_id(__rte_unused const char *key, + const char *value, void *opaque_arg) +{ + struct bnxt *bp = opaque_arg; + unsigned long app_instance_id; + char *end = NULL; + + if (!opaque_arg) { + PMD_DRV_LOG_LINE(ERR, + "Invalid param passed to app-instance-id devarg"); + return -EINVAL; + } + + app_instance_id = strtoul(value, &end, 10); + if (end == NULL || *end != '\0' || + (app_instance_id == ULONG_MAX && errno == ERANGE)) { + PMD_DRV_LOG_LINE(ERR, + "Invalid parameter passed to instance devargs"); + return -EINVAL; + } + + if (BNXT_DEVARG_APP_INSTANCE_ID_INVALID(app_instance_id)) { + PMD_DRV_LOG_LINE(ERR, "Invalid app-instance-id(%d) devargs", + (uint16_t)app_instance_id); + return -EINVAL; + } + + bp->app_instance_id = app_instance_id; + PMD_DRV_LOG_LINE(INFO, "app_instance_id=%u feature enabled", + (uint16_t)app_instance_id); + return 0; +} + static int bnxt_parse_devarg_app_id(__rte_unused const char *key, const char *value, void *opaque_arg) diff --git a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h index d1d62738d3..ada9741dfa 100644 --- a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h +++ b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_resources.h @@ -194,6 +194,14 @@ enum cfa_resource_subtype_gim { CFA_RSUBTYPE_SM_MAX + CFA_RSUBTYPE_TSM_MAX + CFA_RSUBTYPE_TIM_MAX + \ CFA_RSUBTYPE_GIM_MAX) +#define CFA_HOT_UPGRADE_APP_INSTANCE_MAX 4 +enum cfa_hot_upgrade_cmd_op { + CFA_HOT_UPGRADE_CMD_ALLOC = 1, + CFA_HOT_UPGRADE_CMD_FREE, + CFA_HOT_UPGRADE_CMD_GET, + CFA_HOT_UPGRADE_CMD_SET +}; + /** * @} */ diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index de72e0e9e9..6e540359e3 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -966,6 +966,8 @@ struct __rte_packed_begin cmd_nums { #define HWRM_TFC_GLOBAL_ID_FREE UINT32_C(0x39c) /* TruFlow command to update the priority of one tcam entry. */ #define HWRM_TFC_TCAM_PRI_UPDATE UINT32_C(0x39d) + /* TruFlow command to process hot upgrade requests. */ + #define HWRM_TFC_HOT_UPGRADE_PROCESS UINT32_C(0x3a0) /* Experimental */ #define HWRM_SV UINT32_C(0x400) /* Flush any trace buffer data that has not been sent to the host. */ @@ -1250,8 +1252,8 @@ struct __rte_packed_begin hwrm_err_output { #define HWRM_VERSION_MINOR 10 #define HWRM_VERSION_UPDATE 3 /* non-zero means beta version */ -#define HWRM_VERSION_RSVD 86 -#define HWRM_VERSION_STR "1.10.3.86" +#define HWRM_VERSION_RSVD 87 +#define HWRM_VERSION_STR "1.10.3.87" /**************** * hwrm_ver_get * @@ -41082,6 +41084,59 @@ struct __rte_packed_begin hwrm_queue_adptv_qos_rx_feature_cfg_output { uint8_t valid; } __rte_packed_end; +/* hwrm_queue_adptv_qos_rx_feature_cfg_cmd_err (size:64b/8B) */ +struct __rte_packed_begin hwrm_queue_adptv_qos_rx_feature_cfg_cmd_err { + /* + * command specific error codes that goes to + * the cmd_err field in Common HWRM Error Response. + */ + uint8_t code; + /* Success */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_SUCCESS \ + UINT32_C(0x0) + /* Unknown error */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_UNKNOWN \ + UINT32_C(0x1) + /* Cannot configure TCs with interfaces up */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_INTERFACES_UP \ + UINT32_C(0x2) + /* + * Configured TCs are less than the minimum required. + * The minimum is 3 if RoCE is enabled, else 1. + */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_MIN_TCS \ + UINT32_C(0x3) + /* Configured TCs are more than the maximum allowed */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_MAX_TCS \ + UINT32_C(0x4) + /* Configured TCs are not contiguous */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_CONTIGUOUS_TCS \ + UINT32_C(0x5) + /* Cannot configure TC that has a priority mapping */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_COS_PRI_MAPPED \ + UINT32_C(0x6) + /* Cannot configure TC that has a priority with pfc enabled */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_COS_PRI_PFC_ENABLED \ + UINT32_C(0x7) + /* + * Cannot configure TCs 0-2 differently than TC 0 and 2 as + * lossy and TC 1 as lossless. + * A maximum of 4 TCs can be configured as lossless. + * TCs 1, 3, 4, 5, 6, and 7 can be configured as lossless. + */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_DEFAULT_TCS_CANNOT_BE_CHANGED \ + UINT32_C(0x8) + /* + * Cannot configure more than 4 lossless TCs. + * TCs 1, 3, 4, 5, 6, and 7 can be configured as lossless. + */ + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_MAX_LOSSLESS_TCS \ + UINT32_C(0x9) + #define HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_LAST \ + HWRM_QUEUE_ADPTV_QOS_RX_FEATURE_CFG_CMD_ERR_CODE_MAX_LOSSLESS_TCS + uint8_t unused_0[7]; +} __rte_packed_end; + /**************************************** * hwrm_queue_adptv_qos_tx_feature_qcfg * ****************************************/ @@ -41397,6 +41452,59 @@ struct __rte_packed_begin hwrm_queue_adptv_qos_tx_feature_cfg_output { uint8_t valid; } __rte_packed_end; +/* hwrm_queue_adptv_qos_tx_feature_cfg_cmd_err (size:64b/8B) */ +struct __rte_packed_begin hwrm_queue_adptv_qos_tx_feature_cfg_cmd_err { + /* + * command specific error codes that goes to + * the cmd_err field in Common HWRM Error Response. + */ + uint8_t code; + /* Success */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_SUCCESS \ + UINT32_C(0x0) + /* Unknown error */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_UNKNOWN \ + UINT32_C(0x1) + /* Cannot configure TCs with interfaces up */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_INTERFACES_UP \ + UINT32_C(0x2) + /* + * Configured TCs are less than the minimum required. + * The minimum is 3 if RoCE is enabled, else 1. + */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_MIN_TCS \ + UINT32_C(0x3) + /* Configured TCs are more than the maximum allowed */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_MAX_TCS \ + UINT32_C(0x4) + /* Configured TCs are not contiguous */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_CONTIGUOUS_TCS \ + UINT32_C(0x5) + /* Cannot configure TC that has a priority mapping */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_COS_PRI_MAPPED \ + UINT32_C(0x6) + /* Cannot configure TC that has a priority with pfc enabled */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_COS_PRI_PFC_ENABLED \ + UINT32_C(0x7) + /* + * Cannot configure TCs 0-2 differently than TC 0 and 2 as + * lossy and TC 1 as lossless. + * A maximum of 4 TCs can be configured as lossless. + * TCs 1, 3, 4, 5, 6, and 7 can be configured as lossless. + */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_DEFAULT_TCS_CANNOT_BE_CHANGED \ + UINT32_C(0x8) + /* + * Cannot configure more than 4 lossless TCs. + * TCs 1, 3, 4, 5, 6, and 7 can be configured as lossless. + */ + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_MAX_LOSSLESS_TCS \ + UINT32_C(0x9) + #define HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_LAST \ + HWRM_QUEUE_ADPTV_QOS_TX_FEATURE_CFG_CMD_ERR_CODE_MAX_LOSSLESS_TCS + uint8_t unused_0[7]; +} __rte_packed_end; + /******************** * hwrm_queue_qcaps * ********************/ @@ -62556,6 +62664,101 @@ struct hwrm_tfc_tcam_pri_update_output { uint8_t valid; } __rte_packed; +/******************************** + * hwrm_tfc_hot_upgrade_process * + ********************************/ + + +/* hwrm_tfc_hot_upgrade_process_input (size:192b/24B) */ +struct hwrm_tfc_hot_upgrade_process_input { + /* The HWRM command request type. */ + uint16_t req_type; + /* + * The completion ring to send the completion event on. This should + * be the NQ ID returned from the `nq_alloc` HWRM command. + */ + uint16_t cmpl_ring; + /* + * The sequence ID is used by the driver for tracking multiple + * commands. This ID is treated as opaque data by the firmware and + * the value is returned in the `hwrm_resp_hdr` upon completion. + */ + uint16_t seq_id; + /* + * The target ID of the command: + * * 0x0-0xFFF8 - The function ID + * * 0xFFF8-0xFFFC, 0xFFFE - Reserved for internal processors + * * 0xFFFD - Reserved for user-space HWRM interface + * * 0xFFFF - HWRM + */ + uint16_t target_id; + /* + * A physical address pointer pointing to a host buffer that the + * command's response data will be written. This can be either a host + * physical address (HPA) or a guest physical address (GPA) and must + * point to a physically contiguous block of memory. + */ + uint64_t resp_addr; + /* + * Function ID. + * If running on a trusted VF or PF, the fid field can be used to + * specify that the function is a non-trusted VF of the parent PF. + * If this command is used for the target_id itself, this field is + * set to 0xffff. A non-trusted VF cannot specify a valid FID in this + * field. + */ + uint16_t fid; + /* + * Session id associated with the firmware. Will be used + * for validation if the track type matches. + */ + uint16_t sid; + /* + * The ID of an hot upgrade application. Will be used to track + * sessions associated with this app. + */ + uint8_t app_id; + /* The hot-Up command. */ + uint8_t cmd; + /* Alloc a hot-up app entry and register a session for it */ + #define HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_ALLOC UINT32_C(0x1) + /* Free a hot-up session from hot-up app */ + #define HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_FREE UINT32_C(0x2) + /* Get the count of registered sessions for the hot-up app */ + #define HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_GET UINT32_C(0x4) + /* Set the active session for the hot-up app */ + #define HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_SET UINT32_C(0x8) + /* The count of sessions registered for the hot-up app */ + uint8_t cur_session_cnt; + /* unused. */ + uint8_t unused0; +} __rte_packed; + +/* hwrm_tfc_hot_upgrade_process_output (size:128b/16B) */ +struct hwrm_tfc_hot_upgrade_process_output { + /* The specific error status for the command. */ + uint16_t error_code; + /* The HWRM command request type. */ + uint16_t req_type; + /* The sequence ID from the original command. */ + uint16_t seq_id; + /* The length of the response data in number of bytes. */ + uint16_t resp_len; + /* The count of sessions registered for the hot-up application. */ + uint8_t session_cnt; + /* unused. */ + uint8_t unused0[6]; + /* + * This field is used in Output records to indicate that the + * output is completely written to RAM. This field should be + * read as '1' to indicate that the output has been + * completely written. When writing a command completion or + * response to an internal processor, the order of writes has + * to be such that this field is written last. + */ + uint8_t valid; +} __rte_packed; + /****************************** * hwrm_tunnel_dst_port_query * ******************************/ diff --git a/drivers/net/bnxt/tf_core/v3/meson.build b/drivers/net/bnxt/tf_core/v3/meson.build index 5f467d6e5e..159e7a2b17 100644 --- a/drivers/net/bnxt/tf_core/v3/meson.build +++ b/drivers/net/bnxt/tf_core/v3/meson.build @@ -31,4 +31,5 @@ sources += files( 'tfc_util.c', 'tfo.c', 'tfc_vf2pf_msg.c', + 'tfc_hot_upgrade.c', ) diff --git a/drivers/net/bnxt/tf_core/v3/tfc.h b/drivers/net/bnxt/tf_core/v3/tfc.h index 02f24106e7..54c615edc3 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc.h +++ b/drivers/net/bnxt/tf_core/v3/tfc.h @@ -1575,4 +1575,88 @@ int tfc_if_tbl_set(struct tfc *tfcp, uint16_t fid, int tfc_if_tbl_get(struct tfc *tfcp, uint16_t fid, const struct tfc_if_tbl_info *tbl_info, uint8_t *data, uint8_t *data_sz_in_bytes); + +/** + * Get a TFC hot upgrade status and application instance count + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] app_inst_id + * the applicatoin instance id. + * + * @param[out] app_inst_cnt + * Pointer to the application instance count. + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int +tfc_hot_up_app_inst_count(struct tfc *tfcp, uint16_t fid, + uint8_t app_inst_id, uint8_t *app_inst_cnt); + +/** + * Allocate and initialize the TFC hot upgrade state + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] app_inst_id + * the application instance id. + * + * @param[in] app_inst_cnt + * the application instance count. + * + * @param[out] session + * the session count. + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int +tfc_hot_up_app_inst_alloc(struct tfc *tfcp, uint16_t fid, + uint8_t app_inst_id, uint8_t app_inst_cnt, + uint8_t *session); +/** + * Free the TFC hot upgrade state + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] app_inst_id + * the application instance id. + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int +tfc_hot_up_app_inst_free(struct tfc *tfcp, uint16_t fid, uint8_t app_inst_id); + +/** + * Set the TFC hot upgrade state to primary + * + * @param[in] tfcp + * Pointer to TFC handle + * + * @param[in] fid + * FID - Function ID to be used + * + * @param[in] app_inst_id + * the application instance id. + * + * @returns + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int +tfc_hot_up_app_inst_set(struct tfc *tfcp, uint16_t fid, uint8_t app_inst_id); + #endif /* _TFC_H_ */ diff --git a/drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c b/drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c new file mode 100644 index 0000000000..a82c4ccd17 --- /dev/null +++ b/drivers/net/bnxt/tf_core/v3/tfc_hot_upgrade.c @@ -0,0 +1,142 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2019-2021 Broadcom + * All rights reserved. + */ +#include <stdio.h> +#include "tfc.h" +#include "bnxt.h" +#include "tfc_msg.h" +#include "tfc_util.h" + +static int +tfc_hot_upgrade_validate(struct tfc *tfcp, uint8_t app_inst_id, + uint16_t *sid) +{ + struct bnxt *bp; + int rc = -EINVAL; + + if (tfcp == NULL) { + PMD_DRV_LOG_LINE(ERR, "Invalid tfcp pointer"); + return rc; + } + + if (tfcp->bp == NULL || tfcp->tfo == NULL) { + PMD_DRV_LOG_LINE(ERR, "tfcp not initialized"); + return rc; + } + bp = tfcp->bp; + + if (!BNXT_PF(bp) && !BNXT_VF_IS_TRUSTED(bp)) { + PMD_DRV_LOG_LINE(ERR, "bp not PF or trusted VF"); + return rc; + } + + if (app_inst_id > CFA_HOT_UPGRADE_APP_INSTANCE_MAX) { + PMD_DRV_LOG_LINE(ERR, "Invalid app instance: %u", + app_inst_id); + return rc; + } + + *sid = 0; + rc = tfo_sid_get(tfcp->tfo, sid); + if (rc) + PMD_DRV_LOG_LINE(ERR, + "Failed to retrieve SID, rc:%d", + rc); + + return rc; +} + +int +tfc_hot_up_app_inst_count(struct tfc *tfcp, uint16_t fid, + uint8_t app_inst_id, uint8_t *app_inst_cnt) +{ + uint16_t sid; + int rc = 0; + + if (tfc_hot_upgrade_validate(tfcp, app_inst_id, &sid)) { + PMD_DRV_LOG_LINE(ERR, "failed validate for instance %u", + app_inst_id); + return -EINVAL; + } + + rc = tfc_msg_hot_upgrade_process(tfcp, fid, sid, app_inst_id, + CFA_HOT_UPGRADE_CMD_GET, 0, + app_inst_cnt); + if (rc) + PMD_DRV_LOG_LINE(ERR, "failed for app instance id %d err=%d", + app_inst_id, rc); + + return rc; +} + +int +tfc_hot_up_app_inst_alloc(struct tfc *tfcp, uint16_t fid, + uint8_t app_inst_id, uint8_t app_inst_cnt, + uint8_t *session) +{ + uint16_t sid; + int rc = 0; + + if (tfc_hot_upgrade_validate(tfcp, app_inst_id, &sid)) { + PMD_DRV_LOG_LINE(ERR, "failed validate for instance %u", + app_inst_id); + return -EINVAL; + } + + rc = tfc_msg_hot_upgrade_process(tfcp, fid, sid, app_inst_id, + CFA_HOT_UPGRADE_CMD_ALLOC, + app_inst_cnt, session); + if (rc) + PMD_DRV_LOG_LINE(ERR, "failed for app instance id %d err=%d", + app_inst_id, rc); + + return rc; +} + +int +tfc_hot_up_app_inst_free(struct tfc *tfcp, uint16_t fid, + uint8_t app_inst_id) +{ + uint8_t session_cnt = 0; + uint16_t sid; + int rc = 0; + + if (tfc_hot_upgrade_validate(tfcp, app_inst_id, &sid)) { + PMD_DRV_LOG_LINE(ERR, "failed validate for instance %u", + app_inst_id); + return -EINVAL; + } + + rc = tfc_msg_hot_upgrade_process(tfcp, fid, sid, app_inst_id, + CFA_HOT_UPGRADE_CMD_FREE, + 0, &session_cnt); + if (rc) + PMD_DRV_LOG_LINE(ERR, "failed for app instance id %d err=%d", + app_inst_id, rc); + + return rc; +} + +int +tfc_hot_up_app_inst_set(struct tfc *tfcp, uint16_t fid, uint8_t app_inst_id) +{ + uint8_t session_cnt = 0; + uint16_t sid; + int rc = 0; + + if (tfc_hot_upgrade_validate(tfcp, app_inst_id, &sid)) { + PMD_DRV_LOG_LINE(ERR, "failed validate for instance %u", + app_inst_id); + return -EINVAL; + } + + rc = tfc_msg_hot_upgrade_process(tfcp, fid, sid, app_inst_id, + CFA_HOT_UPGRADE_CMD_SET, + 1, &session_cnt); + if (rc) + PMD_DRV_LOG_LINE(ERR, "failed for app instance id %d err=%d", + app_inst_id, rc); + + return rc; +} diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_msg.c index 0a636a1677..7ec7e9a054 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.c @@ -1319,3 +1319,55 @@ int tfc_msg_resc_usage_query(struct tfc *tfcp, uint16_t sid, enum cfa_dir dir, return rc; } #endif /* TF_FLOW_SCALE_QUERY */ + +int +tfc_msg_hot_upgrade_process(struct tfc *tfcp, uint16_t fid, uint16_t sid, + uint8_t app_inst_id, + enum cfa_hot_upgrade_cmd_op cmd_op, + uint8_t cur_cnt, + uint8_t *app_inst_cnt) +{ + struct hwrm_tfc_hot_upgrade_process_input req = { 0 }; + struct hwrm_tfc_hot_upgrade_process_output resp = { 0 }; + struct bnxt *bp = tfcp->bp; + int rc = 0; + + rc = tfc_msg_set_fid(bp, fid, &req.fid); + if (rc) + return rc; + req.sid = rte_le_to_cpu_16(sid); + req.app_id = app_inst_id; + req.cur_session_cnt = cur_cnt; + + switch (cmd_op) { + case CFA_HOT_UPGRADE_CMD_ALLOC: + req.cmd = HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_ALLOC; + break; + case CFA_HOT_UPGRADE_CMD_FREE: + req.cmd = HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_FREE; + break; + case CFA_HOT_UPGRADE_CMD_GET: + req.cmd = HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_GET; + break; + case CFA_HOT_UPGRADE_CMD_SET: + req.cmd = HWRM_TFC_HOT_UPGRADE_PROCESS_INPUT_CMD_SET; + break; + default: + PMD_DRV_LOG_LINE(ERR, "invalid command opcode %u", + cmd_op); + return -EINVAL; + } + rc = bnxt_hwrm_tf_message_direct(bp, false, + HWRM_TFC_HOT_UPGRADE_PROCESS, + &req, sizeof(req), &resp, + sizeof(resp)); + if (rc) { + PMD_DRV_LOG_LINE(ERR, + "sid[%u]:instance[%u]:cmd_op[%u] failed", + sid, app_inst_id, cmd_op); + return rc; + } + + *app_inst_cnt = resp.session_cnt; + return rc; +} diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_msg.h index 2d1a6816c0..3bf6b04a12 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.h @@ -174,3 +174,10 @@ tfc_msg_if_tbl_get(struct tfc *tfcp, uint16_t fid, uint16_t sid, int tfc_msg_resc_usage_query(struct tfc *tfcp, uint16_t sid, enum cfa_dir dir, uint16_t *data_size, void *data); #endif /* TF_FLOW_SCALE_QUERY */ + +int +tfc_msg_hot_upgrade_process(struct tfc *tfcp, uint16_t fid, uint16_t sid, + uint8_t app_inst_id, + enum cfa_hot_upgrade_cmd_op cmd_op, + uint8_t cur_cnt, + uint8_t *app_inst_cnt); diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h index 3a2745d405..afd883df2c 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h @@ -139,6 +139,7 @@ struct bnxt_ulp_data { uint32_t max_def_priority; uint32_t min_flow_priority; uint32_t max_flow_priority; + uint32_t ha_priority; uint32_t vxlan_port; uint32_t vxlan_gpe_port; uint32_t vxlan_ip_port; @@ -164,6 +165,8 @@ struct bnxt_ulp_data { uint64_t default_act_bits; struct ulp_fc_tfc_stats_cache_entry *stats_cache; struct bnxt_ulp_sc_info *sc_info; + struct bnxt_ulp_tfc_ha_mgr_info *tfc_ha_info; + uint8_t app_instance_id; }; enum bnxt_ulp_tfo_type { diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c index 2c22582e1c..386ec57a08 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c @@ -13,6 +13,7 @@ #include "ulp_fc_mgr.h" #include "ulp_port_db.h" #include "ulp_ha_mgr.h" +#include "ulp_tfc_ha_mgr.h" #include "ulp_tun.h" #include <rte_malloc.h> #include "ulp_template_db_tbl.h" @@ -92,8 +93,10 @@ bnxt_ulp_set_prio_attribute(struct ulp_rte_parser_params *params, { uint32_t max_p = bnxt_ulp_max_flow_priority_get(params->ulp_ctx); uint32_t min_p = bnxt_ulp_min_flow_priority_get(params->ulp_ctx); + uint32_t hot_prio = bnxt_ulp_ha_priority_id_get(params->ulp_ctx); if (max_p < min_p) { + min_p -= hot_prio; if (unlikely(attr->priority > min_p || attr->priority < max_p)) { BNXT_DRV_DBG(ERR, "invalid prio, not in range %u:%u\n", max_p, min_p); @@ -101,6 +104,7 @@ bnxt_ulp_set_prio_attribute(struct ulp_rte_parser_params *params, } params->priority = attr->priority; } else { + max_p -= hot_prio; if (unlikely(attr->priority > max_p || attr->priority < min_p)) { BNXT_DRV_DBG(ERR, "invalid prio, not in range %u:%u\n", min_p, max_p); @@ -245,6 +249,12 @@ bnxt_ulp_init_mapper_params(struct bnxt_ulp_mapper_parms *mparms, 1); } + /* update the Hot upgrade flag */ + if (bnxt_ulp_tfc_hot_upgrade_enabled(params->ulp_ctx) && + bnxt_ulp_tfc_hot_upgrade_is_secondary(params->ulp_ctx)) + ULP_BITMAP_SET(mparms->cf_bitmap, + BNXT_ULP_CF_BIT_HOT_UP_SECONDARY); + /* Update the socket direct flag */ if (ULP_BITMAP_ISSET(params->hdr_bitmap.bits, BNXT_ULP_HDR_BIT_SVIF_IGNORE)) { diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index af3e82a6a7..385dd742d5 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -32,7 +32,7 @@ #include "ulp_matcher.h" #include "ulp_port_db.h" #include "ulp_tun.h" -#include "ulp_ha_mgr.h" +#include "ulp_tfc_ha_mgr.h" #include "bnxt_tf_pmd_shim.h" #include "ulp_template_db_tbl.h" #include "tfc_resources.h" @@ -546,6 +546,21 @@ ulp_tfc_cntxt_app_caps_init(struct bnxt *bp, uint8_t app_id, uint32_t dev_id) info[i].default_priority); bnxt_ulp_max_def_priority_set(ulp_ctx, info[i].max_def_priority); + + /* if hot upgrade is enabled */ + if (bnxt_ulp_tfc_hot_upgrade_enabled(ulp_ctx)) { + uint32_t ha_prio = 0; + + if (info[i].min_flow_priority > + info[i].max_flow_priority) + ha_prio = info[i].min_flow_priority - + info[i].max_flow_priority; + else + ha_prio = info[i].max_flow_priority - + info[i].min_flow_priority; + ha_prio = ha_prio / 2; + bnxt_ulp_ha_priority_set(ulp_ctx, ha_prio); + } bnxt_ulp_min_flow_priority_set(ulp_ctx, info[i].min_flow_priority); bnxt_ulp_max_flow_priority_set(ulp_ctx, @@ -678,6 +693,16 @@ ulp_tfc_ctx_init(struct bnxt *bp, } BNXT_DRV_DBG(DEBUG, "Ulp initialized with app id %d\n", bp->app_id); + rc = bnxt_ulp_app_instance_id_set(bp->ulp_ctx, bp->app_instance_id); + if (rc) { + BNXT_DRV_DBG(ERR, + "Unable to set app_instance_id for ULP init.\n"); + goto error_deinit; + } + if (bp->app_instance_id) + BNXT_DRV_DBG(DEBUG, "Hot upgrade instance id %u\n", + bp->app_instance_id); + rc = ulp_tfc_dparms_init(bp, bp->ulp_ctx, devid); if (rc) { BNXT_DRV_DBG(ERR, "Unable to init dparms for app(%x)/dev(%x)\n", @@ -875,19 +900,14 @@ static void ulp_tfc_deinit(struct bnxt *bp, struct bnxt_ulp_session_state *session) { - bool ha_enabled; uint16_t fid_cnt = 0; int32_t rc; if (!bp->ulp_ctx || !bp->ulp_ctx->cfg_data) return; - ha_enabled = bnxt_ulp_cntxt_ha_enabled(bp->ulp_ctx); - if (ha_enabled) { - rc = ulp_ha_mgr_close(bp->ulp_ctx); - if (rc) - BNXT_DRV_DBG(ERR, "Failed to close HA (%d)\n", rc); - } + /* Delete the Hot upgrade manager */ + ulp_tfc_hot_upgrade_mgr_deinit(bp->ulp_ctx); /* Delete the Stats Counter Manager */ ulp_sc_mgr_deinit(bp->ulp_ctx); @@ -1050,6 +1070,12 @@ ulp_tfc_init(struct bnxt *bp, goto jump_to_error; } + rc = ulp_tfc_hot_upgrade_mgr_init(bp->ulp_ctx); + if (rc) { + BNXT_DRV_DBG(ERR, "Failed to initialize ulp hot upgrade mgr\n"); + goto jump_to_error; + } + rc = bnxt_ulp_cntxt_dev_id_get(bp->ulp_ctx, &ulp_dev_id); if (rc) { BNXT_DRV_DBG(ERR, "Unable to get device id from ulp.\n"); diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index 2cea9e5692..cb826b2c19 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1098,4 +1098,64 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) return 0; } +/* Function to set the tfc ha info into the context */ +static inline int32_t +bnxt_ulp_cntxt_ptr2_tfc_ha_info_set(struct bnxt_ulp_context *ulp_ctx, + struct bnxt_ulp_tfc_ha_mgr_info *ha_info) +{ + if (unlikely(ulp_ctx == NULL || ulp_ctx->cfg_data == NULL)) { + BNXT_DRV_DBG(ERR, "Invalid ulp context data\n"); + return -EINVAL; + } + ulp_ctx->cfg_data->tfc_ha_info = ha_info; + return 0; +} + +/* Function to retrieve the tfc ha info from the context. */ +static inline struct bnxt_ulp_tfc_ha_mgr_info * +bnxt_ulp_cntxt_ptr2_tfc_ha_info_get(struct bnxt_ulp_context *ulp_ctx) +{ + if (unlikely(ulp_ctx == NULL || ulp_ctx->cfg_data == NULL)) + return NULL; + return ulp_ctx->cfg_data->tfc_ha_info; +} + +/* This function sets the app instance id */ +static inline int32_t +bnxt_ulp_app_instance_id_set(struct bnxt_ulp_context *ulp_ctx, + uint8_t app_instance_id) +{ + if (unlikely(!ulp_ctx)) + return -EINVAL; + ulp_ctx->cfg_data->app_instance_id = app_instance_id; + return 0; +} + +/* This function gets the app instance id */ +static inline uint8_t +bnxt_ulp_app_instance_id_get(struct bnxt_ulp_context *ulp_ctx) +{ + if (unlikely(!ulp_ctx || !ulp_ctx->cfg_data)) + return 0; + return ulp_ctx->cfg_data->app_instance_id; +} + +static inline int +bnxt_ulp_ha_priority_set(struct bnxt_ulp_context *ulp_ctx, uint32_t prio) +{ + if (unlikely(!ulp_ctx || !ulp_ctx->cfg_data)) + return -EINVAL; + + ulp_ctx->cfg_data->ha_priority = prio; + return 0; +} + +static inline uint32_t +bnxt_ulp_ha_priority_id_get(struct bnxt_ulp_context *ulp_ctx) +{ + if (unlikely(!ulp_ctx || !ulp_ctx->cfg_data)) + return 0; + return ulp_ctx->cfg_data->ha_priority; +} + #endif /* _BNXT_ULP_UTILS_H_ */ diff --git a/drivers/net/bnxt/tf_ulp/meson.build b/drivers/net/bnxt/tf_ulp/meson.build index c8eb39f469..000b05ad0c 100644 --- a/drivers/net/bnxt/tf_ulp/meson.build +++ b/drivers/net/bnxt/tf_ulp/meson.build @@ -33,6 +33,60 @@ sources += files( 'ulp_fc_mgr_tf.c', 'ulp_alloc_tbl.c', 'ulp_sc_mgr.c', - 'ulp_sc_mgr_tfc.c') + 'ulp_sc_mgr_tfc.c', + 'ulp_tfc_ha_mgr.c') + +#include the templates for compile + +if get_option('bnxt_tf_template').contains('app19') +includes += include_directories('app_19_templates') +subdir('app_19_templates') +cflags += '-DBNXT_TF_APP_ID=19' + +elif get_option('bnxt_tf_template').contains('app17') +includes += include_directories('app_16_17_templates') +subdir('app_16_17_templates') +cflags += '-DBNXT_TF_APP_ID=17' + +elif get_option('bnxt_tf_template').contains('app16') +includes += include_directories('app_16_17_templates') +subdir('app_16_17_templates') +cflags += '-DBNXT_TF_APP_ID=16' + +elif get_option('bnxt_tf_template').contains('app14') +includes += include_directories('app_14_templates') +subdir('app_14_templates') +cflags += '-DBNXT_TF_APP_ID=14' + +elif get_option('bnxt_tf_template').contains('app13') +includes += include_directories('app_13_templates') +subdir('app_13_templates') +cflags += '-DBNXT_TF_APP_ID=13' + +elif get_option('bnxt_tf_template').contains('app10') +includes += include_directories('app_10_templates') +subdir('app_10_templates') +cflags += '-DBNXT_TF_APP_ID=10' + +elif get_option('bnxt_tf_template').contains('app11') +includes += include_directories('app_11_templates') +subdir('app_11_templates') +cflags += '-DBNXT_TF_APP_ID=11' + +elif get_option('bnxt_tf_template').contains('app12') +includes += include_directories('app_12_templates') +subdir('app_12_templates') +cflags += '-DBNXT_TF_APP_ID=12' + +elif get_option('bnxt_tf_template').contains('app15') +includes += include_directories('app_15_templates') +subdir('app_15_templates') +cflags += '-DBNXT_TF_APP_ID=15' + +elif get_option('bnxt_tf_template').contains('app1') +includes += include_directories('app_1_2_templates') +subdir('app_1_2_templates') +cflags += '-DBNXT_TF_APP_ID=1' +endif subdir('generic_templates') diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index c463bce3d4..1901845499 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -3785,6 +3785,7 @@ ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms, process_src1 = 1; case BNXT_ULP_FUNC_OPC_COND_LIST: case BNXT_ULP_FUNC_OPC_APP_PRIORITY: + case BNXT_ULP_FUNC_OPC_GET_HA_PRIORITY: break; case BNXT_ULP_FUNC_OPC_PORT_TABLE: process_src1 = 1; @@ -3920,6 +3921,9 @@ ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms, CFA_RSUBTYPE_TCAM_WC, (uint32_t)res1, (uint16_t)res2); + case BNXT_ULP_FUNC_OPC_GET_HA_PRIORITY: + res = bnxt_ulp_ha_priority_id_get(parms->ulp_ctx); + break; default: BNXT_DRV_DBG(ERR, "invalid func code %u\n", func_info->func_opc); diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index 046d2c5cf9..20b1ac09fc 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -316,7 +316,7 @@ ulp_mapper_tfc_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms, /* allocate the tcam entry, only need the length */ (void)ulp_blob_data_get(key, &key_sz_in_bits); key_sz_in_words = ULP_BITS_2_BYTE(key_sz_in_bits); - tfc_inf.dir = tbl->direction; /* PKB.need an api */ + tfc_inf.dir = tbl->direction; tfc_inf.rsubtype = tbl->resource_type; rc = tfc_tcam_alloc(tfcp, fw_fid, tt, priority, diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c index 6b6733133a..fc4207b36c 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c @@ -158,6 +158,8 @@ ulp_sc_mgr_deinit(struct bnxt_ulp_context *ctxt) if (!ulp_sc_info) return -EINVAL; + ulp_sc_mgr_thread_cancel(ctxt); + if (ulp_sc_info->stats_cache_tbl) rte_free(ulp_sc_info->stats_cache_tbl); @@ -208,11 +210,11 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) goto terminate; rte_delay_us_block(ULP_SC_CTX_DELAY); } + bnxt_ulp_cntxt_entry_release(); /* get the stats counter info block from ulp context */ ulp_sc_info = bnxt_ulp_cntxt_ptr2_sc_info_get(ctxt); if (unlikely(!ulp_sc_info)) { - bnxt_ulp_cntxt_entry_release(); goto terminate; } @@ -247,7 +249,6 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) tfcp = bnxt_ulp_cntxt_tfcp_get(sce->ctxt); if (unlikely(!tfcp)) { bnxt_ulp_cntxt_release_fdb_lock(ctxt); - bnxt_ulp_cntxt_entry_release(); goto terminate; } @@ -307,7 +308,6 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) data += ULP_SC_PAGE_SIZE; } } - bnxt_ulp_cntxt_entry_release(); /* Sleep to give any other threads opportunity to access ULP */ rte_delay_us_sleep(ULP_SC_PERIOD_US); } @@ -400,6 +400,7 @@ void ulp_sc_mgr_thread_cancel(struct bnxt_ulp_context *ctxt) return; ulp_sc_info->flags &= ~ULP_FLAG_SC_THREAD; + pthread_cancel(ulp_sc_info->tid); } /* diff --git a/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c new file mode 100644 index 0000000000..be14b65804 --- /dev/null +++ b/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.c @@ -0,0 +1,264 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2019-2024 Broadcom + * All rights reserved. + */ + +#include <rte_common.h> +#include <rte_cycles.h> +#include <rte_malloc.h> +#include <rte_log.h> +#include <rte_alarm.h> +#include "bnxt.h" +#include "bnxt_ulp.h" +#include "bnxt_ulp_utils.h" +#include "ulp_tfc_ha_mgr.h" +#include "bnxt_ulp_tfc.h" + +#define ULP_HOT_UPGRADE_TIMER_SEC 2 /* in seconds */ + +bool +bnxt_ulp_tfc_hot_upgrade_enabled(struct bnxt_ulp_context *ulp_ctx) +{ + uint64_t feat_bits; + + if (unlikely(ulp_ctx == NULL || ulp_ctx->cfg_data == NULL)) + return false; + + feat_bits = bnxt_ulp_feature_bits_get(ulp_ctx); + + /* Both hot upgrade feature and devarg instance id must be configured */ + if ((feat_bits & BNXT_ULP_FEATURE_BIT_HOT_UPGRADE) && + bnxt_ulp_app_instance_id_get(ulp_ctx)) + return true; + return false; +} + +bool +bnxt_ulp_tfc_hot_upgrade_is_secondary(struct bnxt_ulp_context *ulp_ctx) +{ + struct bnxt_ulp_tfc_ha_mgr_info *ha_info; + + if (unlikely(ulp_ctx == NULL || ulp_ctx->cfg_data == NULL)) + return false; + + ha_info = bnxt_ulp_cntxt_ptr2_tfc_ha_info_get(ulp_ctx); + if (ha_info == NULL) + return false; + + if (ha_info->ha_state == ULP_TFC_HA_STATE_SECONDARY) + return true; + return false; +} + +static void +ulp_tfc_hot_upgrade_mgr_timer_cb(void *arg) +{ + struct bnxt_ulp_tfc_ha_mgr_info *ha_info; + struct bnxt_ulp_context *ulp_ctx = NULL; + uint8_t inst_id, inst_count = 0; + int32_t restart_timer = 1; + struct tfc *tfcp = NULL; + uint16_t fw_fid = 0; + int32_t rc = 0; + + ulp_ctx = bnxt_ulp_cntxt_entry_acquire(arg); + if (ulp_ctx == NULL) { + rte_eal_alarm_set(US_PER_S * ULP_HOT_UPGRADE_TIMER_SEC, + ulp_tfc_hot_upgrade_mgr_timer_cb, arg); + return; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + PMD_DRV_LOG_LINE(ERR, "Failed to get tfcp pointer"); + goto cleanup; + } + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + goto cleanup; + } + + inst_id = bnxt_ulp_app_instance_id_get(ulp_ctx); + if (unlikely(!inst_id)) { + BNXT_DRV_DBG(ERR, "Invalid instance id\n"); + goto cleanup; + } + + rc = tfc_hot_up_app_inst_count(tfcp, fw_fid, inst_id, &inst_count); + if (rc) { + BNXT_DRV_DBG(ERR, "Failed to get hot upgrade status\n"); + goto cleanup; + } + + /* Primary is no longer present */ + if (inst_count == 1) { + ha_info = bnxt_ulp_cntxt_ptr2_tfc_ha_info_get(ulp_ctx); + if (ha_info == NULL) { + BNXT_DRV_DBG(ERR, "Failed to get ha_info\n"); + goto cleanup; + } + + BNXT_DRV_DBG(DEBUG, "Transition to Primary\n"); + /* set the current instance as Primary */ + ha_info->ha_state = ULP_TFC_HA_STATE_PRIMARY; + ha_info->app_inst_cnt = inst_count; + + /* Move the tcam entries to lower priority */ + rc = bnxt_ulp_hot_upgrade_process(ulp_ctx->bp); + if (rc) + BNXT_DRV_DBG(ERR, "Failed to update tcam entries\n"); + + /* set the primary session */ + rc = tfc_hot_up_app_inst_set(tfcp, fw_fid, inst_id); + if (rc) + BNXT_DRV_DBG(ERR, "Failed to set as primary\n"); + restart_timer = 0; + } else if (!inst_count) { + BNXT_DRV_DBG(ERR, "Invalid instance count\n"); + restart_timer = 0; + } + +cleanup: + bnxt_ulp_cntxt_entry_release(); + if (restart_timer) + rte_eal_alarm_set(US_PER_S * ULP_HOT_UPGRADE_TIMER_SEC, + ulp_tfc_hot_upgrade_mgr_timer_cb, arg); + else + BNXT_DRV_DBG(DEBUG, "exiting tfc hot upgrade timer\n"); +} + + +int32_t ulp_tfc_hot_upgrade_mgr_init(struct bnxt_ulp_context *ulp_ctx) +{ + uint8_t inst_id, inst_count = 0, session_cnt = 0; + struct bnxt_ulp_tfc_ha_mgr_info *ha_info; + struct tfc *tfcp = NULL; + uint16_t fw_fid = 0; + int32_t rc = 0; + + if (!bnxt_ulp_tfc_hot_upgrade_enabled(ulp_ctx)) + return rc; + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + PMD_DRV_LOG_LINE(ERR, "Failed to get tfcp pointer"); + return -EINVAL; + } + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + return -EINVAL; + } + + ha_info = rte_zmalloc("ulp_ha_mgr_info", sizeof(*ha_info), 0); + if (!ha_info) + return -ENOMEM; + + /* Add the HA info tbl to the ulp context. */ + bnxt_ulp_cntxt_ptr2_tfc_ha_info_set(ulp_ctx, ha_info); + + inst_id = bnxt_ulp_app_instance_id_get(ulp_ctx); + if (!inst_id) { + BNXT_DRV_DBG(ERR, "invalid instance id\n"); + goto cleanup; + } + + /* get the application instance count */ + ha_info->app_inst_id = inst_id; + rc = tfc_hot_up_app_inst_count(tfcp, fw_fid, inst_id, &inst_count); + if (rc) { + BNXT_DRV_DBG(ERR, "Failed to get hot upgrade status\n"); + goto cleanup; + } + + /* if instance count is 2 or more then just exit */ + if (inst_count >= 2) { + BNXT_DRV_DBG(ERR, "More than 2 instances, invalid setup\n"); + goto cleanup; + } + + /* Allocate the hot upgrade instance */ + rc = tfc_hot_up_app_inst_alloc(tfcp, fw_fid, inst_id, inst_count, + &session_cnt); + if (rc) { + BNXT_DRV_DBG(ERR, "Fail to alloc hot upgrade session\n"); + goto cleanup; + } + /* If count is 1 then set as primary app */ + if (session_cnt == 1) { + /* set the current instance as Primary */ + ha_info->ha_state = ULP_TFC_HA_STATE_PRIMARY; + ha_info->app_inst_cnt = session_cnt; + BNXT_DRV_DBG(DEBUG, "setting application as Primary\n"); + } else { + /* set the current instance as secondary */ + ha_info->ha_state = ULP_TFC_HA_STATE_SECONDARY; + ha_info->app_inst_cnt = session_cnt; + BNXT_DRV_DBG(DEBUG, "setting application as Secondary\n"); + + /* Start the Hot upgrade poll timer */ + rc = rte_eal_alarm_set(US_PER_S * ULP_HOT_UPGRADE_TIMER_SEC, + ulp_tfc_hot_upgrade_mgr_timer_cb, + (void *)ulp_ctx->cfg_data); + } + + return rc; +cleanup: + if (ha_info != NULL) + ulp_tfc_hot_upgrade_mgr_deinit(ulp_ctx); + return -EAGAIN; +} + +static void +ulp_tfc_ha_mgr_timer_cancel(struct bnxt_ulp_context *ulp_ctx) +{ + rte_eal_alarm_cancel(ulp_tfc_hot_upgrade_mgr_timer_cb, + ulp_ctx->cfg_data); +} + +void +ulp_tfc_hot_upgrade_mgr_deinit(struct bnxt_ulp_context *ulp_ctx) +{ + struct bnxt_ulp_tfc_ha_mgr_info *ha_info; + struct tfc *tfcp = NULL; + uint16_t fw_fid = 0; + uint8_t inst_id; + int32_t rc = 0; + + ha_info = bnxt_ulp_cntxt_ptr2_tfc_ha_info_get(ulp_ctx); + if (ha_info == NULL) + return; + bnxt_ulp_cntxt_ptr2_tfc_ha_info_set(ulp_ctx, NULL); + + if (!bnxt_ulp_tfc_hot_upgrade_enabled(ulp_ctx)) + return; + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + PMD_DRV_LOG_LINE(ERR, "Failed to get tfcp pointer"); + return; + } + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id\n"); + return; + } + + inst_id = bnxt_ulp_app_instance_id_get(ulp_ctx); + if (unlikely(!inst_id)) { + BNXT_DRV_DBG(ERR, "Failed to get instance id\n"); + return; + } + + rc = tfc_hot_up_app_inst_free(tfcp, fw_fid, inst_id); + if (rc) + BNXT_DRV_DBG(ERR, "Fail to free hot upgrade session:%u\n", + inst_id); + + /* disable the hot upgrade timer */ + if (ha_info->ha_state == ULP_TFC_HA_STATE_SECONDARY) + ulp_tfc_ha_mgr_timer_cancel(ulp_ctx); + + rte_free(ha_info); +} diff --git a/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h new file mode 100644 index 0000000000..44cbf56c0a --- /dev/null +++ b/drivers/net/bnxt/tf_ulp/ulp_tfc_ha_mgr.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2014-2024 Broadcom + * All rights reserved. + */ + +#ifndef _ULP_TFC_HA_MGR_H_ +#define _ULP_TFC_HA_MGR_H_ + +#include "bnxt_ulp.h" + +enum ulp_tfc_ha_mgr_state { + ULP_TFC_HA_STATE_INVALID = 0, + ULP_TFC_HA_STATE_PRIMARY, + ULP_TFC_HA_STATE_SECONDARY, + ULP_TFC_HA_STATE_MAX, +}; + +struct bnxt_ulp_tfc_ha_mgr_info { + enum ulp_tfc_ha_mgr_state ha_state; + uint32_t app_inst_id; + uint32_t app_inst_cnt; +}; + +bool +bnxt_ulp_tfc_hot_upgrade_enabled(struct bnxt_ulp_context *ulp_ctx); + +bool +bnxt_ulp_tfc_hot_upgrade_is_secondary(struct bnxt_ulp_context *ulp_ctx); + +int32_t +ulp_tfc_hot_upgrade_mgr_init(struct bnxt_ulp_context *ulp_ctx); + +void +ulp_tfc_hot_upgrade_mgr_deinit(struct bnxt_ulp_context *ulp_ctx); + +int32_t +ulp_ha_mgr_state_get(struct bnxt_ulp_context *ulp_ctx, + enum ulp_ha_mgr_state *state); + +#endif /* _ULP_TFC_HA_MGR_H_*/ -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 17/54] net/bnxt/tf_core: tcam manager logical id free 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (15 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 16/54] net/bnxt/tf_ulp: hot upgrade support Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization Manish Kurup ` (36 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Peter Spreadborough From: Farah Smith <farah.smith@broadcom.com> Remove code allocating entry 0 during initialization as it is not required. 0 is a valid entry. Update session_bmp naming to more descriptive logical_id_bmp. The data structure cfa_tcam_mgr_data is per session. Within the cfa_tcam_mgr_data, logical ids for TCAM entries are allocated from a global pool. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/tf_core/cfa_tcam_mgr.c | 35 +++++++------------ .../net/bnxt/tf_core/cfa_tcam_mgr_device.h | 6 ++-- drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c | 2 +- drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c | 2 +- 4 files changed, 19 insertions(+), 26 deletions(-) diff --git a/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c b/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c index 89ca6814e5..c527750041 100644 --- a/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c +++ b/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c @@ -914,9 +914,8 @@ cfa_tcam_mgr_bitmap_alloc(struct tf *tfp __rte_unused, struct cfa_tcam_mgr_data *tcam_mgr_data) { struct tfp_calloc_parms cparms; - uint64_t session_bmp_size; - struct bitalloc *session_bmp; - int32_t first_idx; + uint64_t logical_id_bmp_size; + struct bitalloc *logical_id_bmp; int max_entries; int rc; @@ -924,11 +923,11 @@ cfa_tcam_mgr_bitmap_alloc(struct tf *tfp __rte_unused, return -CFA_TCAM_MGR_ERR_CODE(INVAL); max_entries = tcam_mgr_data->cfa_tcam_mgr_max_entries; - session_bmp_size = (sizeof(uint64_t) * + logical_id_bmp_size = (sizeof(uint64_t) * (((max_entries - 1) / sizeof(uint64_t)) + 1)); cparms.nitems = 1; - cparms.size = session_bmp_size; + cparms.size = logical_id_bmp_size; cparms.alignment = 0; rc = tfp_calloc(&cparms); if (rc) { @@ -939,23 +938,15 @@ cfa_tcam_mgr_bitmap_alloc(struct tf *tfp __rte_unused, return -CFA_TCAM_MGR_ERR_CODE(NOMEM); } - session_bmp = (struct bitalloc *)cparms.mem_va; - rc = ba_init(session_bmp, max_entries, true); + logical_id_bmp = (struct bitalloc *)cparms.mem_va; + rc = ba_init(logical_id_bmp, max_entries, true); - tcam_mgr_data->session_bmp = session_bmp; - tcam_mgr_data->session_bmp_size = max_entries; - - /* Allocate first index to avoid idx 0 */ - first_idx = ba_alloc(tcam_mgr_data->session_bmp); - if (first_idx == BA_FAIL) { - tfp_free(tcam_mgr_data->session_bmp); - tcam_mgr_data->session_bmp = NULL; - return -CFA_TCAM_MGR_ERR_CODE(NOSPC); - } + tcam_mgr_data->logical_id_bmp = logical_id_bmp; + tcam_mgr_data->logical_id_bmp_size = max_entries; TFP_DRV_LOG(DEBUG, "session bitmap size is %" PRIX64 "\n", - tcam_mgr_data->session_bmp_size); + tcam_mgr_data->logical_id_bmp_size); return 0; } @@ -1135,7 +1126,7 @@ static int cfa_tcam_mgr_free_entries(struct tf *tfp) * may not be of the same type, resulting in errors. */ - while ((entry_id = ba_find_next_inuse_free(tcam_mgr_data->session_bmp, + while ((entry_id = ba_find_next_inuse_free(tcam_mgr_data->logical_id_bmp, 0)) >= 0) { free_parms.id = entry_id; free_parms.type = CFA_TCAM_MGR_TBL_TYPE_MAX; @@ -1405,7 +1396,7 @@ static int cfa_tcam_mgr_alloc_entry(struct tf *tfp __rte_unused, int32_t free_idx; /* Scan bitmap to get the free pool */ - free_idx = ba_alloc(tcam_mgr_data->session_bmp); + free_idx = ba_alloc(tcam_mgr_data->logical_id_bmp); if (free_idx == BA_FAIL) { PMD_DRV_LOG_LINE(ERR, "Table full (session)"); @@ -1423,10 +1414,10 @@ static int cfa_tcam_mgr_free_entry(struct tf *tfp __rte_unused, { int rc = 0; - if (entry_id >= tcam_mgr_data->session_bmp_size) + if (entry_id >= tcam_mgr_data->logical_id_bmp_size) return -CFA_TCAM_MGR_ERR_CODE(INVAL); - rc = ba_free(tcam_mgr_data->session_bmp, entry_id); + rc = ba_free(tcam_mgr_data->logical_id_bmp, entry_id); if (rc) return rc; diff --git a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_device.h b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_device.h index 9d7f560e7b..1b5803f021 100644 --- a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_device.h +++ b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_device.h @@ -123,8 +123,10 @@ struct cfa_tcam_mgr_data { cfa_tcam_mgr_tables[TF_DIR_MAX][CFA_TCAM_MGR_TBL_TYPE_MAX]; void *table_rows; struct cfa_tcam_mgr_entry_data *entry_data; - struct bitalloc *session_bmp; - uint64_t session_bmp_size; + /* Logical ids assigned for all TCAM types */ + struct bitalloc *logical_id_bmp; + /* Sum of all TCAM entries allocated */ + uint64_t logical_id_bmp_size; void *row_tables[TF_DIR_MAX][TF_TCAM_TBL_TYPE_MAX]; void *rx_row_data; void *tx_row_data; diff --git a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c index ddc2728785..55b6b96439 100644 --- a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c +++ b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c @@ -374,7 +374,7 @@ static void cfa_tcam_mgr_data_free(struct tf_session *tfs) tfp_free(tcam_mgr_data->table_rows); tfp_free(tcam_mgr_data->entry_data); - tfp_free(tcam_mgr_data->session_bmp); + tfp_free(tcam_mgr_data->logical_id_bmp); cfa_tcam_mgr_row_data_free(tcam_mgr_data); tfp_free(tcam_mgr_data); diff --git a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c index d5725f92e0..5b7e469e8a 100644 --- a/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c +++ b/drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c @@ -372,7 +372,7 @@ static void cfa_tcam_mgr_data_free(struct tf_session *tfs) tfp_free(tcam_mgr_data->table_rows); tfp_free(tcam_mgr_data->entry_data); - tfp_free(tcam_mgr_data->session_bmp); + tfp_free(tcam_mgr_data->logical_id_bmp); cfa_tcam_mgr_row_data_free(tcam_mgr_data); tfp_free(tcam_mgr_data); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (16 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 17/54] net/bnxt/tf_core: tcam manager logical id free Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 19/54] net/bnxt: fix max VFs count for thor2 Manish Kurup ` (35 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The stats counter cache memory initialization did not print the error message on failure, updated the initialization to print error message on failure. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 35 ++++++++++++++++++---------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c index fc4207b36c..b246b90fe2 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c @@ -63,29 +63,30 @@ int32_t ulp_sc_mgr_init(struct bnxt_ulp_context *ctxt) int i; if (!ctxt) { - BNXT_DRV_DBG(DEBUG, "Invalid ULP CTXT\n"); + BNXT_DRV_DBG(ERR, "Invalid ULP CTXT\n"); return -EINVAL; } if (bnxt_ulp_cntxt_dev_id_get(ctxt, &dev_id)) { - BNXT_DRV_DBG(DEBUG, "Failed to get device id\n"); + BNXT_DRV_DBG(ERR, "Failed to get device id\n"); return -EINVAL; } dparms = bnxt_ulp_device_params_get(dev_id); if (!dparms) { - BNXT_DRV_DBG(DEBUG, "Failed to device parms\n"); + BNXT_DRV_DBG(ERR, "Failed to device parms\n"); return -EINVAL; } sc_ops = bnxt_ulp_sc_ops_get(ctxt); if (sc_ops == NULL) { - BNXT_DRV_DBG(DEBUG, "Failed to get the counter ops\n"); + BNXT_DRV_DBG(ERR, "Failed to get the counter ops\n"); return -EINVAL; } ulp_sc_info = rte_zmalloc("ulp_sc_info", sizeof(*ulp_sc_info), 0); if (!ulp_sc_info) { + BNXT_DRV_DBG(ERR, "Failed to allocate stats cache container\n"); rc = -ENOMEM; goto error; } @@ -99,8 +100,9 @@ int32_t ulp_sc_mgr_init(struct bnxt_ulp_context *ctxt) ulp_sc_info->num_counters = dparms->ext_flow_db_num_entries; if (!ulp_sc_info->num_counters) { /* No need for software counters, call fw directly */ - BNXT_DRV_DBG(DEBUG, "Sw flow counter support not enabled\n"); - return 0; + BNXT_DRV_DBG(ERR, "Num of flow entries is not configured\n"); + rc = -EINVAL; + goto error; } /* @@ -115,6 +117,7 @@ int32_t ulp_sc_mgr_init(struct bnxt_ulp_context *ctxt) ulp_sc_info->stats_cache_tbl = rte_zmalloc("ulp_stats_cache_tbl", stats_cache_tbl_sz, 0); if (!ulp_sc_info->stats_cache_tbl) { + BNXT_DRV_DBG(ERR, "Failed to allocate stats cache table\n"); rc = -ENOMEM; goto error; } @@ -123,7 +126,7 @@ int32_t ulp_sc_mgr_init(struct bnxt_ulp_context *ctxt) ULP_SC_BATCH_SIZE * ULP_SC_PAGE_SIZE, ULP_SC_PAGE_SIZE); if (!ulp_sc_info->read_data) { - rte_free(ulp_sc_info->stats_cache_tbl); + BNXT_DRV_DBG(ERR, "Failed to allocate stats cache data\n"); rc = -ENOMEM; goto error; } @@ -135,10 +138,15 @@ int32_t ulp_sc_mgr_init(struct bnxt_ulp_context *ctxt) } rc = ulp_sc_mgr_thread_start(ctxt); - if (rc) - BNXT_DRV_DBG(DEBUG, "Stats counter thread start failed\n"); + if (rc) { + BNXT_DRV_DBG(ERR, "Stats cache thread start failed\n"); + rc = -EIO; + goto error; + } - error: + return 0; +error: + ulp_sc_mgr_deinit(ctxt); return rc; } @@ -399,8 +407,11 @@ void ulp_sc_mgr_thread_cancel(struct bnxt_ulp_context *ctxt) if (!ulp_sc_info) return; - ulp_sc_info->flags &= ~ULP_FLAG_SC_THREAD; - pthread_cancel(ulp_sc_info->tid); + /* if thread started then stop it */ + if (ulp_sc_info->flags & ULP_FLAG_SC_THREAD) { + pthread_cancel((pthread_t)ulp_sc_info->tid.opaque_id); + ulp_sc_info->flags &= ~ULP_FLAG_SC_THREAD; + } } /* -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 19/54] net/bnxt: fix max VFs count for thor2 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (17 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 Manish Kurup ` (34 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The number of max vfs per pf is 128 for thor2. Fixed the vnic hash table creation if the number of max vnics is less than 8. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt.h | 2 ++ drivers/net/bnxt/bnxt_vnic.c | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 00bdb53215..90352d537c 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -260,8 +260,10 @@ struct bnxt_pf_info { #define BNXT_MAX_VFS(bp) ((bp)->pf->max_vfs) #define BNXT_MAX_VF_REPS_P4 64 #define BNXT_MAX_VF_REPS_P5 256 +#define BNXT_MAX_VF_REPS_P7 128 #define BNXT_MAX_VF_REPS(bp) \ (BNXT_CHIP_P5(bp) ? BNXT_MAX_VF_REPS_P5 : \ + BNXT_CHIP_P7(bp) ? BNXT_MAX_VF_REPS_P7 : \ BNXT_MAX_VF_REPS_P4) #define BNXT_TOTAL_VFS(bp) ((bp)->pf->total_vfs) #define BNXT_FIRST_VF_FID 128 diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c index 7b028f2ee5..637e9b9aa4 100644 --- a/drivers/net/bnxt/bnxt_vnic.c +++ b/drivers/net/bnxt/bnxt_vnic.c @@ -16,6 +16,11 @@ #include "hsi_struct_def_dpdk.h" #include "bnxt_hwrm.h" +#ifndef RTE_HASH_BUCKET_ENTRIES +/* it is defined in lib/hash/rte_cuckoo_hash.h */ +#define RTE_HASH_BUCKET_ENTRIES 8 +#endif /* RTE_HASH_BUCKET_ENTRIES */ + /* Macros to manipulate vnic bitmaps*/ #define BNXT_VNIC_BITMAP_SIZE 64 #define BNXT_VNIC_BITMAP_SET(b, i) ((b[(i) / BNXT_VNIC_BITMAP_SIZE]) |= \ @@ -978,6 +983,12 @@ int32_t bnxt_vnic_queue_db_init(struct bnxt *bp) hash_tbl_params.name = hash_tbl_name; hash_tbl_params.entries = (bp->max_vnics > BNXT_VNIC_MAX_SUPPORTED_ID) ? BNXT_VNIC_MAX_SUPPORTED_ID : bp->max_vnics; + + /* if the number of max vnis is less than bucket size */ + /* then let the max entries size be the least value */ + if (hash_tbl_params.entries <= RTE_HASH_BUCKET_ENTRIES) + hash_tbl_params.entries = RTE_HASH_BUCKET_ENTRIES; + hash_tbl_params.key_len = BNXT_VNIC_MAX_QUEUE_SZ_IN_8BITS; hash_tbl_params.socket_id = rte_socket_id(); bp->vnic_queue_db.rss_q_db = rte_hash_create(&hash_tbl_params); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (18 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 19/54] net/bnxt: fix max VFs count for thor2 Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing Manish Kurup ` (33 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Peter Spreadborough, Kishore Padmanabha, Farah Smith From: Peter Spreadborough <peter.spreadborough@broadcom.com> Incorrect packet counts were being returned for ovs flows. This was happening when stats counter was doing read-clear for flow stats at a rate faster than OVS was reading the stats from us. In this scenario SC would read a count and as a result the HW counter would be reset, SC would then do a second read which would replace the current count and it would be lost. The fix is to never do read-clear and always update with the latest full count. If the application requests a reset then the current count is returned minus the last value read and the last value read updated with the current count, hence just the delta is returned. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 79 +++++++++++++++++++--------- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h | 2 + 2 files changed, 57 insertions(+), 24 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c index b246b90fe2..24012e30b1 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c @@ -26,6 +26,8 @@ #define ULP_TFC_CNTR_ALIGN 32 #define ULP_TFC_ACT_WORD_SZ 32 +#define ULP_SC_MAX_COUNT 0xFFFFFFFFFFFFFFFFULL + static const struct bnxt_ulp_sc_core_ops * bnxt_ulp_sc_ops_get(struct bnxt_ulp_context *ctxt) { @@ -182,7 +184,7 @@ ulp_sc_mgr_deinit(struct bnxt_ulp_context *ctxt) return 0; } -#define ULP_SC_PERIOD_US 256 +#define ULP_SC_PERIOD_US 100000 #define ULP_SC_CTX_DELAY 10000 static uint32_t ulp_stats_cache_main_loop(void *arg) @@ -265,12 +267,12 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) (uint64_t)sce; rc = sc_ops->ulp_stats_cache_update(tfcp, - sce->dir, - data, - sce->handle, - &words, - &batch_info, - sce->reset); + sce->dir, + &ulp_sc_info->read_data_iova[batch], + sce->handle, + &words, + &batch_info, + false); if (unlikely(rc)) { /* Abort this batch */ PMD_DRV_LOG_LINE(ERR, @@ -278,9 +280,6 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) break; } - if (sce->reset) - sce->reset = false; - /* Next */ batch++; sce++; @@ -308,9 +307,15 @@ static uint32_t ulp_stats_cache_main_loop(void *arg) PMD_DRV_LOG_LINE(ERR, "batch:%d result:%d", batch, batch_info.result[batch]); } else { - count = (struct ulp_sc_tfc_stats_cache_entry *) - ((uintptr_t)batch_info.em_hdl[batch]); - memcpy(&count->packet_count, data, ULP_TFC_ACT_WORD_SZ); + uint64_t *cptr = (uint64_t *)data; + uintptr_t em_hdl = batch_info.em_hdl[batch]; + + count = (struct ulp_sc_tfc_stats_cache_entry *)em_hdl; + if (*cptr != count->packet_count) { + count->packet_count = *cptr; + cptr++; + count->byte_count = *cptr; + } } data += ULP_SC_PAGE_SIZE; @@ -440,6 +445,8 @@ int ulp_sc_mgr_query_count_get(struct bnxt_ulp_context *ctxt, uint32_t f2_cnt; uint64_t *t; uint64_t bs; + uint64_t packet_count; + uint64_t byte_count; int rc = 0; /* Get stats cache info */ @@ -450,8 +457,22 @@ int ulp_sc_mgr_query_count_get(struct bnxt_ulp_context *ctxt, sce = ulp_sc_info->stats_cache_tbl; sce += flow_id; + /* Save the counts to local variables since they could be modified + * in the stats cache loop. + */ + packet_count = sce->packet_count; + byte_count = sce->byte_count; + /* To handle the parent flow */ if (sce->flags & ULP_SC_ENTRY_FLAG_PARENT) { + struct ulp_sc_tfc_stats_cache_entry *f1_sce = sce; + + if (!(f1_sce->flags & ULP_SC_ENTRY_FLAG_VALID)) + return -EBUSY; + + packet_count = 0; + byte_count = 0; + flow_db = bnxt_ulp_cntxt_ptr2_flow_db_get(ctxt); if (!flow_db) { BNXT_DRV_DBG(ERR, "parent child db validation failed\n"); @@ -490,26 +511,36 @@ int ulp_sc_mgr_query_count_get(struct bnxt_ulp_context *ctxt, /* no counter action, then ignore flows */ if (!(sce->flags & ULP_SC_ENTRY_FLAG_VALID)) continue; - count->hits += sce->packet_count; - count->hits_set = 1; - count->bytes += sce->byte_count; - count->bytes_set = 1; + + packet_count += sce->packet_count; + byte_count += sce->byte_count; } while (bs && f2_cnt); } + + sce = f1_sce; } else { /* To handle regular or child flows */ /* If entry is not valid return an error */ if (!(sce->flags & ULP_SC_ENTRY_FLAG_VALID)) return -EBUSY; + } - count->hits = sce->packet_count; - count->hits_set = 1; - count->bytes = sce->byte_count; - count->bytes_set = 1; - - if (count->reset) - sce->reset = true; + if (count->reset) { + /* Calculate packet count delta */ + count->hits = (packet_count - sce->last_packet_count) & ULP_SC_MAX_COUNT; + count->bytes = (byte_count - sce->last_byte_count) & ULP_SC_MAX_COUNT; + } else { + count->hits = packet_count; + count->bytes = byte_count; } + + /* Save the raw packet count */ + sce->last_packet_count = packet_count; + sce->last_byte_count = byte_count; + + count->bytes_set = 1; + count->hits_set = 1; + return rc; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h index 29d0b0a1a4..631e2f77b2 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.h @@ -30,6 +30,8 @@ struct ulp_sc_tfc_stats_cache_entry { uint64_t byte_count; uint64_t count_fields1; uint64_t count_fields2; + uint64_t last_packet_count; + uint64_t last_byte_count; bool reset; }; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (19 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 22/54] net/bnxt: fix default rss config Manish Kurup ` (32 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Sangtani Parag Satishbhai, Kalesh AP, Sriharsha Basavapatna From: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> For Thor2 if any of the ports are attached on testpmd without "mpc=1" argument, code flow will not initialize core mpc structure which can lead to seg fault in bnxt_mpc_send while accessing tx queues. Fix it by adding NULL conditional check for mpc member of bp structure. Signed-off-by: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> --- drivers/net/bnxt/bnxt_mpc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_mpc.c b/drivers/net/bnxt/bnxt_mpc.c index 2582b50782..ff2f0d7043 100644 --- a/drivers/net/bnxt/bnxt_mpc.c +++ b/drivers/net/bnxt/bnxt_mpc.c @@ -719,10 +719,20 @@ int bnxt_mpc_send(struct bnxt *bp, bool batch) { int rc; - struct bnxt_mpc_txq *mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; + struct bnxt_mpc_txq *mpc_queue; int retry = BNXT_MPC_RX_RETRY; uint32_t pi = 0; + /* + * TODO: This condition check is added to avoid + * segmentation fault in case mpc argument is + * missing in dev-args. Fix this by removing + * mpc argument from dev args. + */ + if (!bp->mpc) + return -1; + mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; + if (out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_SHORT && out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_LONG) return -1; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 22/54] net/bnxt: fix default rss config 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (20 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 23/54] net/bnxt/tf_ulp: enable support for global index table Manish Kurup ` (31 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Sriharsha Basavapatna From: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> On Thor2, the set of supported RSS hash types reported in dev_info->flow_type_rss_offloads includes both IPV6 and IPV6_FLOW_LABEL. However, hardware support is mutually exclusive. That is, either hash type IPV6 or IPV6_FLOW_LABEL can be specified, but not both. But, an application (such as testpmd) that sets the default hash types based on dev_info could end up specifying both bits in rss_conf->rss_hf field. This results in an error when both are set in HWRM_VNIC_RSS_CFG command. testpmd> port config all rss default bnxt_hwrm_vnic_rss_cfg_p5(): error 2:0:00000000:0000 Configuration of RSS hash at ethernet port 0 failed with error (22): Invalid argument. bnxt_hwrm_vnic_rss_cfg_p5(): error 2:0:00000000:0000 Configuration of RSS hash at ethernet port 1 failed with error (22): Invalid argument. Fix this issue by specifying only hash type IPV6_FLOW_LABEL in the hwrm, when both are specified in the rte command. This works since the hw includes IPV6 src and dst fields also in its hash function when the type is IPV6_FLOW_LABEL. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 11 +++++++++++ drivers/net/bnxt/bnxt_vnic.c | 10 +++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 7edfd8ca89..7177941e09 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -2485,6 +2485,17 @@ static int bnxt_rss_hash_conf_get_op(struct rte_eth_dev *eth_dev, memcpy(rss_conf->rss_key, vnic->rss_hash_key, len); } bnxt_hwrm_rss_to_rte_hash_conf(vnic, &rss_conf->rss_hf); + /* HASH_TYPE_IPV6_FLOW_LABEL and HASH_TYPE_IPV6 are mutually + * exclusive in hardware. See related comments in + * bnxt_rte_to_hwrm_hash_types(). If the cached user config + * has both bits enabled, make sure both are reported in + * conf_get_op(). + */ + if (bp->rss_conf.rss_hf && + (bp->rss_conf.rss_hf & + (RTE_ETH_RSS_IPV6 | RTE_ETH_RSS_IPV6_FLOW_LABEL)) && + (rss_conf->rss_hf & RTE_ETH_RSS_IPV6_FLOW_LABEL)) + rss_conf->rss_hf |= RTE_ETH_RSS_IPV6; rss_conf->rss_hf |= bnxt_hwrm_to_rte_rss_level(bp, vnic->hash_mode); } else { diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c index 637e9b9aa4..f0ec87198f 100644 --- a/drivers/net/bnxt/bnxt_vnic.c +++ b/drivers/net/bnxt/bnxt_vnic.c @@ -285,8 +285,16 @@ uint32_t bnxt_rte_to_hwrm_hash_types(uint64_t rte_type) hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_TCP_IPV6; if (rte_type & RTE_ETH_RSS_NONFRAG_IPV6_UDP) hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_UDP_IPV6; - if (rte_type & RTE_ETH_RSS_IPV6_FLOW_LABEL) + if (rte_type & RTE_ETH_RSS_IPV6_FLOW_LABEL) { + /* HASH_TYPE_IPV6_FLOW_LABEL and HASH_TYPE_IPV6 are mutually + * exclusive. If both bits are specified in rte_type, set only + * HASH_TYPE_IPV6_FLOW_LABEL in hardware since it subsumes + * HASH_TYPE_IPV6 (see comments for HASH_TYPE_IPV6_FLOW_LABEL + * in hsi.h). + */ hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_IPV6_FLOW_LABEL; + hwrm_type &= ~HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_IPV6; + } if (rte_type & RTE_ETH_RSS_ESP) hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_ESP_SPI_IPV4 | HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_ESP_SPI_IPV6; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 23/54] net/bnxt/tf_ulp: enable support for global index table 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (21 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 22/54] net/bnxt: fix default rss config Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:10 ` [PATCH v2 24/54] net/bnxt/tf_core: fix build failure with flow scale option Manish Kurup ` (30 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The multi instance applications use metadata profile tables to set the metadata mask and this mask needs to be shared by multiple applications. The code is extended to support global id for these metadata profiles that these can be shared across applications. Since there are limited number of these resources, to scale the number of applications this resource needs to be shared as global ids. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 111 +++++++++++++++++++++++ drivers/net/bnxt/tf_ulp/ulp_mapper.h | 11 +++ drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 2 + drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 77 ++++++++++++++++ 4 files changed, 201 insertions(+) diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index 1901845499..9cda3b355b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -3129,6 +3129,110 @@ ulp_mapper_global_identifier_process(struct bnxt_ulp_mapper_parms *parms, return rc; } +static int32_t +ulp_mapper_global_idx_tbl_process(struct bnxt_ulp_mapper_parms *parms, + struct bnxt_ulp_mapper_tbl_info *tbl) +{ + const struct ulp_mapper_core_ops *op = parms->mapper_data->mapper_oper; + struct bnxt_ulp_glb_resource_info glb_res = { 0 }; + struct ulp_flow_db_res_params fid_parms = { 0 }; + struct bnxt_ulp_mapper_key_info *kflds; + struct ulp_blob key; + uint32_t num_kflds = 0; + uint16_t tmplen = 0; + uint64_t idx = 0; + uint8_t *context; + int32_t rc = 0; + uint32_t i; + + /* check the table opcode */ + if (tbl->tbl_opcode != BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC) { + BNXT_DRV_DBG(ERR, "Invalid global idx table opcode %d", + tbl->tbl_opcode); + return -EINVAL; + } + + /* Create the key blob */ + if (unlikely(ulp_blob_init(&key, tbl->blob_key_bit_size, + BNXT_ULP_BYTE_ORDER_BE))) { + BNXT_DRV_DBG(ERR, "blob init failed."); + return -EINVAL; + } + + kflds = ulp_mapper_key_fields_get(parms, tbl, &num_kflds); + for (i = 0; i < num_kflds; i++) { + rc = ulp_mapper_field_opc_process(parms, tbl->direction, + &kflds[i].field_info_spec, + &key, 1, + "Global Idx Context"); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Key field set failed %s", + kflds[i].field_info_spec.description); + return rc; + } + } + + context = ulp_blob_data_get(&key, &tmplen); + tmplen = ULP_BITS_2_BYTE(tmplen); + + if (unlikely(!op->ulp_mapper_core_glb_idx_tbl_alloc)) { + BNXT_DRV_DBG(ERR, "global idx tbl process not supported"); + return -EINVAL; + } + + rc = op->ulp_mapper_core_glb_idx_tbl_alloc(parms->ulp_ctx, + tbl->resource_type, + tbl->direction, context, + tmplen, &idx); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "global idx tbl process failed"); + return rc; + } + + /* Add the table index to the flow db */ + memset(&fid_parms, 0, sizeof(fid_parms)); + fid_parms.direction = tbl->direction; + fid_parms.resource_func = tbl->resource_func; + fid_parms.resource_type = tbl->resource_type; + fid_parms.critical_resource = tbl->critical_resource; + fid_parms.resource_hndl = idx; + + rc = ulp_mapper_fdb_opc_process(parms, tbl, &fid_parms); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Fail to link res to flow rc = %d", rc); + goto error; + } + + rc = bnxt_ulp_cntxt_dev_id_get(parms->ulp_ctx, &glb_res.device_id); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Failed to get device id (%d)", rc); + goto error; + } + + rc = bnxt_ulp_cntxt_app_id_get(parms->ulp_ctx, &glb_res.app_id); + if (unlikely(rc)) { + BNXT_DRV_DBG(ERR, "Failed to get app id (%d)", rc); + goto error; + } + + glb_res.direction = tbl->direction; + glb_res.resource_func = tbl->resource_func; + glb_res.resource_type = tbl->resource_type; + glb_res.glb_regfile_index = tbl->tbl_operand; + /* Write the table index into the regfile*/ + if (ulp_mapper_glb_resource_write(parms->mapper_data, &glb_res, + tfp_cpu_to_be_64(idx), false)) { + BNXT_DRV_DBG(ERR, "Glb Regfile[%d] write failed.", + tbl->tbl_operand); + rc = -EINVAL; + goto error; + } + return rc; +error: + (void)op->ulp_mapper_core_glb_idx_tbl_free(parms->ulp_ctx, &fid_parms); + return rc; +} + /* Free the vnic resource */ static int32_t ulp_mapper_vnic_tbl_res_free(struct bnxt_ulp_context *ulp __rte_unused, @@ -4357,6 +4461,9 @@ ulp_mapper_tbls_process(struct bnxt_ulp_mapper_parms *parms, void *error) case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER: rc = ulp_mapper_global_identifier_process(parms, tbl); break; + case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL: + rc = ulp_mapper_global_idx_tbl_process(parms, tbl); + break; default: BNXT_DRV_DBG(ERR, "Unexpected mapper resource %d\n", tbl->resource_func); @@ -4501,6 +4608,10 @@ ulp_mapper_resource_free(struct bnxt_ulp_context *ulp, break; case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER: rc = mapper_op->ulp_mapper_core_global_ident_free(ulp, res); + break; + case BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL: + rc = mapper_op->ulp_mapper_core_glb_idx_tbl_free(ulp, res); + break; default: break; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h index a4a42ab84d..732f095f01 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h @@ -166,6 +166,17 @@ struct ulp_mapper_core_ops { (*ulp_mapper_core_global_ident_free)(struct bnxt_ulp_context *ulp_ctx, struct ulp_flow_db_res_params *r); + int32_t + (*ulp_mapper_core_glb_idx_tbl_alloc)(struct bnxt_ulp_context *ctx, + uint16_t sub_type, + uint8_t direction, + uint8_t *context_id, + uint16_t context_len, + uint64_t *idx_id); + + int32_t + (*ulp_mapper_core_glb_idx_tbl_free)(struct bnxt_ulp_context *ulp_ctx, + struct ulp_flow_db_res_params *r); uint32_t (*ulp_mapper_core_dyn_tbl_type_get)(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_tbl_info *t, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c index 72d0f96573..3960be4e48 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c @@ -1380,6 +1380,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tf_core_ops = { .ulp_mapper_core_ident_free = ulp_mapper_tf_ident_free, .ulp_mapper_core_global_ident_alloc = NULL, .ulp_mapper_core_global_ident_free = NULL, + .ulp_mapper_core_glb_idx_tbl_alloc = NULL, + .ulp_mapper_core_glb_idx_tbl_free = NULL, .ulp_mapper_core_dyn_tbl_type_get = ulp_mapper_tf_dyn_tbl_type_get, .ulp_mapper_core_index_tbl_alloc_process = ulp_mapper_tf_index_tbl_alloc_process, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index 20b1ac09fc..0f967b838d 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -1911,6 +1911,81 @@ ulp_mapper_tfc_mtr_stats_hndl_del(uint32_t mtr_id) } return rc; +} + +static int32_t +ulp_mapper_tfc_glb_idx_tbl_alloc(struct bnxt_ulp_context *ulp_ctx, + uint16_t sub_type, uint8_t direction, + uint8_t *context_id, uint16_t context_len, + uint64_t *idx_id) +{ + struct tfc *tfcp = NULL; + struct tfc_global_id_req glb_req = { 0 }; + struct tfc_global_id glb_rsp = { 0 }; + uint16_t fw_fid = 0; + int32_t rc = 0; + bool first = false; + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id"); + return -EINVAL; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + BNXT_DRV_DBG(ERR, "Failed to get tfcp pointer"); + return -EINVAL; + } + + glb_req.rtype = CFA_RTYPE_IDX_TBL; + glb_req.dir = direction; + glb_req.rsubtype = sub_type; + glb_req.context_len = context_len; + glb_req.context_id = context_id; + + rc = tfc_global_id_alloc(tfcp, fw_fid, &glb_req, &glb_rsp, &first); + if (unlikely(rc != 0)) { + BNXT_DRV_DBG(ERR, "alloc failed %d", rc); + return rc; + } + *idx_id = glb_rsp.id; + + return rc; +} + +static int32_t +ulp_mapper_tfc_glb_idx_tbl_free(struct bnxt_ulp_context *ulp_ctx, + struct ulp_flow_db_res_params *res) +{ + struct tfc_global_id_req glb_req = { 0 }; + struct tfc *tfcp = NULL; + int32_t rc = 0; + uint16_t fw_fid = 0; + + if (unlikely(bnxt_ulp_cntxt_fid_get(ulp_ctx, &fw_fid))) { + BNXT_DRV_DBG(ERR, "Failed to get func_id"); + return -EINVAL; + } + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctx); + if (unlikely(tfcp == NULL)) { + BNXT_DRV_DBG(ERR, "Failed to get tfcp pointer"); + return -EINVAL; + } + + glb_req.rtype = CFA_RTYPE_IDX_TBL; + glb_req.dir = (enum cfa_dir)res->direction; + glb_req.rsubtype = res->resource_type; + glb_req.resource_id = (uint16_t)res->resource_hndl; + + rc = tfc_global_id_free(tfcp, fw_fid, &glb_req); + if (unlikely(rc != 0)) { + BNXT_DRV_DBG(ERR, "free failed %d", rc); + return rc; + } + + return rc; +} static inline int32_t ulp_mapper_tfc_tcam_prio_update(struct bnxt_ulp_mapper_parms *parms, @@ -1963,6 +2038,8 @@ const struct ulp_mapper_core_ops ulp_mapper_tfc_core_ops = { .ulp_mapper_core_ident_free = ulp_mapper_tfc_ident_free, .ulp_mapper_core_global_ident_alloc = ulp_mapper_tfc_global_ident_alloc, .ulp_mapper_core_global_ident_free = ulp_mapper_tfc_global_ident_free, + .ulp_mapper_core_glb_idx_tbl_alloc = ulp_mapper_tfc_glb_idx_tbl_alloc, + .ulp_mapper_core_glb_idx_tbl_free = ulp_mapper_tfc_glb_idx_tbl_free, .ulp_mapper_core_dyn_tbl_type_get = ulp_mapper_tfc_dyn_tbl_type_get, .ulp_mapper_core_index_tbl_alloc_process = ulp_mapper_tfc_index_tbl_alloc_process, -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 24/54] net/bnxt/tf_core: fix build failure with flow scale option 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (22 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 23/54] net/bnxt/tf_ulp: enable support for global index table Manish Kurup @ 2025-10-09 22:10 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 25/54] net/bnxt: truflow remove redundant code for mpc init Manish Kurup ` (29 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:10 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shuanglin Wang, Kishore Padmanabha From: Shuanglin Wang <shuanglin.wang@broadcom.com> Resolved the build failure when building dpdk with the extra c flag: -DTF_FLOW_SCALE_QUERY. The issue is caused by the new debug code in DPDK 24.11. Signed-off-by: Shuanglin Wang <shuanglin.wang@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_core/tf_resources.c | 2 +- drivers/net/bnxt/tf_core/v3/tfc_resources.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/bnxt/tf_core/tf_resources.c b/drivers/net/bnxt/tf_core/tf_resources.c index b3174ba1af..3219d61cab 100644 --- a/drivers/net/bnxt/tf_core/tf_resources.c +++ b/drivers/net/bnxt/tf_core/tf_resources.c @@ -535,7 +535,7 @@ void tf_resc_usage_update_all(struct bnxt *bp) tfp = bnxt_ulp_bp_tfp_get(bp, BNXT_ULP_SESSION_TYPE_DEFAULT); if (!tfp || !tfp->session) { - BNXT_DRV_DBG(ERR, "Failed to get truflow or session pointer\n"); + BNXT_DRV_DBG(ERR, "Failed to get truflow or session pointer"); return; } diff --git a/drivers/net/bnxt/tf_core/v3/tfc_resources.c b/drivers/net/bnxt/tf_core/v3/tfc_resources.c index 5fa6d113ca..44b7a0afcb 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_resources.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_resources.c @@ -59,14 +59,16 @@ tfc_query_resc_usage(struct tfc *tfcp, enum cfa_dir dir) rc = tfo_sid_get(tfcp->tfo, &sid); if (rc) { - PMD_DRV_LOG_LINE(ERR, "Failed to retrieve SID, rc:%s\n", - strerror(-rc)); + PMD_DRV_LOG_LINE(ERR, "%s: Failed to retrieve SID, rc:%s", + __func__, strerror(-rc)); return rc; } tfc_msg_resc_usage_query(tfcp, sid, dir, &data_size, &stats_info); PMD_DRV_LOG_LINE(ERR, - "dir:%s, %d - %d %d(1-slice) - %d %d(2-slices) - %d(4-slices) - %d(unused row) - %d(used_slices)\n", - dir ? "TX" : "RX", stats_info.max_slices, + "%s: dir:%s, %d - %d %d(1-slice) - %d %d(2-slices) - %d(4-slices) - %d(unused row) - %d(used_slices)", + __func__, + dir ? "TX" : "RX", + stats_info.max_slices, stats_info.row_1_slice_p_used, stats_info.row_1_slice_f_used, stats_info.row_2_slice_p_used, @@ -86,7 +88,7 @@ void tfc_resc_usage_query_all(struct bnxt *bp) tfcp = bnxt_ulp_cntxt_tfcp_get(bp->ulp_ctx); if (!tfcp) { - BNXT_DRV_DBG(ERR, "Failed to get truflow pointer\n"); + BNXT_DRV_DBG(ERR, "Failed to get truflow pointer"); return; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 25/54] net/bnxt: truflow remove redundant code for mpc init 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (23 preceding siblings ...) 2025-10-09 22:10 ` [PATCH v2 24/54] net/bnxt/tf_core: fix build failure with flow scale option Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 26/54] net/bnxt/tf_ulp: optimize template enums Manish Kurup ` (28 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Sangtani Parag Satishbhai From: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> This patch removes redundant code from two files which is used during mpc init. The NULL condition check for mpc member in bnxt_mpc.c file is not required as mpc will always be initialized for P7 platform. The extra condition added in bnxt_ethdev.c to enable mpc for tf apps is not required as it will be always be enabled for P7 platform. Signed-off-by: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_mpc.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/net/bnxt/bnxt_mpc.c b/drivers/net/bnxt/bnxt_mpc.c index ff2f0d7043..2582b50782 100644 --- a/drivers/net/bnxt/bnxt_mpc.c +++ b/drivers/net/bnxt/bnxt_mpc.c @@ -719,20 +719,10 @@ int bnxt_mpc_send(struct bnxt *bp, bool batch) { int rc; - struct bnxt_mpc_txq *mpc_queue; + struct bnxt_mpc_txq *mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; int retry = BNXT_MPC_RX_RETRY; uint32_t pi = 0; - /* - * TODO: This condition check is added to avoid - * segmentation fault in case mpc argument is - * missing in dev-args. Fix this by removing - * mpc argument from dev args. - */ - if (!bp->mpc) - return -1; - mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; - if (out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_SHORT && out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_LONG) return -1; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 26/54] net/bnxt/tf_ulp: optimize template enums 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (24 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 25/54] net/bnxt: truflow remove redundant code for mpc init Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash Manish Kurup ` (27 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The template enums are broken into two files, the enum file contains the enumeration that is common for applications and define file that contains application specific enumerations. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- .../ulp_template_db_enum.h | 82 +------------------ 1 file changed, 3 insertions(+), 79 deletions(-) rename drivers/net/bnxt/tf_ulp/{generic_templates => }/ulp_template_db_enum.h (96%) diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h similarity index 96% rename from drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h rename to drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h index 87e24c37c2..4e7cb570b0 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -3,74 +3,10 @@ * All rights reserved. */ -#ifndef ULP_TEMPLATE_DB_H_ -#define ULP_TEMPLATE_DB_H_ +#ifndef ULP_TEMPLATE_DB_ENUM_H_ +#define ULP_TEMPLATE_DB_ENUM_H_ -#define BNXT_ULP_REGFILE_MAX_SZ 107 -#define BNXT_ULP_MAX_NUM_DEVICES 5 -#define BNXT_ULP_LOG2_MAX_NUM_DEV 2.32192809488736 -#define BNXT_ULP_GEN_TBL_MAX_SZ 62 -#define BNXT_ULP_ALLOCATOR_TBL_MAX_SZ 2 -#define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 163 -#define BNXT_ULP_ACT_MATCH_LIST_MAX_SZ 21 -#define BNXT_ULP_APP_RESOURCE_RESV_LIST_MAX_SZ 0 -#define BNXT_ULP_GLB_RESOURCE_TBL_MAX_SZ 57 -#define BNXT_ULP_APP_GLB_RESOURCE_TBL_MAX_SZ 0 -#define BNXT_ULP_RESOURCE_RESV_LIST_MAX_SZ 73 -#define BNXT_ULP_APP_CAP_TBL_MAX_SZ 3 -#define BNXT_ULP_COND_GOTO_REJECT 1023 -#define BNXT_ULP_COND_GOTO_RF 0x10000 -#define BNXT_ULP_APP_ID_CONFIG 0 -#define BNXT_ULP_GLB_FIELD_TBL_SIZE 129 -#define BNXT_ULP_GLB_SIG_TBL_SIZE 1 -#define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 8 -#define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 98 -#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 683 -#define ULP_WH_PLUS_CLASS_KEY_EXT_LIST_SIZE 0 -#define ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE 29 -#define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 657 -#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 50 -#define ULP_WH_PLUS_CLASS_COND_OPER_LIST_SIZE 0 -#define ULP_THOR_CLASS_TMPL_LIST_SIZE 8 -#define ULP_THOR_CLASS_TBL_LIST_SIZE 214 -#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 940 -#define ULP_THOR_CLASS_KEY_EXT_LIST_SIZE 778 -#define ULP_THOR_CLASS_IDENT_LIST_SIZE 67 -#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 1322 -#define ULP_THOR_CLASS_COND_LIST_SIZE 4909 -#define ULP_THOR_CLASS_COND_OPER_LIST_SIZE 15 -#define ULP_THOR2_CLASS_TMPL_LIST_SIZE 8 -#define ULP_THOR2_CLASS_TBL_LIST_SIZE 182 -#define ULP_THOR2_CLASS_KEY_INFO_LIST_SIZE 737 -#define ULP_THOR2_CLASS_KEY_EXT_LIST_SIZE 668 -#define ULP_THOR2_CLASS_IDENT_LIST_SIZE 61 -#define ULP_THOR2_CLASS_RESULT_FIELD_LIST_SIZE 1603 -#define ULP_THOR2_CLASS_COND_LIST_SIZE 4214 -#define ULP_THOR2_CLASS_COND_OPER_LIST_SIZE 14 -#define ULP_WH_PLUS_ACT_TMPL_LIST_SIZE 13 -#define ULP_WH_PLUS_ACT_TBL_LIST_SIZE 155 -#define ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE 49 -#define ULP_WH_PLUS_ACT_KEY_EXT_LIST_SIZE 0 -#define ULP_WH_PLUS_ACT_IDENT_LIST_SIZE 20 -#define ULP_WH_PLUS_ACT_RESULT_FIELD_LIST_SIZE 995 -#define ULP_WH_PLUS_ACT_COND_LIST_SIZE 134 -#define ULP_WH_PLUS_ACT_COND_OPER_LIST_SIZE 6 -#define ULP_THOR_ACT_TMPL_LIST_SIZE 13 -#define ULP_THOR_ACT_TBL_LIST_SIZE 104 -#define ULP_THOR_ACT_KEY_INFO_LIST_SIZE 83 -#define ULP_THOR_ACT_KEY_EXT_LIST_SIZE 5 -#define ULP_THOR_ACT_IDENT_LIST_SIZE 19 -#define ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE 416 -#define ULP_THOR_ACT_COND_LIST_SIZE 90 -#define ULP_THOR_ACT_COND_OPER_LIST_SIZE 0 -#define ULP_THOR2_ACT_TMPL_LIST_SIZE 13 -#define ULP_THOR2_ACT_TBL_LIST_SIZE 121 -#define ULP_THOR2_ACT_KEY_INFO_LIST_SIZE 86 -#define ULP_THOR2_ACT_KEY_EXT_LIST_SIZE 5 -#define ULP_THOR2_ACT_IDENT_LIST_SIZE 42 -#define ULP_THOR2_ACT_RESULT_FIELD_LIST_SIZE 452 -#define ULP_THOR2_ACT_COND_LIST_SIZE 96 -#define ULP_THOR2_ACT_COND_OPER_LIST_SIZE 0 +#include "ulp_template_db_defs.h" enum bnxt_ulp_act_bit { BNXT_ULP_ACT_BIT_MARK = 0x0000000000000001, @@ -2181,16 +2117,4 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_T_ECPRI_CONTEXT_MASK = 0 }; -enum bnxt_ulp_df_tpl { - BNXT_ULP_DF_TPL_DEFAULT_UPLINK_PORT = 3, - BNXT_ULP_DF_TPL_DEFAULT_VFR = 4 -}; - -enum bnxt_ulp_template_id { - BNXT_ULP_TEMPLATE_PROMISCUOUS_ENABLE = 5, - BNXT_ULP_TEMPLATE_PROMISCUOUS_DISABLE = 6, - BNXT_ULP_TEMPLATE_GROUP_MISS_ACTION = 7 -}; - #endif - -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (25 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 26/54] net/bnxt/tf_ulp: optimize template enums Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 28/54] net/bnxt/tf_ulp: support MPLS packets Manish Kurup ` (26 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Kishore Padmanabha From: Farah Smith <farah.smith@broadcom.com> Change table scope shutdown sequence in DPDK to remove the function from the scope prior to requesting the memory being freed. The firmware will delete the scope when the last fid is removed so there is no need to issue the table scope deconfig HWRM. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 24 ++++++++------------- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 20 +++++++++++------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index 60b8289805..ac805916cc 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -1284,7 +1284,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, tsid, dir, CFA_REGION_TYPE_LKUP, - true, + parms->local, &lkup_mem_cfg[dir]); if (rc) goto cleanup; @@ -1293,7 +1293,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, tsid, dir, CFA_REGION_TYPE_ACT, - true, + parms->local, &act_mem_cfg[dir]); if (rc) goto cleanup; @@ -1388,9 +1388,13 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) PMD_DRV_LOG_LINE(ERR, "tfc_vf2pf_mem_free failed"); /* continue cleanup regardless */ } - PMD_DRV_LOG_LINE(DEBUG, "tsid: %d, status %d", resp.tsid, resp.status); - if (shared) + PMD_DRV_LOG_LINE(DEBUG, "%s: tsid: %d, status %d", + __func__, resp.tsid, resp.status); + if (shared) { + /* reset scope */ + tfo_ts_set(tfcp->tfo, tsid, false, CFA_APP_TYPE_INVALID, false, 0); return rc; + } } if (shared && is_pf) { @@ -1495,11 +1499,9 @@ int tfc_tbl_scope_fid_add(struct tfc *tfcp, uint16_t fid, uint8_t tsid, int tfc_tbl_scope_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint16_t *fid_cnt) { - struct tfc_ts_mem_cfg mem_cfg; struct tfc_cpm *cpm_lkup; struct tfc_cpm *cpm_act; int rc = 0; - bool local; if (tfcp == NULL) { PMD_DRV_LOG_LINE(ERR, "Invalid tfcp pointer"); @@ -1536,15 +1538,7 @@ int tfc_tbl_scope_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, if (rc == 0 && (cpm_lkup != NULL || cpm_act != NULL)) (void)tfc_tbl_scope_cpm_free(tfcp, tsid); - /* - * Check if any table has memory configured and, if so, free it. - */ - (void)tfo_ts_get_mem_cfg(tfcp->tfo, tsid, CFA_DIR_RX, - CFA_REGION_TYPE_LKUP, &local, &mem_cfg); - - rc = tfo_ts_set(tfcp->tfo, tsid, false, CFA_APP_TYPE_INVALID, - false, 0); - + /* tbl_scope_mem_free() will reset the remaining tsid state */ return rc; } diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 385dd742d5..084a3db92d 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -320,20 +320,21 @@ ulp_tfc_tbl_scope_deinit(struct bnxt *bp) else BNXT_DRV_DBG(DEBUG, "Freed CPM TSID:%d FID: %d\n", tsid, fid); - rc = tfc_tbl_scope_mem_free(tfcp, fid, tsid); + + rc = tfc_tbl_scope_fid_rem(tfcp, fid, tsid, &fid_cnt); if (rc) - BNXT_DRV_DBG(ERR, "Failed freeing tscope mem TSID:%d FID:%d\n", + BNXT_DRV_DBG(ERR, "Failed removing FID from TSID:%d FID:%d", tsid, fid); else - BNXT_DRV_DBG(DEBUG, "Freed tscope mem TSID:%d FID:%d\n", + BNXT_DRV_DBG(DEBUG, "Removed FID from TSID:%d FID:%d", tsid, fid); - rc = tfc_tbl_scope_fid_rem(tfcp, fid, tsid, &fid_cnt); + rc = tfc_tbl_scope_mem_free(tfcp, fid, tsid); if (rc) - BNXT_DRV_DBG(ERR, "Failed removing FID from TSID:%d FID:%d\n", + BNXT_DRV_DBG(ERR, "Failed freeing tscope mem TSID:%d FID:%d", tsid, fid); else - BNXT_DRV_DBG(DEBUG, "Removed FID from TSID:%d FID:%d\n", + BNXT_DRV_DBG(DEBUG, "Freed tscope mem TSID:%d FID:%d", tsid, fid); } @@ -456,7 +457,12 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) qparms.act_pool_sz_exp[CFA_DIR_RX]; mem_parms.act_pool_sz_exp[CFA_DIR_TX] = qparms.act_pool_sz_exp[CFA_DIR_TX]; - mem_parms.local = true; + + if (shared) + mem_parms.local = false; + else + mem_parms.local = true; + rc = tfc_tbl_scope_mem_alloc(tfcp, fid, tsid, &mem_parms); if (rc) { BNXT_DRV_DBG(ERR, -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 28/54] net/bnxt/tf_ulp: support MPLS packets 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (26 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 29/54] net/bnxt/tf_core: add backing store debug to dpdk Manish Kurup ` (25 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shuanglin Wang, Kishore Padmanabha From: Shuanglin Wang <shuanglin.wang@broadcom.com> Thor supports offloading MPLS packets and performing drop, forward, or queue actions for matchied packets. Signed-off-by: Shuanglin Wang <shuanglin.wang@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c | 4 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 52 ++++ drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 5 + .../net/bnxt/tf_ulp/ulp_template_db_enum.h | 239 +++++++++++++++++- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 3 + 5 files changed, 289 insertions(+), 14 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c index 5b9caabe1d..6e1115b985 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c @@ -297,8 +297,8 @@ struct bnxt_ulp_rte_hdr_info ulp_hdr_info[] = { .proto_hdr_func = NULL }, [RTE_FLOW_ITEM_TYPE_MPLS] = { - .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED, - .proto_hdr_func = NULL + .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED, + .proto_hdr_func = ulp_rte_mpls_hdr_handler }, [RTE_FLOW_ITEM_TYPE_GRE] = { .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED, diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index bf3a3deb18..af7f8b7ab4 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -2159,6 +2159,58 @@ ulp_rte_ecpri_hdr_handler(const struct rte_flow_item *item, return BNXT_TF_RC_SUCCESS; } +/* Function to handle the parsing of RTE Flow item MPLS Header. */ +int32_t +ulp_rte_mpls_hdr_handler(const struct rte_flow_item *item, + struct ulp_rte_parser_params *params) +{ + const struct rte_flow_item_mpls *mpls_spec = item->spec; + const struct rte_flow_item_mpls *mpls_mask = item->mask; + struct ulp_rte_hdr_bitmap *hdr_bitmap = ¶ms->hdr_bitmap; + uint32_t idx = 0; + uint32_t size; + + if (unlikely(ulp_rte_prsr_fld_size_validate(params, &idx, + BNXT_ULP_PROTO_HDR_MPLS_NUM))) { + BNXT_DRV_DBG(ERR, "Error parsing protocol header"); + return BNXT_TF_RC_ERROR; + } + + if (mpls_spec && !mpls_mask) + mpls_mask = &rte_flow_item_mpls_mask; + + if (mpls_spec) { + uint8_t spec_label_tc_s[3] = {0}; + uint8_t mask_label_tc_s[3] = {0}; + /* right-shift 4 bits */ + spec_label_tc_s[0] = mpls_spec->label_tc_s[0] >> 4; + spec_label_tc_s[1] = mpls_spec->label_tc_s[0] << 4 | mpls_spec->label_tc_s[1] >> 4; + spec_label_tc_s[2] = mpls_spec->label_tc_s[1] << 4 | mpls_spec->label_tc_s[2] >> 4; + mask_label_tc_s[0] = mpls_mask->label_tc_s[0] >> 4; + mask_label_tc_s[1] = mpls_mask->label_tc_s[0] << 4 | mpls_mask->label_tc_s[1] >> 4; + mask_label_tc_s[2] = mpls_mask->label_tc_s[1] << 4 | mpls_mask->label_tc_s[2] >> 4; + + /* Process mpls label field */ + size = sizeof(((struct rte_flow_item_mpls *)NULL)->label_tc_s); + ulp_rte_prsr_fld_mask(params, &idx, size, + spec_label_tc_s, + mask_label_tc_s, + ULP_PRSR_ACT_DEFAULT); + + /* Process mpls ttl field */ + size = sizeof(((struct rte_flow_item_mpls *)NULL)->ttl); + ulp_rte_prsr_fld_mask(params, &idx, size, + ulp_deference_struct(mpls_spec, ttl), + ulp_deference_struct(mpls_mask, ttl), + ULP_PRSR_ACT_DEFAULT); + } + + /* Update the hdr_bitmap with MPLS and cf bitmap*/ + ULP_BITMAP_SET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_T_MPLS); + ULP_BITMAP_SET(params->cf_bitmap, BNXT_ULP_CF_BIT_IS_TUNNEL); + return BNXT_TF_RC_SUCCESS; +} + /* Function to handle the parsing of RTE Flow item void Header */ int32_t ulp_rte_void_hdr_handler(const struct rte_flow_item *item __rte_unused, diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h index b20cb1ccde..5f451ba404 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h @@ -164,6 +164,11 @@ int32_t ulp_rte_ecpri_hdr_handler(const struct rte_flow_item *item, struct ulp_rte_parser_params *params); +/* Function to handle the parsing of RTE Flow item MPLS Header. */ +int32_t +ulp_rte_mpls_hdr_handler(const struct rte_flow_item *item, + struct ulp_rte_parser_params *params); + /* Function to handle the parsing of RTE Flow item void Header. */ int32_t ulp_rte_void_hdr_handler(const struct rte_flow_item *item, 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 4e7cb570b0..02534d8fe8 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2024 Broadcom + * Copyright(c) 2014-2025 Broadcom * All rights reserved. */ @@ -71,7 +71,8 @@ enum bnxt_ulp_cf_bit { BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT = 0x0000000000000800, BNXT_ULP_CF_BIT_DYNAMIC_VXLAN_PORT = 0x0000000000001000, BNXT_ULP_CF_BIT_DYNAMIC_GENEVE_PORT = 0x0000000000002000, - BNXT_ULP_CF_BIT_LAST = 0x0000000000004000 + BNXT_ULP_CF_BIT_HOT_UP_SECONDARY = 0x0000000000004000, + BNXT_ULP_CF_BIT_LAST = 0x0000000000008000 }; enum bnxt_ulp_dev_ft { @@ -117,7 +118,8 @@ enum bnxt_ulp_hdr_bit { BNXT_ULP_HDR_BIT_I_L4_FLOW = 0x0000000200000000, BNXT_ULP_HDR_BIT_NON_GENERIC = 0x0000000400000000, BNXT_ULP_HDR_BIT_GENERIC = 0x0000000800000000, - BNXT_ULP_HDR_BIT_LAST = 0x0000001000000000 + BNXT_ULP_HDR_BIT_T_MPLS = 0x0000001000000000, + BNXT_ULP_HDR_BIT_LAST = 0x0000002000000000 }; enum bnxt_ulp_accept_opc { @@ -386,7 +388,8 @@ enum bnxt_ulp_enc_field { BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 = 51, BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 = 52, BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 = 53, - BNXT_ULP_ENC_FIELD_LAST = 54 + BNXT_ULP_ENC_FIELD_MPLS_LABEL = 54, + BNXT_ULP_ENC_FIELD_LAST = 55 }; enum bnxt_ulp_fdb_opc { @@ -479,7 +482,10 @@ enum bnxt_ulp_func_opc { BNXT_ULP_FUNC_OPC_COND_LIST = 26, BNXT_ULP_FUNC_OPC_PORT_TABLE = 27, BNXT_ULP_FUNC_OPC_MTR_ID_TO_STATS_HANDLE = 28, - BNXT_ULP_FUNC_OPC_LAST = 29 + BNXT_ULP_FUNC_OPC_APP_PRIORITY = 29, + BNXT_ULP_FUNC_OPC_TCAM_SET_PRIORITY = 30, + BNXT_ULP_FUNC_OPC_GET_HA_PRIORITY = 31, + BNXT_ULP_FUNC_OPC_LAST = 32 }; enum bnxt_ulp_func_src { @@ -511,7 +517,8 @@ enum bnxt_ulp_generic_tbl_opc { BNXT_ULP_GENERIC_TBL_OPC_NOT_USED = 0, BNXT_ULP_GENERIC_TBL_OPC_READ = 1, BNXT_ULP_GENERIC_TBL_OPC_WRITE = 2, - BNXT_ULP_GENERIC_TBL_OPC_LAST = 3 + BNXT_ULP_GENERIC_TBL_OPC_ITERATE = 3, + BNXT_ULP_GENERIC_TBL_OPC_LAST = 4 }; enum bnxt_ulp_glb_rf_idx { @@ -616,6 +623,18 @@ enum bnxt_ulp_glb_rf_idx { BNXT_ULP_GLB_RF_IDX_LAST = 98 }; +enum bnxt_ulp_global_identifier_tbl_opc { + BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_NOP = 0, + BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC = 1, + BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_LAST = 2 +}; + +enum bnxt_ulp_global_idx_tbl_opc { + BNXT_ULP_GLOBAL_IDX_TBL_OPC_NOP = 0, + BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC = 1, + BNXT_ULP_GLOBAL_IDX_TBL_OPC_LAST = 2 +}; + enum bnxt_ulp_global_register_tbl_opc { BNXT_ULP_GLOBAL_REGISTER_TBL_OPC_NOT_USED = 0, BNXT_ULP_GLOBAL_REGISTER_TBL_OPC_WR_REGFILE = 1, @@ -830,7 +849,13 @@ enum bnxt_ulp_rf_idx { BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_MTR = 104, BNXT_ULP_RF_IDX_SW_METER_PTR_0 = 105, BNXT_ULP_RF_IDX_METER_STATS_HNDL_0 = 106, - BNXT_ULP_RF_IDX_LAST = 107 + BNXT_ULP_RF_IDX_DYN_TUN_TYPE = 107, + BNXT_ULP_RF_IDX_DYN_UPAR_TUN = 108, + BNXT_ULP_RF_IDX_DYN_UPAR_ID = 109, + BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX = 110, + BNXT_ULP_RF_IDX_APP_PRIO = 111, + BNXT_ULP_RF_IDX_HA_PRIO = 112, + BNXT_ULP_RF_IDX_LAST = 113 }; enum bnxt_ulp_stats_cache_tbl_opc { @@ -883,7 +908,10 @@ enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_PARENT_DMAC = 0x00000001, BNXT_ULP_FEATURE_BIT_PORT_DMAC = 0x00000002, BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW = 0x00000004, - BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT = 0x00000008 + BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT = 0x00000008, + BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE = 0x00000010, + BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN = 0x00000020, + BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040 }; enum bnxt_ulp_flow_dir_bitmask { @@ -909,7 +937,9 @@ enum bnxt_ulp_resource_func { BNXT_ULP_RESOURCE_FUNC_GLOBAL_REGISTER_TABLE = 0x8a, BNXT_ULP_RESOURCE_FUNC_KEY_RECIPE_TABLE = 0x8b, BNXT_ULP_RESOURCE_FUNC_ALLOCATOR_TABLE = 0x8c, - BNXT_ULP_RESOURCE_FUNC_STATS_CACHE = 0x8d + BNXT_ULP_RESOURCE_FUNC_STATS_CACHE = 0x8d, + BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER = 0x8e, + BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL = 0x8f }; enum bnxt_ulp_resource_sub_type { @@ -951,6 +981,8 @@ enum bnxt_ulp_resource_sub_type { BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE = 28, BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE = 29, BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_METER_STATS_CACHE = 30, + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_CACHE = 31, + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_CACHE = 32, BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX = 0, BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_RSS = 0, BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_QUEUE = 1, @@ -1374,10 +1406,44 @@ enum ulp_wp_sym { ULP_WP_SYM_DECAP_FUNC_THRU_L2 = 11, ULP_WP_SYM_DECAP_FUNC_THRU_L3 = 12, ULP_WP_SYM_DECAP_FUNC_THRU_L4 = 13, + ULP_WP_SYM_DECAP_FUNC_THRU_OL2 = 0, + ULP_WP_SYM_DECAP_FUNC_THRU_OL3 = 0, + ULP_WP_SYM_DECAP_FUNC_THRU_OL4 = 0, + ULP_WP_SYM_DECAP_FUNC_THRU_OTUN = 0, ULP_WP_SYM_ECV_VALID_NO = 0, ULP_WP_SYM_ECV_VALID_YES = 1, ULP_WP_SYM_ECV_CUSTOM_EN_NO = 0, ULP_WP_SYM_ECV_CUSTOM_EN_YES = 1, + ULP_WP_SYM_ECV_CUSTOM_IPV4_CTRL_ENCREC = 0, + ULP_WP_SYM_ECV_CUSTOM_IPV4_CTRL_RSVD = 0, + ULP_WP_SYM_ECV_CUSTOM_IPV4_CTRL_INHERIT = 0, + ULP_WP_SYM_ECV_CUSTOM_IPV4_CTRL_INCREMENT = 0, + ULP_WP_SYM_ECV_SMAC_OVR_USE_SPSMAC = 0, + ULP_WP_SYM_ECV_SMAC_OVR_REUSE_IN_L2 = 0, + ULP_WP_SYM_ECV_SMAC_OVR_REUSE_TUN_L2 = 0, + ULP_WP_SYM_ECV_SMAC_OVR_USE_OUT_L2 = 0, + ULP_WP_SYM_ECV_SMAC_OVR_RFU = 0, + ULP_WP_SYM_ECV_SMAC_OVR_REUSE_IN_L2_DMAC = 0, + ULP_WP_SYM_ECV_SMAC_OVR_REUSE_TUN_L2_DMAC = 0, + ULP_WP_SYM_ECV_SMAC_OVR_REUSE_OUT_L2_DMAC = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_ENCREC_VLANS = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_IN_L2_VLANS = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_TUN_L2_VLANS = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_OUT_L2_VLANS = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_IN_VLAN_IN_L2 = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_IN_L2 = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_IN_VLAN_OUT_L2 = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_OUT_L2 = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_ENCREC_DMAC = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_IN_L2_DMAC = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_IN_TUN_DMAC = 0, + ULP_WP_SYM_ECV_VLAN_OVR_USE_OUT_L2_DMAC = 0, + ULP_WP_SYM_ECV_GRE_SET_K_INCLUDE_OPTIONAL = 0, + ULP_WP_SYM_ECV_GRE_SET_K_NONE = 0, + ULP_WP_SYM_ECV_IP_TOS_IN_HDR = 0, + ULP_WP_SYM_ECV_IP_TOS_ENCREC = 0, + ULP_WP_SYM_ECV_IP_TTL_IN_HDR = 0, + ULP_WP_SYM_ECV_IP_TTL_ENCREC = 0, ULP_WP_SYM_ECV_L2_EN_NO = 0, ULP_WP_SYM_ECV_L2_EN_YES = 1, ULP_WP_SYM_ECV_VTAG_TYPE_NOP = 0, @@ -1412,6 +1478,8 @@ enum ulp_wp_sym { ULP_WP_SYM_ECV_TUN_TYPE_NGE = 3, ULP_WP_SYM_ECV_TUN_TYPE_NVGRE = 4, ULP_WP_SYM_ECV_TUN_TYPE_GRE = 5, + ULP_WP_SYM_ECV_TUN_TYPE_GA_L4 = 0, + ULP_WP_SYM_ECV_TUN_TYPE_GA_TUN = 0, ULP_WP_SYM_EEM_ACT_REC_INT = 1, ULP_WP_SYM_EEM_EXT_FLOW_CNTR = 0, ULP_WP_SYM_UC_ACT_REC = 0, @@ -1452,6 +1520,7 @@ enum ulp_wp_sym { ULP_WP_SYM_DPORT_TUN_TYPE_ECPRI = 4, ULP_WP_SYM_DPORT_TUN_TYPE_SRV6 = 5, ULP_WP_SYM_DPORT_TUN_TYPE_VXLAN_IPV4 = 6, + ULP_WP_SYM_TUN_TYPE_DYN_UPAR = 6, ULP_WP_SYM_L3_ECPRI_HDR_SIZE = 0, ULP_WP_SYM_L3_ECPRI_HDR_OFFS = 0, ULP_WP_SYM_L3_ECPRI_PAT = 0, @@ -1470,7 +1539,31 @@ enum ulp_wp_sym { ULP_WP_SYM_T_ECPRI_ID_MASK = 0, ULP_WP_SYM_T_ECPRI_CONTEXT_SIZE = 0, ULP_WP_SYM_T_ECPRI_CONTEXT_OFFS = 0, - ULP_WP_SYM_T_ECPRI_CONTEXT_MASK = 0 + ULP_WP_SYM_T_ECPRI_CONTEXT_MASK = 0, + ULP_WP_SYM_SRV6_IP_PROTO_IPV6_ROUTE = 0, + ULP_WP_SYM_SRV6_IPV6_ENCAP = 0, + ULP_WP_SYM_SRV6_HDR_SIZE = 0, + ULP_WP_SYM_SRV6_HDR_OFFSET = 0, + ULP_WP_SYM_SRV6_V6_ENCAP = 0, + ULP_WP_SYM_SRV6_NXT_HDR_EXT_LEN = 0, + ULP_WP_SYM_SRV6_8BYTE_UNIT = 0, + ULP_WP_SYM_SRV6_8BIT_FLD = 0, + ULP_WP_SYM_SRV6_HDR_LEN_OFFSET = 0, + ULP_WP_SYM_SRV6_ID_EXTRACTION_LENGTH = 0, + ULP_WP_SYM_SRV6_ID_EXTRACTION_OFFSET = 0, + ULP_WP_SYM_SRV6_PATTERN = 0, + ULP_WP_SYM_SRV6_ID_MASK = 0, + ULP_WP_SYM_SRV6_CTXT_EXTRACTION_LENGTH = 0, + ULP_WP_SYM_SRV6_CTXT_EXTRACTION_OFFSET = 0, + ULP_WP_SYM_SRV6_CTXT_MASK = 0, + ULP_WP_SYM_GLB_ID_L2_CNTXT_ID = 0, + ULP_WP_SYM_GLB_ID_PROF_FUNC_ID = 1, + ULP_WP_SYM_GLB_ID_WC_PROFILE_ID = 2, + ULP_WP_SYM_GLB_ID_EM_PROFILE_ID = 3, + ULP_WP_SYM_GLB_APP_IDX_TBL_ID = 0, + ULP_WP_SYM_GLB_IDX_META_REC_ACT = 4, + ULP_WP_SYM_GLB_IDX_META_REC_PROF = 5, + ULP_WP_SYM_GLB_IDX_META_REC_LKUP = 6 }; enum ulp_thor_sym { @@ -1696,10 +1789,44 @@ enum ulp_thor_sym { ULP_THOR_SYM_DECAP_FUNC_THRU_L2 = 11, ULP_THOR_SYM_DECAP_FUNC_THRU_L3 = 12, ULP_THOR_SYM_DECAP_FUNC_THRU_L4 = 13, + ULP_THOR_SYM_DECAP_FUNC_THRU_OL2 = 0, + ULP_THOR_SYM_DECAP_FUNC_THRU_OL3 = 0, + ULP_THOR_SYM_DECAP_FUNC_THRU_OL4 = 0, + ULP_THOR_SYM_DECAP_FUNC_THRU_OTUN = 0, ULP_THOR_SYM_ECV_VALID_NO = 0, ULP_THOR_SYM_ECV_VALID_YES = 1, ULP_THOR_SYM_ECV_CUSTOM_EN_NO = 0, ULP_THOR_SYM_ECV_CUSTOM_EN_YES = 1, + ULP_THOR_SYM_ECV_CUSTOM_IPV4_CTRL_ENCREC = 0, + ULP_THOR_SYM_ECV_CUSTOM_IPV4_CTRL_RSVD = 0, + ULP_THOR_SYM_ECV_CUSTOM_IPV4_CTRL_INHERIT = 0, + ULP_THOR_SYM_ECV_CUSTOM_IPV4_CTRL_INCREMENT = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_USE_SPSMAC = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_REUSE_IN_L2 = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_REUSE_TUN_L2 = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_USE_OUT_L2 = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_RFU = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_REUSE_IN_L2_DMAC = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_REUSE_TUN_L2_DMAC = 0, + ULP_THOR_SYM_ECV_SMAC_OVR_REUSE_OUT_L2_DMAC = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_ENCREC_VLANS = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_IN_L2_VLANS = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_TUN_L2_VLANS = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_OUT_L2_VLANS = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_IN_VLAN_IN_L2 = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_IN_L2 = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_IN_VLAN_OUT_L2 = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_OUT_L2 = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_ENCREC_DMAC = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_IN_L2_DMAC = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_IN_TUN_DMAC = 0, + ULP_THOR_SYM_ECV_VLAN_OVR_USE_OUT_L2_DMAC = 0, + ULP_THOR_SYM_ECV_GRE_SET_K_INCLUDE_OPTIONAL = 0, + ULP_THOR_SYM_ECV_GRE_SET_K_NONE = 0, + ULP_THOR_SYM_ECV_IP_TOS_IN_HDR = 0, + ULP_THOR_SYM_ECV_IP_TOS_ENCREC = 0, + ULP_THOR_SYM_ECV_IP_TTL_IN_HDR = 0, + ULP_THOR_SYM_ECV_IP_TTL_ENCREC = 0, ULP_THOR_SYM_ECV_L2_EN_NO = 0, ULP_THOR_SYM_ECV_L2_EN_YES = 1, ULP_THOR_SYM_ECV_VTAG_TYPE_NOP = 0, @@ -1734,6 +1861,8 @@ enum ulp_thor_sym { ULP_THOR_SYM_ECV_TUN_TYPE_NGE = 3, ULP_THOR_SYM_ECV_TUN_TYPE_NVGRE = 4, ULP_THOR_SYM_ECV_TUN_TYPE_GRE = 5, + ULP_THOR_SYM_ECV_TUN_TYPE_GA_L4 = 0, + ULP_THOR_SYM_ECV_TUN_TYPE_GA_TUN = 0, ULP_THOR_SYM_EEM_ACT_REC_INT = 0, ULP_THOR_SYM_EEM_EXT_FLOW_CNTR = 0, ULP_THOR_SYM_UC_ACT_REC = 0, @@ -1774,6 +1903,7 @@ enum ulp_thor_sym { ULP_THOR_SYM_DPORT_TUN_TYPE_ECPRI = 4, ULP_THOR_SYM_DPORT_TUN_TYPE_SRV6 = 5, ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN_IPV4 = 6, + ULP_THOR_SYM_TUN_TYPE_DYN_UPAR = 0x12, ULP_THOR_SYM_L3_ECPRI_HDR_SIZE = 4, ULP_THOR_SYM_L3_ECPRI_HDR_OFFS = 0, ULP_THOR_SYM_L3_ECPRI_PAT = 0, @@ -1792,7 +1922,31 @@ enum ulp_thor_sym { ULP_THOR_SYM_T_ECPRI_ID_MASK = 0xffffffff, ULP_THOR_SYM_T_ECPRI_CONTEXT_SIZE = 32, ULP_THOR_SYM_T_ECPRI_CONTEXT_OFFS = 3, - ULP_THOR_SYM_T_ECPRI_CONTEXT_MASK = 0xffffffff + ULP_THOR_SYM_T_ECPRI_CONTEXT_MASK = 0xffffffff, + ULP_THOR_SYM_SRV6_IP_PROTO_IPV6_ROUTE = 0x2b, + ULP_THOR_SYM_SRV6_IPV6_ENCAP = 0x2900, + ULP_THOR_SYM_SRV6_HDR_SIZE = 4, + ULP_THOR_SYM_SRV6_HDR_OFFSET = 0, + ULP_THOR_SYM_SRV6_V6_ENCAP = 3, + ULP_THOR_SYM_SRV6_NXT_HDR_EXT_LEN = 0x2900, + ULP_THOR_SYM_SRV6_8BYTE_UNIT = 3, + ULP_THOR_SYM_SRV6_8BIT_FLD = 8, + ULP_THOR_SYM_SRV6_HDR_LEN_OFFSET = 1, + ULP_THOR_SYM_SRV6_ID_EXTRACTION_LENGTH = 32, + ULP_THOR_SYM_SRV6_ID_EXTRACTION_OFFSET = 3, + ULP_THOR_SYM_SRV6_PATTERN = 2, + ULP_THOR_SYM_SRV6_ID_MASK = 0xff00ffff, + ULP_THOR_SYM_SRV6_CTXT_EXTRACTION_LENGTH = 32, + ULP_THOR_SYM_SRV6_CTXT_EXTRACTION_OFFSET = 7, + ULP_THOR_SYM_SRV6_CTXT_MASK = 0xffffffff, + ULP_THOR_SYM_GLB_ID_L2_CNTXT_ID = 0, + ULP_THOR_SYM_GLB_ID_PROF_FUNC_ID = 1, + ULP_THOR_SYM_GLB_ID_WC_PROFILE_ID = 2, + ULP_THOR_SYM_GLB_ID_EM_PROFILE_ID = 3, + ULP_THOR_SYM_GLB_APP_IDX_TBL_ID = 0, + ULP_THOR_SYM_GLB_IDX_META_REC_ACT = 4, + ULP_THOR_SYM_GLB_IDX_META_REC_PROF = 5, + ULP_THOR_SYM_GLB_IDX_META_REC_LKUP = 6 }; enum ulp_thor2_sym { @@ -2018,10 +2172,44 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_DECAP_FUNC_THRU_L2 = 11, ULP_THOR2_SYM_DECAP_FUNC_THRU_L3 = 12, ULP_THOR2_SYM_DECAP_FUNC_THRU_L4 = 13, + ULP_THOR2_SYM_DECAP_FUNC_THRU_OL2 = 0x14, + ULP_THOR2_SYM_DECAP_FUNC_THRU_OL3 = 0x15, + ULP_THOR2_SYM_DECAP_FUNC_THRU_OL4 = 0x16, + ULP_THOR2_SYM_DECAP_FUNC_THRU_OTUN = 0x17, ULP_THOR2_SYM_ECV_VALID_NO = 0, ULP_THOR2_SYM_ECV_VALID_YES = 1, ULP_THOR2_SYM_ECV_CUSTOM_EN_NO = 0, ULP_THOR2_SYM_ECV_CUSTOM_EN_YES = 1, + ULP_THOR2_SYM_ECV_CUSTOM_IPV4_CTRL_ENCREC = 0, + ULP_THOR2_SYM_ECV_CUSTOM_IPV4_CTRL_RSVD = 1, + ULP_THOR2_SYM_ECV_CUSTOM_IPV4_CTRL_INHERIT = 2, + ULP_THOR2_SYM_ECV_CUSTOM_IPV4_CTRL_INCREMENT = 3, + ULP_THOR2_SYM_ECV_SMAC_OVR_USE_SPSMAC = 0, + ULP_THOR2_SYM_ECV_SMAC_OVR_REUSE_IN_L2 = 1, + ULP_THOR2_SYM_ECV_SMAC_OVR_REUSE_TUN_L2 = 2, + ULP_THOR2_SYM_ECV_SMAC_OVR_USE_OUT_L2 = 3, + ULP_THOR2_SYM_ECV_SMAC_OVR_RFU = 4, + ULP_THOR2_SYM_ECV_SMAC_OVR_REUSE_IN_L2_DMAC = 5, + ULP_THOR2_SYM_ECV_SMAC_OVR_REUSE_TUN_L2_DMAC = 6, + ULP_THOR2_SYM_ECV_SMAC_OVR_REUSE_OUT_L2_DMAC = 7, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_ENCREC_VLANS = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_IN_L2_VLANS = 1, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_TUN_L2_VLANS = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_OUT_L2_VLANS = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_IN_VLAN_IN_L2 = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_IN_L2 = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_IN_VLAN_OUT_L2 = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_OUT_VLAN_OUT_L2 = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_ENCREC_DMAC = 0, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_IN_L2_DMAC = 1, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_IN_TUN_DMAC = 2, + ULP_THOR2_SYM_ECV_VLAN_OVR_USE_OUT_L2_DMAC = 3, + ULP_THOR2_SYM_ECV_GRE_SET_K_INCLUDE_OPTIONAL = 1, + ULP_THOR2_SYM_ECV_GRE_SET_K_NONE = 1, + ULP_THOR2_SYM_ECV_IP_TOS_IN_HDR = 1, + ULP_THOR2_SYM_ECV_IP_TOS_ENCREC = 0, + ULP_THOR2_SYM_ECV_IP_TTL_IN_HDR = 1, + ULP_THOR2_SYM_ECV_IP_TTL_ENCREC = 0, ULP_THOR2_SYM_ECV_L2_EN_NO = 0, ULP_THOR2_SYM_ECV_L2_EN_YES = 1, ULP_THOR2_SYM_ECV_VTAG_TYPE_NOP = 0, @@ -2056,6 +2244,8 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_ECV_TUN_TYPE_NGE = 3, ULP_THOR2_SYM_ECV_TUN_TYPE_NVGRE = 4, ULP_THOR2_SYM_ECV_TUN_TYPE_GRE = 5, + ULP_THOR2_SYM_ECV_TUN_TYPE_GA_L4 = 6, + ULP_THOR2_SYM_ECV_TUN_TYPE_GA_TUN = 7, ULP_THOR2_SYM_EEM_ACT_REC_INT = 0, ULP_THOR2_SYM_EEM_EXT_FLOW_CNTR = 0, ULP_THOR2_SYM_UC_ACT_REC = 0, @@ -2096,6 +2286,7 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_DPORT_TUN_TYPE_ECPRI = 4, ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6 = 5, ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4 = 6, + ULP_THOR2_SYM_TUN_TYPE_DYN_UPAR = 0x12, ULP_THOR2_SYM_L3_ECPRI_HDR_SIZE = 0, ULP_THOR2_SYM_L3_ECPRI_HDR_OFFS = 0, ULP_THOR2_SYM_L3_ECPRI_PAT = 0, @@ -2114,7 +2305,31 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_T_ECPRI_ID_MASK = 0, ULP_THOR2_SYM_T_ECPRI_CONTEXT_SIZE = 0, ULP_THOR2_SYM_T_ECPRI_CONTEXT_OFFS = 0, - ULP_THOR2_SYM_T_ECPRI_CONTEXT_MASK = 0 + ULP_THOR2_SYM_T_ECPRI_CONTEXT_MASK = 0, + ULP_THOR2_SYM_SRV6_IP_PROTO_IPV6_ROUTE = 0x2b, + ULP_THOR2_SYM_SRV6_IPV6_ENCAP = 0x2900, + ULP_THOR2_SYM_SRV6_HDR_SIZE = 4, + ULP_THOR2_SYM_SRV6_HDR_OFFSET = 0, + ULP_THOR2_SYM_SRV6_V6_ENCAP = 3, + ULP_THOR2_SYM_SRV6_NXT_HDR_EXT_LEN = 0x2900, + ULP_THOR2_SYM_SRV6_8BYTE_UNIT = 3, + ULP_THOR2_SYM_SRV6_8BIT_FLD = 8, + ULP_THOR2_SYM_SRV6_HDR_LEN_OFFSET = 1, + ULP_THOR2_SYM_SRV6_ID_EXTRACTION_LENGTH = 32, + ULP_THOR2_SYM_SRV6_ID_EXTRACTION_OFFSET = 3, + ULP_THOR2_SYM_SRV6_PATTERN = 2, + ULP_THOR2_SYM_SRV6_ID_MASK = 0xff00ffff, + ULP_THOR2_SYM_SRV6_CTXT_EXTRACTION_LENGTH = 32, + ULP_THOR2_SYM_SRV6_CTXT_EXTRACTION_OFFSET = 7, + ULP_THOR2_SYM_SRV6_CTXT_MASK = 0xffffffff, + ULP_THOR2_SYM_GLB_ID_L2_CNTXT_ID = 0, + ULP_THOR2_SYM_GLB_ID_PROF_FUNC_ID = 1, + ULP_THOR2_SYM_GLB_ID_WC_PROFILE_ID = 2, + ULP_THOR2_SYM_GLB_ID_EM_PROFILE_ID = 3, + ULP_THOR2_SYM_GLB_APP_IDX_TBL_ID = 0, + ULP_THOR2_SYM_GLB_IDX_META_REC_ACT = 4, + ULP_THOR2_SYM_GLB_IDX_META_REC_PROF = 5, + ULP_THOR2_SYM_GLB_IDX_META_REC_LKUP = 6 }; #endif diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h index fbce97269b..5b3e82f336 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h @@ -34,6 +34,9 @@ #define BNXT_ULP_PROTO_HDR_GRE_NUM 2 #define BNXT_ULP_PROTO_HDR_ICMP_NUM 5 #define BNXT_ULP_PROTO_HDR_ECPRI_NUM 2 +#define BNXT_ULP_PROTO_HDR_IPV6_EXT_NUM 1 +#define BNXT_ULP_PROTO_HDR_SRV6_NUM 7 +#define BNXT_ULP_PROTO_HDR_MPLS_NUM 2 #define BNXT_ULP_PROTO_HDR_MAX 128 #define BNXT_ULP_PROTO_HDR_ENCAP_MAX 64 #define BNXT_ULP_PROTO_HDR_FIELD_SVIF_IDX 1 -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 29/54] net/bnxt/tf_core: add backing store debug to dpdk 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (27 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 28/54] net/bnxt/tf_ulp: support MPLS packets Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 30/54] net/bnxt/tf_core: truflow global table scope Manish Kurup ` (24 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Peter Spreadborough, Jay Ding, Farah Smith From: Peter Spreadborough <peter.spreadborough@broadcom.com> This change updates the existing backing store debug by adding more decode to EM entries and adding wildcard entry debug. A new cli command has also been added to exercise the function that loops through all ports and table scopes so that a single call can dump and decode all backing stores. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/tf_core/v3/meson.build | 3 +- drivers/net/bnxt/tf_core/v3/tfc_debug.h | 12 +- drivers/net/bnxt/tf_core/v3/tfc_em.h | 98 +- drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c | 1411 +++++++++++++ drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c | 565 ------ drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c | 1875 ++++++++++++++++++ drivers/net/bnxt/tf_core/v3/tfo.c | 32 + drivers/net/bnxt/tf_core/v3/tfo.h | 14 + drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h | 5 + drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c | 1 - drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 4 +- drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c | 1 - drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c | 1 - 13 files changed, 3437 insertions(+), 585 deletions(-) create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c delete mode 100644 drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c create mode 100644 drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c diff --git a/drivers/net/bnxt/tf_core/v3/meson.build b/drivers/net/bnxt/tf_core/v3/meson.build index 159e7a2b17..8d62e14274 100644 --- a/drivers/net/bnxt/tf_core/v3/meson.build +++ b/drivers/net/bnxt/tf_core/v3/meson.build @@ -21,7 +21,8 @@ sources += files( 'tfc_idx_tbl.c', 'tfc_if_tbl.c', 'tfc_init.c', - 'tfc_mpc_table.c', + 'tfc_mpc_debug.c', + 'tfc_tcam_debug.c', 'tfc_msg.c', 'tfc_priv.c', 'tfc_resources.c', diff --git a/drivers/net/bnxt/tf_core/v3/tfc_debug.h b/drivers/net/bnxt/tf_core/v3/tfc_debug.h index 0a4a0b4846..86492f3a69 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_debug.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_debug.h @@ -7,6 +7,7 @@ #define _TFC_DEBUG_H_ /* #define EM_DEBUG */ +/* #define WC_DEBUG */ /* #define ACT_DEBUG */ int tfc_mpc_table_write_zero(struct tfc *tfcp, @@ -16,13 +17,18 @@ int tfc_mpc_table_write_zero(struct tfc *tfcp, uint32_t offset, uint8_t words, uint8_t *data); - -int tfc_act_show(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir); -int tfc_em_show(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir); +const char *get_lrec_opcode_str(uint8_t opcode); +void act_show(FILE *fd, struct act_info_t *act_info, uint32_t offset); +int tfc_em_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir); +int tfc_wc_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir); int tfc_mpc_table_invalidate(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir, uint32_t type, uint32_t offset, uint32_t words); +void act_process(uint32_t act_rec_ptr, + struct act_info_t *act_info, + struct tfc_ts_mem_cfg *act_mem_cfg); +void tfc_backing_store_dump(FILE *fd); #endif diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.h b/drivers/net/bnxt/tf_core/v3/tfc_em.h index 9ad3ef9fd2..52589ea9c3 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.h @@ -61,6 +61,86 @@ enum tfc_mpc_cmd_type { #define TFC_BUCKET_ENTRIES 6 +/* MPC opaque currently unused */ +#define TFC_MPC_OPAQUE_VAL 0 + +#define TFC_MOD_STRING_LENGTH 512 +#define TFC_STAT_STRING_LENGTH 128 +#define TFC_ENC_STRING_LENGTH 256 + +struct act_compact_info_t { + bool drop; + uint8_t vlan_del_rep; + uint8_t dest_op; + uint16_t vnic_vport; + uint8_t decap_func; + uint8_t mirror; + uint16_t meter_ptr; + uint8_t stat0_ctr_type; + bool stat0_ing_egr; + uint8_t stat0_offs; + uint8_t mod_offs; + uint8_t enc_offs; + uint8_t src_offs; + char mod_str[512]; + char stat0_str[128]; + char enc_str[256]; +}; + +struct act_full_info_t { + bool drop; + uint8_t vlan_del_rep; + uint8_t dest_op; + uint16_t vnic_vport; + uint8_t decap_func; + uint16_t mirror; + uint16_t meter_ptr; + uint8_t stat0_ctr_type; + bool stat0_ing_egr; + uint32_t stat0_ptr; + uint8_t stat1_ctr_type; + bool stat1_ing_egr; + uint32_t stat1_ptr; + uint32_t mod_ptr; + uint32_t enc_ptr; + uint32_t src_ptr; + char mod_str[512]; + char stat0_str[128]; + char stat1_str[128]; + char enc_str[256]; +}; + +struct act_mcg_info_t { + uint8_t src_ko_en; + uint32_t nxt_ptr; + uint8_t act_hint0; + uint32_t act_rec_ptr0; + uint8_t act_hint1; + uint32_t act_rec_ptr1; + uint8_t act_hint2; + uint32_t act_rec_ptr2; + uint8_t act_hint3; + uint32_t act_rec_ptr3; + uint8_t act_hint4; + uint32_t act_rec_ptr4; + uint8_t act_hint5; + uint32_t act_rec_ptr5; + uint8_t act_hint6; + uint32_t act_rec_ptr6; + uint8_t act_hint7; + uint32_t act_rec_ptr7; +}; + +struct act_info_t { + bool valid; + uint8_t vector; + union { + struct act_compact_info_t compact; + struct act_full_info_t full; + struct act_mcg_info_t mcg; + }; +}; + struct em_info_t { bool valid; uint8_t rec_size; @@ -69,12 +149,9 @@ struct em_info_t { uint8_t opcode; uint8_t strength; uint8_t act_hint; - - uint32_t act_rec_ptr; /* Not FAST */ - - uint32_t destination; /* Just FAST */ - - uint8_t tcp_direction; /* Just CT */ + uint32_t act_rec_ptr; /* Not FAST */ + uint32_t destination; /* Just FAST */ + uint8_t tcp_direction; /* Just CT */ uint8_t tcp_update_en; uint8_t tcp_win; uint32_t tcp_msb_loc; @@ -82,23 +159,20 @@ struct em_info_t { uint8_t tcp_msb_opp_init; uint8_t state; uint8_t timer_value; - - uint16_t ring_table_idx; /* Not CT and not RECYCLE */ + uint16_t ring_table_idx; /* Not CT and not RECYCLE */ uint8_t act_rec_size; uint8_t paths_m1; uint8_t fc_op; uint8_t fc_type; uint32_t fc_ptr; - - uint8_t recycle_dest; /* Just Recycle */ + uint8_t recycle_dest; /* Just Recycle */ uint8_t prof_func; uint8_t meta_prof; uint32_t metadata; - uint8_t range_profile; uint16_t range_index; - uint8_t *key; + struct act_info_t act_info; }; struct sb_entry_t { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c b/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c new file mode 100644 index 0000000000..f0512c41cc --- /dev/null +++ b/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c @@ -0,0 +1,1411 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2019-2021 Broadcom + * All rights reserved. + */ +#include <stdio.h> +#include <inttypes.h> +#include <math.h> +#include <string.h> + +#include "bnxt.h" +#include "bnxt_mpc.h" + +#include "tfc.h" +#include "cfa_bld_mpc_field_ids.h" +#include "cfa_bld_mpcops.h" +#include "tfo.h" +#include "tfc_em.h" +#include "tfc_cpm.h" +#include "tfc_msg.h" +#include "tfc_debug.h" +#include "cfa_types.h" +#include "cfa_mm.h" +#include "sys_util.h" +#include "cfa_bld.h" +#include "tfc_util.h" + +int tfc_mpc_table_read(struct tfc *tfcp, + uint8_t tsid, + enum cfa_dir dir, + uint32_t type, + uint32_t offset, + uint8_t words, + uint8_t *data, + uint8_t debug) +{ + int rc = 0; + uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; + uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; + uint16_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + int i; + uint32_t buff_len; + struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_READ_CMD_MAX_FLD]; + struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_READ_CMP_MAX_FLD]; + struct bnxt_mpc_mbuf mpc_msg_in; + struct bnxt_mpc_mbuf mpc_msg_out; + bool is_shared; + struct cfa_bld_mpcinfo *mpc_info; + uint64_t host_address; + uint8_t discard_data[128]; + uint32_t set; + uint32_t way; + bool valid; + + tfo_mpcinfo_get(tfcp->tfo, &mpc_info); + + rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + if (rc != 0) { + PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); + return -EINVAL; + } + if (!valid) { + PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); + return -EINVAL; + } + + /* Check that data pointer is word aligned */ + if (((uint64_t)data) & 0x1fULL) { + PMD_DRV_LOG_LINE(ERR, "Table read data pointer not word aligned"); + return -EINVAL; + } + + host_address = (uint64_t)rte_mem_virt2iova(data); + + /* Check that MPC APIs are bound */ + if (mpc_info->mpcops == NULL) { + PMD_DRV_LOG_LINE(ERR, "MPC not initialized"); + return -EINVAL; + } + + set = offset & 0x7ff; + way = (offset >> 12) & 0xf; + + if (debug) + PMD_DRV_LOG_LINE(ERR, + "Debug read table type:%s %d words32B at way:%d set:%d debug:%d words32B", + (type == 0 ? "Lookup" : "Action"), + words, way, set, debug); + else + PMD_DRV_LOG_LINE(ERR, + "Reading table type:%s %d words32B at offset %d words32B", + (type == 0 ? "Lookup" : "Action"), + words, offset); + + /* Create MPC EM insert command using builder */ + for (i = 0; i < CFA_BLD_MPC_READ_CMD_MAX_FLD; i++) + fields_cmd[i].field_id = INVALID_U16; + + fields_cmd[CFA_BLD_MPC_READ_CMD_OPAQUE_FLD].field_id = + CFA_BLD_MPC_READ_CMD_OPAQUE_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_OPAQUE_FLD].val = 0xAA; + + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD].field_id = + CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD].val = (type == 0 ? + CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); + + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD].field_id = + CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD].val = + (debug ? way : tsid); + + fields_cmd[CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD].field_id = + CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD].val = words; + + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD].field_id = + CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD].val = + (debug ? set : offset); + + fields_cmd[CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD].field_id = + CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD].val = host_address; + + if (debug) { + fields_cmd[CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD].field_id = + CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD; + fields_cmd[CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD].val = debug; /* Debug read */ + } + + buff_len = TFC_MPC_MAX_TX_BYTES; + + rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_read(tx_msg, + &buff_len, + fields_cmd); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "Action read build failed: %d", rc); + goto cleanup; + } + + /* Send MPC */ + mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); + mpc_msg_in.msg_data = &tx_msg[16]; + mpc_msg_in.msg_size = 16; + mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; + mpc_msg_out.msg_data = &rx_msg[16]; + mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; + + rc = tfc_mpc_send(tfcp->bp, + &mpc_msg_in, + &mpc_msg_out, + &msg_count, + TFC_MPC_TABLE_READ, + NULL); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "Table read MPC send failed: %d", rc); + goto cleanup; + } + + /* Process response */ + for (i = 0; i < CFA_BLD_MPC_READ_CMP_MAX_FLD; i++) + fields_cmp[i].field_id = INVALID_U16; + + fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].field_id = + CFA_BLD_MPC_READ_CMP_STATUS_FLD; + + rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_read(rx_msg, + mpc_msg_out.msg_size, + discard_data, + words * TFC_MPC_BYTES_PER_WORD, + fields_cmp); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "Table read parse failed: %d", rc); + goto cleanup; + } + + if (fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { + PMD_DRV_LOG_LINE(ERR, "Table read failed with status code:%d", + (uint32_t)fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].val); + rc = -1; + goto cleanup; + } + + return 0; + + cleanup: + + return rc; +} + +int tfc_mpc_table_write_zero(struct tfc *tfcp, + uint8_t tsid, + enum cfa_dir dir, + uint32_t type, + uint32_t offset, + uint8_t words, + uint8_t *data) +{ + int rc = 0; + uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; + uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; + uint16_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + int i; + uint32_t buff_len; + struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_WRITE_CMD_MAX_FLD]; + struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_WRITE_CMP_MAX_FLD]; + struct bnxt_mpc_mbuf mpc_msg_in; + struct bnxt_mpc_mbuf mpc_msg_out; + struct cfa_bld_mpcinfo *mpc_info; + bool is_shared; + bool valid; + + tfo_mpcinfo_get(tfcp->tfo, &mpc_info); + + rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + if (rc != 0) { + PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); + return -EINVAL; + } + if (!valid) { + PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); + return -EINVAL; + } + /* Check that MPC APIs are bound */ + if (mpc_info->mpcops == NULL) { + PMD_DRV_LOG_LINE(ERR, " MPC not initialized"); + return -EINVAL; + } + + /* Create MPC EM insert command using builder */ + for (i = 0; i < CFA_BLD_MPC_WRITE_CMD_MAX_FLD; i++) + fields_cmd[i].field_id = INVALID_U16; + + fields_cmd[CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD].field_id = + CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD; + fields_cmd[CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD].val = 0xAA; + + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD].field_id = + CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD; + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD].val = (type == 0 ? + CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); + + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD].field_id = + CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD; + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD].val = tsid; + + fields_cmd[CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD].field_id = + CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD; + fields_cmd[CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD].val = words; + + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD].field_id = + CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD; + fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD].val = offset; + + buff_len = TFC_MPC_MAX_TX_BYTES; + + rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_write(tx_msg, + &buff_len, + data, + fields_cmd); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "write build failed: %d", rc); + goto cleanup; + } + + /* Send MPC */ + mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); + mpc_msg_in.msg_data = &tx_msg[16]; + mpc_msg_in.msg_size = (words * TFC_MPC_BYTES_PER_WORD) + 16; + mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; + mpc_msg_out.msg_data = &rx_msg[16]; + mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; + + rc = tfc_mpc_send(tfcp->bp, + &mpc_msg_in, + &mpc_msg_out, + &msg_count, + TFC_MPC_TABLE_WRITE, + NULL); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "write MPC send failed: %d", rc); + goto cleanup; + } + + /* Process response */ + for (i = 0; i < CFA_BLD_MPC_WRITE_CMP_MAX_FLD; i++) + fields_cmp[i].field_id = INVALID_U16; + + fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].field_id = + CFA_BLD_MPC_WRITE_CMP_STATUS_FLD; + + rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_write(rx_msg, + mpc_msg_out.msg_size, + fields_cmp); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "write parse failed: %d", rc); + goto cleanup; + } + + if (fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { + PMD_DRV_LOG_LINE(ERR, "Action write failed with status code:%d", + (uint32_t)fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].val); + PMD_DRV_LOG_LINE(ERR, "Hash MSB:0x%0x", + (uint32_t)fields_cmp[CFA_BLD_MPC_WRITE_CMP_HASH_MSB_FLD].val); + goto cleanup; + } + + return 0; + + cleanup: + + return rc; +} + +int tfc_mpc_table_invalidate(struct tfc *tfcp, + uint8_t tsid, + enum cfa_dir dir, + uint32_t type, + uint32_t offset, + uint32_t words) +{ + int rc = 0; + uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; + uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; + uint16_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + int i; + uint32_t buff_len; + struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_MAX_FLD]; + struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_MAX_FLD]; + struct bnxt_mpc_mbuf mpc_msg_in; + struct bnxt_mpc_mbuf mpc_msg_out; + struct cfa_bld_mpcinfo *mpc_info; + bool is_shared; + bool valid; + + tfo_mpcinfo_get(tfcp->tfo, &mpc_info); + + rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + if (rc != 0) { + PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); + return -EINVAL; + } + if (!valid) { + PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); + return -EINVAL; + } + /* Check that MPC APIs are bound */ + if (mpc_info->mpcops == NULL) { + PMD_DRV_LOG_LINE(ERR, " MPC not initialized"); + return -EINVAL; + } + + /* Create MPC EM insert command using builder */ + for (i = 0; i < CFA_BLD_MPC_INVALIDATE_CMD_MAX_FLD; i++) + fields_cmd[i].field_id = INVALID_U16; + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD].val = 0xAA; + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD].val = (type == 0 ? + CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD].val = tsid; + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD].val = words; + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD].val = offset; + + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD; + fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD].val = + CFA_BLD_MPC_EV_EVICT_SCOPE_ADDRESS; + + buff_len = TFC_MPC_MAX_TX_BYTES; + + rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_evict(tx_msg, + &buff_len, + fields_cmd); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "evict build failed: %d", rc); + goto cleanup; + } + + /* Send MPC */ + mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : + HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); + mpc_msg_in.msg_data = &tx_msg[16]; + mpc_msg_in.msg_size = 16; + mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; + mpc_msg_out.msg_data = &rx_msg[16]; + mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; + + rc = tfc_mpc_send(tfcp->bp, + &mpc_msg_in, + &mpc_msg_out, + &msg_count, + TFC_MPC_INVALIDATE, + NULL); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "write MPC send failed: %d", rc); + goto cleanup; + } + + /* Process response */ + for (i = 0; i < CFA_BLD_MPC_INVALIDATE_CMP_MAX_FLD; i++) + fields_cmp[i].field_id = INVALID_U16; + + fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].field_id = + CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD; + + rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_evict(rx_msg, + mpc_msg_out.msg_size, + fields_cmp); + + if (rc) { + PMD_DRV_LOG_LINE(ERR, "evict parse failed: %d", rc); + goto cleanup; + } + + if (fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { + PMD_DRV_LOG_LINE(ERR, "evict failed with status code:%d", + (uint32_t)fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].val); + PMD_DRV_LOG_LINE(ERR, "Hash MSB:0x%0x", + (uint32_t)fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_HASH_MSB_FLD].val); + goto cleanup; + } + + return 0; + + cleanup: + + return rc; +} + +#define TFC_ACTION_SIZE_BYTES 32 +#define TFC_BUCKET_SIZE_BYTES 32 + +#define TFC_STRING_LENGTH_32 32 +#define TFC_STRING_LENGTH_64 64 +#define TFC_STRING_LENGTH_96 96 +#define TFC_STRING_LENGTH_256 256 + +static const char * const opcode_string[] = { + "NORMAL", + "NORMAL_RFS", + "FAST", + "FAST_RFS", + "CT_MISS_DEF", + "INVALID", + "CT_HIT_DEF", + "INVALID", + "RECYCLE" +}; + +static void act_decode(uint32_t *act_ptr, + uint64_t base, + struct act_info_t *act_info); +static void stat_decode(char *str, + uint8_t stat_num, + uint8_t stat1_ctr_type, + uint32_t *stat_ptr); + +const char *get_lrec_opcode_str(uint8_t opcode) +{ + return opcode_string[opcode]; +} + +static uint64_t get_address(struct tfc_ts_mem_cfg *mem, uint32_t offset) +{ + uint32_t page = offset / mem->pg_tbl[0].pg_size; + uint32_t adj_offset = offset % mem->pg_tbl[0].pg_size; + int level = 0; + uint64_t addr; + + /* + * Use the level according to the num_level of page table + */ + level = mem->num_lvl - 1; + + addr = (uint64_t)mem->pg_tbl[level].pg_va_tbl[page] + adj_offset; + + return addr; +} + +void act_process(uint32_t act_rec_ptr, + struct act_info_t *act_info, + struct tfc_ts_mem_cfg *act_mem_cfg) +{ + uint8_t *act_ptr; + uint64_t base; + uint32_t act_offset = act_rec_ptr << 5; + + base = get_address(act_mem_cfg, 0); + act_ptr = (uint8_t *)get_address(act_mem_cfg, act_offset); + act_decode((uint32_t *)act_ptr, base, act_info); +} + +static void em_decode(uint32_t *em_ptr, + struct em_info_t *em_info, + struct tfc_ts_mem_cfg *act_mem_cfg) +{ + em_info->key = (uint8_t *)em_ptr; + + em_ptr += (128 / 8) / 4; /* For EM records the LREC follows 128 bits of key */ + em_info->valid = tfc_getbits(em_ptr, 127, 1); + em_info->rec_size = tfc_getbits(em_ptr, 125, 2); + em_info->epoch0 = tfc_getbits(em_ptr, 113, 12); + em_info->epoch1 = tfc_getbits(em_ptr, 107, 6); + em_info->opcode = tfc_getbits(em_ptr, 103, 4); + em_info->strength = tfc_getbits(em_ptr, 101, 2); + em_info->act_hint = tfc_getbits(em_ptr, 99, 2); + + if (em_info->opcode != 2 && em_info->opcode != 3) { + /* All but FAST */ + em_info->act_rec_ptr = tfc_getbits(em_ptr, 73, 26); + act_process(em_info->act_rec_ptr, &em_info->act_info, act_mem_cfg); + } else { + /* Just FAST */ + em_info->destination = tfc_getbits(em_ptr, 73, 17); + } + + if (em_info->opcode == 4 || em_info->opcode == 6) { + /* CT only */ + em_info->tcp_direction = tfc_getbits(em_ptr, 72, 1); + em_info->tcp_update_en = tfc_getbits(em_ptr, 71, 1); + em_info->tcp_win = tfc_getbits(em_ptr, 66, 5); + em_info->tcp_msb_loc = tfc_getbits(em_ptr, 48, 18); + em_info->tcp_msb_opp = tfc_getbits(em_ptr, 30, 18); + em_info->tcp_msb_opp_init = tfc_getbits(em_ptr, 29, 1); + em_info->state = tfc_getbits(em_ptr, 24, 5); + em_info->timer_value = tfc_getbits(em_ptr, 20, 4); + } else if (em_info->opcode != 8) { + /* Not CT and nor RECYCLE */ + em_info->ring_table_idx = tfc_getbits(em_ptr, 64, 9); + em_info->act_rec_size = tfc_getbits(em_ptr, 59, 5); + em_info->paths_m1 = tfc_getbits(em_ptr, 55, 4); + em_info->fc_op = tfc_getbits(em_ptr, 54, 1); + em_info->fc_type = tfc_getbits(em_ptr, 52, 2); + em_info->fc_ptr = tfc_getbits(em_ptr, 24, 28); + } else { + em_info->recycle_dest = tfc_getbits(em_ptr, 72, 1); /* Just Recycle */ + em_info->prof_func = tfc_getbits(em_ptr, 64, 8); + em_info->meta_prof = tfc_getbits(em_ptr, 61, 3); + em_info->metadata = tfc_getbits(em_ptr, 29, 32); + } + + em_info->range_profile = tfc_getbits(em_ptr, 16, 4); + em_info->range_index = tfc_getbits(em_ptr, 0, 16); +} + +static void em_show(FILE *fd, struct em_info_t *em_info) +{ + int i; + char *line1 = NULL; + char *line2 = NULL; + char *line3 = NULL; + char *line4 = NULL; + char tmp1[TFC_STRING_LENGTH_64]; + char tmp2[TFC_STRING_LENGTH_64]; + char tmp3[TFC_STRING_LENGTH_64]; + char tmp4[TFC_STRING_LENGTH_64]; + + line1 = rte_zmalloc("data", TFC_STRING_LENGTH_256, 8); + line2 = rte_zmalloc("data", TFC_STRING_LENGTH_256, 8); + line3 = rte_zmalloc("data", TFC_STRING_LENGTH_256, 8); + line4 = rte_zmalloc("data", TFC_STRING_LENGTH_256, 8); + if (!line1 || !line2 || !line3 || !line4) { + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + fprintf(fd, "%s: Failed to allocate temp buffer\n", + __func__); + return; + } + + fprintf(fd, ":LREC: opcode:%s\n", get_lrec_opcode_str(em_info->opcode)); + + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+-Epoch-+--+--+--+"); + snprintf(line2, TFC_STRING_LENGTH_256, " V|rs| 0 1 |Op|St|ah|"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+----+--+--+--+--+"); + snprintf(line4, TFC_STRING_LENGTH_256, " %1d %2d %4d %2d %2d %2d %2d ", + em_info->valid, + em_info->rec_size, + em_info->epoch0, + em_info->epoch1, + em_info->opcode, + em_info->strength, + em_info->act_hint); + + if (em_info->opcode != 2 && em_info->opcode != 3) { + /* All but FAST */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "-Act Rec--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, " Ptr |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "----------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x%08x ", + em_info->act_rec_ptr); + } else { + /* Just FAST */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "-------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, " Dest |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x05%x ", + em_info->destination); + } + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + if (em_info->opcode == 4 || em_info->opcode == 6) { + /* CT only */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+-------------TCP-------+--+---+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "Dr|ue| Win| lc | op |oi|st|tmr|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+----+-------+-------+--+--+---+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d %2d %4d %0x5x %0x5x %2d %2d %3d ", + em_info->tcp_direction, + em_info->tcp_update_en, + em_info->tcp_win, + em_info->tcp_msb_loc, + em_info->tcp_msb_opp, + em_info->tcp_msb_opp_init, + em_info->state, + em_info->timer_value); + } else if (em_info->opcode != 8) { + /* Not CT and nor RECYCLE */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+--+-------FC-------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "RI|as|pm|op|tp| Ptr |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+--+--+--+----------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d %2d %2d %2d %2d 0x%08x ", + em_info->ring_table_idx, + em_info->act_rec_size, + em_info->paths_m1, + em_info->fc_op, + em_info->fc_type, + em_info->fc_ptr); + } else { + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+--+---------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "RD|pf|mp| cMData |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+--+---------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d 0x%2x %2d %08x ", + em_info->recycle_dest, + em_info->prof_func, + em_info->meta_prof, + em_info->metadata); + } + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + snprintf(tmp1, TFC_STRING_LENGTH_64, "-----Range-+\n"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "Prof| Idx |\n"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "----+------+\n"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x%02x 0x%04x\n", + em_info->range_profile, + em_info->range_index); + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + fprintf(fd, "%s%s%s%s", + line1, + line2, + line3, + line4); + + fputs("Key:", fd); + for (i = 0; i < ((em_info->rec_size + 1) * 32); i++) { + if (i % 32 == 0) + fprintf(fd, "\n%04d: ", i); + fprintf(fd, "%02x", em_info->key[i]); + } + i = ((em_info->rec_size + 1) * 32); + fprintf(fd, "\nKey Reversed:\n%04d: ", i - 32); + do { + i--; + fprintf(fd, "%02x", em_info->key[i]); + if (i != 0 && i % 32 == 0) + fprintf(fd, "\n%04d: ", i - 32); + } while (i > 0); + fputs("\n", fd); + + if (em_info->opcode != 2 && em_info->opcode != 3) + act_show(fd, &em_info->act_info, em_info->act_rec_ptr << 5); + + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); +} + +struct mod_field_s { + uint8_t num_bits; + const char *name; +}; + +struct mod_data_s { + uint8_t num_fields; + const char *name; + struct mod_field_s field[4]; +}; + +struct mod_data_s mod_data[] = { + {1, "Replace", {{16, "DPort"}}}, + {1, "Replace", {{16, "SPort"}}}, + {1, "Replace", {{32, "IPv4 DIP"}}}, + {1, "Replace", {{32, "IPv4 SIP"}}}, + {1, "Replace", {{128, "IPv6 DIP"}}}, + {1, "Replace", {{128, "IPv6 SIP"}}}, + {1, "Replace", {{48, "SMAC"}}}, + {1, "Replace", {{48, "DMAC"}}}, + {2, "Update Field", {{16, "uf_vec"}, {32, "uf_data"}}}, + {3, "Tunnel Modify", {{16, "tun_mv"}, {16, "tun_ex_prot"}, {16, "tun_new_prot"}}}, + {4, "TTL Update", {{5, "alt_pfid"}, {12, "alt_vid"}, {10, "rsvd"}, {5, "ttl_op"}}}, + {4, "Replace/Add Outer VLAN", {{16, "tpid"}, {3, "pri"}, {1, "de"}, {12, "vid"}}}, + {4, "Replace/Add Inner", {{16, "tpid"}, {3, "pri"}, {1, "de"}, {12, "vid"}}}, + {0, "Remove outer VLAN", {{0, NULL}}}, + {0, "Remove inner VLAN", {{0, NULL}}}, + {4, "Metadata Update", {{2, "md_op"}, {4, "md_prof"}, {10, "rsvd"}, {32, "md_data"}}}, +}; + +static void mod_decode(uint32_t *data, char *mod_str) +{ + int i; + int j; + int k; + uint16_t mod_vector; + int32_t row_offset = 64; + int32_t read_offset; + int32_t row = 0; + uint32_t val[8]; + char str[256]; + int16_t vect; + uint16_t bit = 0x8000; + + row_offset -= 16; + read_offset = row_offset; + mod_vector = tfc_getbits(data, read_offset, 16); + snprintf(mod_str, + TFC_MOD_STRING_LENGTH, + "\nModify Record: Vector:0x%08x\n", mod_vector); + + for (vect = 15; vect >= 0; vect--) { + if (mod_vector & bit) { + snprintf(str, TFC_STRING_LENGTH_256, "%s: ", mod_data[vect].name); + strcat(mod_str, str); + + for (i = 0; i < mod_data[vect].num_fields; i++) { + row_offset -= mod_data[vect].field[i].num_bits; + if (row_offset < 0) { + row++; + row_offset = 64 + row_offset; + } + read_offset = row_offset + (row * 64); + + for (j = 0; j < mod_data[vect].field[i].num_bits / 32; j++) { + val[j] = tfc_getbits(data, read_offset, 32); + read_offset -= 32; + } + + if (mod_data[vect].field[i].num_bits % 32) { + val[j] = tfc_getbits(data, + read_offset, + (mod_data[vect].field[i].num_bits % 32)); + j++; + } + + snprintf(str, + TFC_STRING_LENGTH_256, + "%s:0x", + mod_data[vect].field[i].name); + strcat(mod_str, str); + + switch (mod_data[vect].field[i].num_bits) { + case 128: + for (k = 0; k < 8; k++) { + snprintf(str, + TFC_STRING_LENGTH_256, + "%08x", + val[k]); + strcat(mod_str, str); + } + break; + case 48: + snprintf(str, TFC_STRING_LENGTH_256, "%08x", val[0]); + strcat(mod_str, str); + snprintf(str, + TFC_STRING_LENGTH_256, + "%04x", + (val[1] & 0xffff)); + strcat(mod_str, str); + break; + case 32: + snprintf(str, TFC_STRING_LENGTH_256, "%08x ", val[0]); + strcat(mod_str, str); + break; + case 16: + snprintf(str, TFC_STRING_LENGTH_256, "%04x ", val[0]); + strcat(mod_str, str); + break; + default: + snprintf(str, TFC_STRING_LENGTH_256, "%04x ", + (val[0] & + ((1 << mod_data[vect].field[i].num_bits) - 1))); + strcat(mod_str, str); + break; + } + } + + snprintf(str, TFC_STRING_LENGTH_256, "\n"); + strcat(mod_str, str); + } + + bit = bit >> 1; + } + + snprintf(str, TFC_STRING_LENGTH_256, "\n"); + strcat(mod_str, str); +} + +static void enc_decode(uint32_t *data, char *enc_str) +{ + uint16_t vector; + char str[64]; + uint32_t val[16]; + uint32_t offset = 0; + uint8_t vtag; + uint8_t l2; + uint8_t l3; + uint8_t l4; + uint8_t tunnel; + + vector = tfc_getbits(data, offset, 16); + offset += 16; + + vtag = ((vector >> 2) & 0xf); + l2 = ((vector >> 6) & 0x1); + l3 = ((vector >> 7) & 0x7); + l4 = ((vector >> 10) & 0x7); + tunnel = ((vector >> 13) & 0x7); + + snprintf(enc_str, + TFC_ENC_STRING_LENGTH, + "Encap Record: vector:0x%04x\n", vector); + + snprintf(str, TFC_STRING_LENGTH_64, + "Valid:%d EC:%d VTAG:0x%01x L2:%d L3:0x%01x L4:0x%01x Tunnel:0x%01x\n", + (vector & 0x1), + ((vector >> 1) & 0x1), + vtag, + l2, + l3, + l4, + tunnel); + + strcat(enc_str, str); + + if (l2) { /* L2 */ + snprintf(str, TFC_STRING_LENGTH_64, "L2:\n"); + strcat(enc_str, str); + + val[0] = tfc_getbits(data, offset, 32); + offset += 32; + val[1] = tfc_getbits(data, offset, 16); + offset += 16; + + snprintf(str, TFC_STRING_LENGTH_64, "DMAC:0x%08x%04x\n", val[0], val[1]); + strcat(enc_str, str); + } + + if (l3) { /* L3 */ + snprintf(str, TFC_STRING_LENGTH_64, "L3:\n"); + strcat(enc_str, str); + } + + if (l4) { /* L4 */ + snprintf(str, TFC_STRING_LENGTH_64, "L4:\n"); + strcat(enc_str, str); + } + + if (tunnel) { /* Tunnel */ + snprintf(str, TFC_STRING_LENGTH_64, "Tunnel:\n"); + strcat(enc_str, str); + } +} + +static void act_decode(uint32_t *act_ptr, + uint64_t base, + struct act_info_t *act_info) +{ + if (!act_ptr || !act_info) { + PMD_DRV_LOG_LINE(ERR, "act_ptr %p, act_info %p", act_ptr, act_info); + return; + } + + act_info->valid = false; + act_info->vector = tfc_getbits(act_ptr, 0, 3); + + if (act_info->vector == 0 || + act_info->vector == 1 || + act_info->vector == 4) + act_info->valid = true; + + switch (act_info->vector) { + case 0: + act_info->compact.drop = tfc_getbits(act_ptr, 3, 1); + act_info->compact.vlan_del_rep = tfc_getbits(act_ptr, 4, 2); + act_info->compact.vnic_vport = tfc_getbits(act_ptr, 6, 11); + act_info->compact.dest_op = tfc_getbits(act_ptr, 17, 2); + act_info->compact.decap_func = tfc_getbits(act_ptr, 19, 5); + act_info->compact.mirror = tfc_getbits(act_ptr, 24, 5); + act_info->compact.meter_ptr = tfc_getbits(act_ptr, 29, 10); + act_info->compact.stat0_offs = tfc_getbits(act_ptr, 39, 3); + act_info->compact.stat0_ing_egr = tfc_getbits(act_ptr, 42, 1); + act_info->compact.stat0_ctr_type = tfc_getbits(act_ptr, 43, 2); + act_info->compact.mod_offs = tfc_getbits(act_ptr, 45, 5); + act_info->compact.enc_offs = tfc_getbits(act_ptr, 50, 6); + act_info->compact.src_offs = tfc_getbits(act_ptr, 56, 4); + + if (act_info->compact.mod_offs) { + mod_decode((uint32_t *)(act_ptr + (act_info->compact.mod_offs << 3)), + act_info->compact.mod_str); + } + if (act_info->compact.stat0_offs) + stat_decode(act_info->compact.stat0_str, + 0, + act_info->compact.stat0_ctr_type, + (uint32_t *)(act_ptr + (act_info->compact.stat0_offs << 3))); + if (act_info->compact.enc_offs) + enc_decode((uint32_t *)(act_ptr + (act_info->compact.enc_offs << 3)), + act_info->compact.enc_str); + break; + case 1: + act_info->full.drop = tfc_getbits(act_ptr, 3, 1); + act_info->full.vlan_del_rep = tfc_getbits(act_ptr, 4, 2); + act_info->full.vnic_vport = tfc_getbits(act_ptr, 6, 11); + act_info->full.dest_op = tfc_getbits(act_ptr, 17, 2); + act_info->full.decap_func = tfc_getbits(act_ptr, 19, 5); + act_info->full.mirror = tfc_getbits(act_ptr, 24, 5); + act_info->full.meter_ptr = tfc_getbits(act_ptr, 29, 10); + act_info->full.stat0_ptr = tfc_getbits(act_ptr, 39, 28); + act_info->full.stat0_ing_egr = tfc_getbits(act_ptr, 67, 1); + act_info->full.stat0_ctr_type = tfc_getbits(act_ptr, 68, 2); + act_info->full.stat1_ptr = tfc_getbits(act_ptr, 70, 28); + act_info->full.stat1_ing_egr = tfc_getbits(act_ptr, 98, 1); + act_info->full.stat1_ctr_type = tfc_getbits(act_ptr, 99, 2); + act_info->full.mod_ptr = tfc_getbits(act_ptr, 101, 28); + act_info->full.enc_ptr = tfc_getbits(act_ptr, 129, 28); + act_info->full.src_ptr = tfc_getbits(act_ptr, 157, 28); + + if (act_info->full.mod_ptr) + mod_decode((uint32_t *)(base + (act_info->full.mod_ptr << 3)), + act_info->full.mod_str); + if (act_info->full.stat0_ptr) + stat_decode(act_info->full.stat0_str, + 0, + act_info->full.stat0_ctr_type, + (uint32_t *)(base + (act_info->full.stat0_ptr << 3))); + if (act_info->full.stat1_ptr) + stat_decode(act_info->full.stat1_str, + 1, + act_info->full.stat1_ctr_type, + (uint32_t *)(base + (act_info->full.stat1_ptr << 3))); + if (act_info->full.enc_ptr) + enc_decode((uint32_t *)(base + (act_info->full.enc_ptr << 3)), + act_info->full.enc_str); + break; + case 4: + act_info->mcg.nxt_ptr = tfc_getbits(act_ptr, 6, 26); + act_info->mcg.act_hint0 = tfc_getbits(act_ptr, 32, 2); + act_info->mcg.act_rec_ptr0 = tfc_getbits(act_ptr, 34, 26); + act_info->mcg.act_hint1 = tfc_getbits(act_ptr, 60, 2); + act_info->mcg.act_rec_ptr1 = tfc_getbits(act_ptr, 62, 26); + act_info->mcg.act_hint2 = tfc_getbits(act_ptr, 88, 2); + act_info->mcg.act_rec_ptr2 = tfc_getbits(act_ptr, 90, 26); + act_info->mcg.act_hint3 = tfc_getbits(act_ptr, 116, 2); + act_info->mcg.act_rec_ptr3 = tfc_getbits(act_ptr, 118, 26); + act_info->mcg.act_hint4 = tfc_getbits(act_ptr, 144, 2); + act_info->mcg.act_rec_ptr4 = tfc_getbits(act_ptr, 146, 26); + act_info->mcg.act_hint5 = tfc_getbits(act_ptr, 172, 2); + act_info->mcg.act_rec_ptr5 = tfc_getbits(act_ptr, 174, 26); + act_info->mcg.act_hint6 = tfc_getbits(act_ptr, 200, 2); + act_info->mcg.act_rec_ptr6 = tfc_getbits(act_ptr, 202, 26); + act_info->mcg.act_hint7 = tfc_getbits(act_ptr, 228, 2); + act_info->mcg.act_rec_ptr7 = tfc_getbits(act_ptr, 230, 26); + break; + } +} + +void act_show(FILE *fd, struct act_info_t *act_info, uint32_t offset) +{ + if (act_info->valid) { + switch (act_info->vector) { + case 0: + fputs("Compact Action Record\n", fd); + fputs("+----------+--+-+--+--+-----+--+-+------+---Stat0" + "---+------+------+------+\n", fd); + fputs("| Index |V |d|dr|do|vn/p |df|m| mtp |ct|ie| offs|" + " moffs| eoffs| soffs|\n", fd); + fputs("+----------+--+-+--+--+-----+--+-+------+--+--+-----+" + "------+------+------+\n", fd); + + fprintf(fd, + " 0x%08x %2d %d %2d %2d 0x%03x %2d %d 0x%04x %2d %2d 0x%02x 0x%02x 0x%02x 0x%02x\n", + offset, + act_info->vector, + act_info->compact.drop, + act_info->compact.vlan_del_rep, + act_info->compact.dest_op, + act_info->compact.vnic_vport, + act_info->compact.decap_func, + act_info->compact.mirror, + act_info->compact.meter_ptr, + act_info->compact.stat0_ctr_type, + act_info->compact.stat0_ing_egr, + act_info->compact.stat0_offs, + act_info->compact.mod_offs, + act_info->compact.enc_offs, + act_info->compact.src_offs); + + if (act_info->compact.mod_offs) + fprintf(fd, "%s", act_info->compact.mod_str); + if (act_info->compact.stat0_offs) + fprintf(fd, "%s", act_info->compact.stat0_str); + if (act_info->compact.enc_offs) + fprintf(fd, "%s", act_info->compact.enc_str); + break; + case 1: + fputs("Full Action Record\n", fd); + fputs("+----------+--+-+--+--+-----+--+-+------+----Stat0-------+------Stat1-----+----------+----------+----------+\n", + fd); + fputs("| Index |V |d|dr|do|vn/p |df|m| mtp |ct|ie| ptr |ct|ie| ptr | mptr | eptr | sptr |\n", + fd); + fputs("+----------+--+-+--+--+-----+--+-+------+--+--+----------+--+--+----------+----------+----------+----------+\n", + fd); + + fprintf(fd, " 0x%08x %2d %d %2d %2d 0x%03x %2d %d 0x%04x %2d %2d 0x%08x %2d %2d 0x%08x 0x%08x 0x%08x 0x%08x\n", + offset, + act_info->vector, + act_info->full.drop, + act_info->full.vlan_del_rep, + act_info->full.dest_op, + act_info->full.vnic_vport, + act_info->full.decap_func, + act_info->full.mirror, + act_info->full.meter_ptr, + act_info->full.stat0_ctr_type, + act_info->full.stat0_ing_egr, + act_info->full.stat0_ptr, + act_info->full.stat1_ctr_type, + act_info->full.stat1_ing_egr, + act_info->full.stat1_ptr, + act_info->full.mod_ptr, + act_info->full.enc_ptr, + act_info->full.src_ptr); + if (act_info->full.mod_ptr) + fprintf(fd, "%s", act_info->full.mod_str); + if (act_info->full.stat0_ptr) + fprintf(fd, "%s", act_info->full.stat0_str); + if (act_info->full.stat1_ptr) + fprintf(fd, "%s", act_info->full.stat1_str); + if (act_info->full.enc_ptr) + fprintf(fd, "%s", act_info->full.enc_str); + + break; + case 4: + fputs("Multicast Group Record\n", fd); + fputs("+----------+--+----------+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+\n", + fd); + fputs("| Index |V | NxtPtr | ActRPtr0 |ah| ActRPtr1 |ah| ActRPtr2 |ah| ActRPtr3 |ah| ActRPtr4 |ah| ActRPtr5 |ah| ActRPtr6 |ah| ActRPtr7 |ah|\n", + fd); + fputs("+----------+--+----------+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+----------+--+\n", + fd); + + fprintf(fd, " 0x%08x %2d 0x%08x 0x%08x %2d 0x%08x %2d 0x%08x %2d 0x%08x %2d 0x%08x %2d 0x%08x %2d 0x%08x %2d 0x%08x %2d\n", + offset, + act_info->vector, + act_info->mcg.nxt_ptr, + act_info->mcg.act_rec_ptr0, + act_info->mcg.act_hint0, + act_info->mcg.act_rec_ptr1, + act_info->mcg.act_hint1, + act_info->mcg.act_rec_ptr2, + act_info->mcg.act_hint2, + act_info->mcg.act_rec_ptr3, + act_info->mcg.act_hint3, + act_info->mcg.act_rec_ptr4, + act_info->mcg.act_hint4, + act_info->mcg.act_rec_ptr5, + act_info->mcg.act_hint5, + act_info->mcg.act_rec_ptr6, + act_info->mcg.act_hint6, + act_info->mcg.act_rec_ptr7, + act_info->mcg.act_hint7); + break; + } + } +} + +struct stat_fields_s { + uint64_t pkt_cnt; + uint64_t byte_cnt; + union { + struct { + uint32_t timestamp; + uint16_t tcp_flags; + } c_24b; + struct { + uint64_t meter_pkt_cnt; + uint64_t meter_byte_cnt; + } c_32b; + struct { + uint64_t timestamp : 32; + uint64_t tcp_flags : 16; + uint64_t meter_pkt_cnt : 38; + uint64_t meter_byte_cnt : 42; + } c_32b_all; + } t; +}; + +#define STATS_COMMON_FMT \ + "Stats:%d Pkt count:%016ld Byte count:%016ld\n" +#define STATS_METER_FMT \ + "\tMeter pkt count:%016ld Meter byte count:%016ld\n" +#define STATS_TCP_FLAGS_FMT \ + "\tTCP flags:0x%04x timestamp:0x%08x\n" + +static void stat_decode(char *str, + uint8_t stat_num, + uint8_t stat_ctr_type, + uint32_t *stat_ptr) +{ + struct stat_fields_s *stats = (struct stat_fields_s *)stat_ptr; + uint64_t meter_pkt_cnt; + uint64_t meter_byte_cnt; + uint32_t timestamp; + char tmp0[96]; + + /* Common fields */ + snprintf(str, + TFC_STAT_STRING_LENGTH, + STATS_COMMON_FMT, + stat_num, stats->pkt_cnt, stats->byte_cnt); + + switch (stat_ctr_type) { + case CFA_BLD_STAT_COUNTER_SIZE_16B: + /* Nothing further to do */ + break; + case CFA_BLD_STAT_COUNTER_SIZE_24B: + timestamp = stats->t.c_24b.timestamp; + snprintf(tmp0, + TFC_STRING_LENGTH_96, + STATS_TCP_FLAGS_FMT, + stats->t.c_24b.tcp_flags, + timestamp); + strcat(str, tmp0); + break; + case CFA_BLD_STAT_COUNTER_SIZE_32B: + snprintf(tmp0, + TFC_STRING_LENGTH_96, + STATS_METER_FMT, + stats->t.c_32b.meter_pkt_cnt, + stats->t.c_32b.meter_byte_cnt); + strcat(str, tmp0); + break; + case CFA_BLD_STAT_COUNTER_SIZE_32B_ALL: + meter_pkt_cnt = stats->t.c_32b_all.meter_pkt_cnt; + meter_byte_cnt = stats->t.c_32b_all.meter_byte_cnt; + timestamp = stats->t.c_32b_all.timestamp; + snprintf(tmp0, + TFC_STRING_LENGTH_96, + STATS_METER_FMT STATS_TCP_FLAGS_FMT, + meter_pkt_cnt, + meter_byte_cnt, + stats->t.c_32b_all.tcp_flags, + timestamp); + strcat(str, tmp0); + break; + default: + /* Should never happen since type is 2 bits in size */ + snprintf(tmp0, + TFC_STRING_LENGTH_96, + "Unknown counter type %d\n", stat_ctr_type); + strcat(str, tmp0); + break; + } +} + +static void bucket_decode(uint32_t *bucket_ptr, + struct bucket_info_t *bucket_info, + struct tfc_ts_mem_cfg *lkup_mem_cfg, + struct tfc_ts_mem_cfg *act_mem_cfg) +{ + int i; + int offset = 0; + uint8_t *em_ptr; + + bucket_info->valid = false; + bucket_info->chain = tfc_getbits(bucket_ptr, 254, 1); + bucket_info->chain_ptr = tfc_getbits(bucket_ptr, 228, 26); + + if (bucket_info->chain || + bucket_info->chain_ptr) + bucket_info->valid = true; + + for (i = 0; i < TFC_BUCKET_ENTRIES; i++) { + bucket_info->entries[i].entry_ptr = tfc_getbits(bucket_ptr, offset, 26); + offset += 26; + bucket_info->entries[i].hash_msb = tfc_getbits(bucket_ptr, offset, 12); + offset += 12; + + if (bucket_info->entries[i].hash_msb || + bucket_info->entries[i].entry_ptr) { + bucket_info->valid = true; + + em_ptr = (uint8_t *)get_address(lkup_mem_cfg, + bucket_info->entries[i].entry_ptr * 32); + em_decode((uint32_t *)em_ptr, &bucket_info->em_info[i], act_mem_cfg); + } + } +} + +static void bucket_show(FILE *fd, struct bucket_info_t *bucket_info, uint32_t offset) +{ + int i; + + if (bucket_info->valid) { + fprintf(fd, "Static Bucket:0x%08x\n", offset); + fputs("+-+ +---------+ +----------------------------------- Entries --------------------------------------------------------------+\n", + fd); + fputs(" C CPtr 0 1 2 3 4 5\n", + fd); + fputs("+-+ +---------+ +-----+---------+ +-----+---------+ +-----+---------+ +-----+---------+ +-----+---------+ +------+---------+\n", + fd); + fprintf(fd, " %d 0x%07x", + bucket_info->chain, + bucket_info->chain_ptr); + for (i = 0; i < TFC_BUCKET_ENTRIES; i++) { + fprintf(fd, " 0x%03x 0x%07x", + bucket_info->entries[i].hash_msb, + bucket_info->entries[i].entry_ptr); + } + fputs("\n", fd); + + /* + * Now display each valid EM entry from the bucket + */ + for (i = 0; i < TFC_BUCKET_ENTRIES; i++) { + if (bucket_info->entries[i].entry_ptr != 0) { + if (bucket_info->em_info[i].valid) + em_show(fd, &bucket_info->em_info[i]); + else + fputs("<<< Invalid LREC >>>\n", fd); + } + } + + fputs("\n", fd); + } +} + +int tfc_em_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir) +{ + int rc = 0; + bool is_shared; + bool is_bs_owner; + struct tfc_ts_mem_cfg *lkup_mem_cfg; + struct tfc_ts_mem_cfg *act_mem_cfg; + uint32_t bucket_row; + uint32_t bucket_count; + uint8_t *bucket_ptr; + struct bucket_info_t *bucket_info; + uint32_t bucket_offset = 0; + bool valid; + + rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + if (rc != 0) { + fprintf(fd, "%s: failed to get tsid: %d\n", + __func__, rc); + return -EINVAL; + } + if (!valid) { + fprintf(fd, "%s: tsid not allocated %d\n", + __func__, tsid); + return -EINVAL; + } + + lkup_mem_cfg = rte_zmalloc("data", sizeof(*lkup_mem_cfg), 8); + if (!lkup_mem_cfg) + return -ENOMEM; + + rc = tfo_ts_get_mem_cfg(tfcp->tfo, tsid, + dir, + CFA_REGION_TYPE_LKUP, + &is_bs_owner, + lkup_mem_cfg); /* Gets rec_cnt */ + if (rc != 0) { + fprintf(fd, "%s: tfo_ts_get_mem_cfg() failed for LKUP: %d\n", + __func__, rc); + rte_free(lkup_mem_cfg); + return -EINVAL; + } + + act_mem_cfg = rte_zmalloc("data", sizeof(*act_mem_cfg), 8); + if (!act_mem_cfg) { + rte_free(lkup_mem_cfg); + return -ENOMEM; + } + + rc = tfo_ts_get_mem_cfg(tfcp->tfo, tsid, + dir, + CFA_REGION_TYPE_ACT, + &is_bs_owner, + act_mem_cfg); /* Gets rec_cnt */ + if (rc != 0) { + fprintf(fd, "%s: tfo_ts_get_mem_cfg() failed for ACT: %d\n", + __func__, rc); + rte_free(lkup_mem_cfg); + rte_free(act_mem_cfg); + return -EINVAL; + } + + bucket_count = lkup_mem_cfg->lkup_rec_start_offset; + + fputs(" Lookup Table\n", fd); + fprintf(fd, " Static bucket count:%d\n", bucket_count); + + bucket_info = rte_zmalloc("data", sizeof(*bucket_info), 8); + if (!bucket_info) { + fprintf(fd, "%s: Failed to allocate bucket info struct\n", + __func__); + rte_free(lkup_mem_cfg); + rte_free(act_mem_cfg); + return -ENOMEM; + } + + /* + * Go through the static buckets looking for valid entries. + * If a valid entry is found then display it and also display + * the EM entries it points to. + */ + for (bucket_row = 0; bucket_row < bucket_count; ) { + bucket_ptr = (uint8_t *)get_address(lkup_mem_cfg, bucket_offset); + bucket_decode((uint32_t *)bucket_ptr, bucket_info, lkup_mem_cfg, act_mem_cfg); + + if (bucket_info->valid) + bucket_show(fd, bucket_info, bucket_offset); + + bucket_offset += TFC_BUCKET_SIZE_BYTES; + bucket_row++; + } + + rte_free(bucket_info); + rte_free(lkup_mem_cfg); + rte_free(act_mem_cfg); + + return rc; +} + +void tfc_backing_store_dump(FILE *fd) +{ + uint16_t port; + struct bnxt *bp; + uint8_t tsid; + int dir; + + RTE_ETH_FOREACH_DEV(port) { + bp = bnxt_pmd_get_bp(port); + if (bp && !tfo_tsid_get(bp->tfcp.tfo, &tsid)) { + for (dir = 0; dir <= 1; dir++) { + fputs("+------------------- EM ------------------+\n", fd); + fprintf(fd, "+--------- Port:%d TSID:%d DIR:%s ----------+\n", + port, tsid, (dir == CFA_DIR_RX ? "rx" : "tx")); + fputs("+-----------------------------------------+\n", fd); + tfc_em_show(fd, &bp->tfcp, tsid, dir); + + fputs("+------------------- WC ------------------+\n", fd); + fprintf(fd, "+--------- Port:%d TSID:%d DIR:%s ----------+\n", + port, tsid, (dir == CFA_DIR_RX ? "rx" : "tx")); + fputs("+-----------------------------------------+\n", fd); + tfc_wc_show(fd, &bp->tfcp, tsid, dir); + } + } + } +} diff --git a/drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c b/drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c deleted file mode 100644 index be16d00deb..0000000000 --- a/drivers/net/bnxt/tf_core/v3/tfc_mpc_table.c +++ /dev/null @@ -1,565 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2019-2021 Broadcom - * All rights reserved. - */ -#include <stdio.h> -#include <inttypes.h> -#include <math.h> - -#include "bnxt.h" -#include "bnxt_mpc.h" - -#include "tfc.h" -#include "cfa_bld_mpc_field_ids.h" -#include "cfa_bld_mpcops.h" -#include "tfo.h" -#include "tfc_em.h" -#include "tfc_cpm.h" -#include "tfc_msg.h" -#include "tfc_debug.h" -#include "cfa_types.h" -#include "cfa_mm.h" -#include "sys_util.h" -#include "cfa_bld.h" -#include "tfc_util.h" - -int tfc_mpc_table_read(struct tfc *tfcp, - uint8_t tsid, - enum cfa_dir dir, - uint32_t type, - uint32_t offset, - uint8_t words, - uint8_t *data, - uint8_t debug) -{ - int rc = 0; - uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; - uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; - int i; - uint32_t buff_len; - struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_READ_CMD_MAX_FLD]; - struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_READ_CMP_MAX_FLD]; - struct bnxt_mpc_mbuf mpc_msg_in; - struct bnxt_mpc_mbuf mpc_msg_out; - bool is_shared; - struct cfa_bld_mpcinfo *mpc_info; - uint64_t host_address; - uint8_t discard_data[128]; - uint32_t set; - uint32_t way; - bool valid; - - tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); - if (rc != 0) { - PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); - return -EINVAL; - } - if (!valid) { - PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); - return -EINVAL; - } - - /* Check that data pointer is word aligned */ - if (((uint64_t)data) & 0x1fULL) { - PMD_DRV_LOG_LINE(ERR, "Table read data pointer not word aligned"); - return -EINVAL; - } - - host_address = (uint64_t)rte_mem_virt2iova(data); - - /* Check that MPC APIs are bound */ - if (mpc_info->mpcops == NULL) { - PMD_DRV_LOG_LINE(ERR, "MPC not initialized"); - return -EINVAL; - } - - set = offset & 0x7ff; - way = (offset >> 12) & 0xf; - - if (debug) - PMD_DRV_LOG_LINE(ERR, - "Debug read table type:%s %d words32B at way:%d set:%d debug:%d words32B", - (type == 0 ? "Lookup" : "Action"), - words, way, set, debug); - else - PMD_DRV_LOG_LINE(ERR, - "Reading table type:%s %d words32B at offset %d words32B", - (type == 0 ? "Lookup" : "Action"), - words, offset); - - /* Create MPC EM insert command using builder */ - for (i = 0; i < CFA_BLD_MPC_READ_CMD_MAX_FLD; i++) - fields_cmd[i].field_id = INVALID_U16; - - fields_cmd[CFA_BLD_MPC_READ_CMD_OPAQUE_FLD].field_id = - CFA_BLD_MPC_READ_CMD_OPAQUE_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_OPAQUE_FLD].val = 0xAA; - - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD].field_id = - CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_TYPE_FLD].val = (type == 0 ? - CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); - - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD].field_id = - CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_SCOPE_FLD].val = - (debug ? way : tsid); - - fields_cmd[CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD].field_id = - CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_DATA_SIZE_FLD].val = words; - - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD].field_id = - CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_TABLE_INDEX_FLD].val = - (debug ? set : offset); - - fields_cmd[CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD].field_id = - CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_HOST_ADDRESS_FLD].val = host_address; - - if (debug) { - fields_cmd[CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD].field_id = - CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD; - fields_cmd[CFA_BLD_MPC_READ_CMD_CACHE_OPTION_FLD].val = debug; /* Debug read */ - } - - buff_len = TFC_MPC_MAX_TX_BYTES; - - rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_read(tx_msg, - &buff_len, - fields_cmd); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "Action read build failed: %d", rc); - goto cleanup; - } - - /* Send MPC */ - mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); - mpc_msg_in.msg_data = &tx_msg[16]; - mpc_msg_in.msg_size = 16; - mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; - mpc_msg_out.msg_data = &rx_msg[16]; - mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; - - rc = tfc_mpc_send(tfcp->bp, - &mpc_msg_in, - &mpc_msg_out, - &msg_count, - TFC_MPC_TABLE_READ, - NULL); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "Table read MPC send failed: %d", rc); - goto cleanup; - } - - /* Process response */ - for (i = 0; i < CFA_BLD_MPC_READ_CMP_MAX_FLD; i++) - fields_cmp[i].field_id = INVALID_U16; - - fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].field_id = - CFA_BLD_MPC_READ_CMP_STATUS_FLD; - - rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_read(rx_msg, - mpc_msg_out.msg_size, - discard_data, - words * TFC_MPC_BYTES_PER_WORD, - fields_cmp); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "Table read parse failed: %d", rc); - goto cleanup; - } - - if (fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { - PMD_DRV_LOG_LINE(ERR, "Table read failed with status code:%d", - (uint32_t)fields_cmp[CFA_BLD_MPC_READ_CMP_STATUS_FLD].val); - rc = -1; - goto cleanup; - } - - return 0; - - cleanup: - - return rc; -} - -int tfc_mpc_table_write_zero(struct tfc *tfcp, - uint8_t tsid, - enum cfa_dir dir, - uint32_t type, - uint32_t offset, - uint8_t words, - uint8_t *data) -{ - int rc = 0; - uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; - uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; - int i; - uint32_t buff_len; - struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_WRITE_CMD_MAX_FLD]; - struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_WRITE_CMP_MAX_FLD]; - struct bnxt_mpc_mbuf mpc_msg_in; - struct bnxt_mpc_mbuf mpc_msg_out; - struct cfa_bld_mpcinfo *mpc_info; - bool is_shared; - bool valid; - - tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); - if (rc != 0) { - PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); - return -EINVAL; - } - if (!valid) { - PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); - return -EINVAL; - } - /* Check that MPC APIs are bound */ - if (mpc_info->mpcops == NULL) { - PMD_DRV_LOG_LINE(ERR, " MPC not initialized"); - return -EINVAL; - } - - /* Create MPC EM insert command using builder */ - for (i = 0; i < CFA_BLD_MPC_WRITE_CMD_MAX_FLD; i++) - fields_cmd[i].field_id = INVALID_U16; - - fields_cmd[CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD].field_id = - CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD; - fields_cmd[CFA_BLD_MPC_WRITE_CMD_OPAQUE_FLD].val = 0xAA; - - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD].field_id = - CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD; - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_TYPE_FLD].val = (type == 0 ? - CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); - - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD].field_id = - CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD; - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_SCOPE_FLD].val = tsid; - - fields_cmd[CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD].field_id = - CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD; - fields_cmd[CFA_BLD_MPC_WRITE_CMD_DATA_SIZE_FLD].val = words; - - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD].field_id = - CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD; - fields_cmd[CFA_BLD_MPC_WRITE_CMD_TABLE_INDEX_FLD].val = offset; - - buff_len = TFC_MPC_MAX_TX_BYTES; - - rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_write(tx_msg, - &buff_len, - data, - fields_cmd); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "write build failed: %d", rc); - goto cleanup; - } - - /* Send MPC */ - mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); - mpc_msg_in.msg_data = &tx_msg[16]; - mpc_msg_in.msg_size = (words * TFC_MPC_BYTES_PER_WORD) + 16; - mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; - mpc_msg_out.msg_data = &rx_msg[16]; - mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; - - rc = tfc_mpc_send(tfcp->bp, - &mpc_msg_in, - &mpc_msg_out, - &msg_count, - TFC_MPC_TABLE_WRITE, - NULL); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "write MPC send failed: %d", rc); - goto cleanup; - } - - /* Process response */ - for (i = 0; i < CFA_BLD_MPC_WRITE_CMP_MAX_FLD; i++) - fields_cmp[i].field_id = INVALID_U16; - - fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].field_id = - CFA_BLD_MPC_WRITE_CMP_STATUS_FLD; - - rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_write(rx_msg, - mpc_msg_out.msg_size, - fields_cmp); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "write parse failed: %d", rc); - goto cleanup; - } - - if (fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { - PMD_DRV_LOG_LINE(ERR, "Action write failed with status code:%d", - (uint32_t)fields_cmp[CFA_BLD_MPC_WRITE_CMP_STATUS_FLD].val); - PMD_DRV_LOG_LINE(ERR, "Hash MSB:0x%0x", - (uint32_t)fields_cmp[CFA_BLD_MPC_WRITE_CMP_HASH_MSB_FLD].val); - goto cleanup; - } - - return 0; - - cleanup: - - return rc; -} - -int tfc_mpc_table_invalidate(struct tfc *tfcp, - uint8_t tsid, - enum cfa_dir dir, - uint32_t type, - uint32_t offset, - uint32_t words) -{ - int rc = 0; - uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; - uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; - int i; - uint32_t buff_len; - struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_MAX_FLD]; - struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_MAX_FLD]; - struct bnxt_mpc_mbuf mpc_msg_in; - struct bnxt_mpc_mbuf mpc_msg_out; - struct cfa_bld_mpcinfo *mpc_info; - bool is_shared; - bool valid; - - tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); - if (rc != 0) { - PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); - return -EINVAL; - } - if (!valid) { - PMD_DRV_LOG_LINE(ERR, "tsid not allocated %d", tsid); - return -EINVAL; - } - /* Check that MPC APIs are bound */ - if (mpc_info->mpcops == NULL) { - PMD_DRV_LOG_LINE(ERR, " MPC not initialized"); - return -EINVAL; - } - - /* Create MPC EM insert command using builder */ - for (i = 0; i < CFA_BLD_MPC_INVALIDATE_CMD_MAX_FLD; i++) - fields_cmd[i].field_id = INVALID_U16; - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_OPAQUE_FLD].val = 0xAA; - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_TYPE_FLD].val = (type == 0 ? - CFA_BLD_MPC_HW_TABLE_TYPE_LOOKUP : CFA_BLD_MPC_HW_TABLE_TYPE_ACTION); - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_SCOPE_FLD].val = tsid; - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_DATA_SIZE_FLD].val = words; - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_TABLE_INDEX_FLD].val = offset; - - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD; - fields_cmd[CFA_BLD_MPC_INVALIDATE_CMD_CACHE_OPTION_FLD].val = - CFA_BLD_MPC_EV_EVICT_SCOPE_ADDRESS; - - buff_len = TFC_MPC_MAX_TX_BYTES; - - rc = mpc_info->mpcops->cfa_bld_mpc_build_cache_evict(tx_msg, - &buff_len, - fields_cmd); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "evict build failed: %d", rc); - goto cleanup; - } - - /* Send MPC */ - mpc_msg_in.chnl_id = (dir == CFA_DIR_TX ? - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_TE_CFA : - HWRM_RING_ALLOC_INPUT_MPC_CHNLS_TYPE_RE_CFA); - mpc_msg_in.msg_data = &tx_msg[16]; - mpc_msg_in.msg_size = 16; - mpc_msg_out.cmp_type = CMPL_BASE_TYPE_MID_PATH_SHORT; - mpc_msg_out.msg_data = &rx_msg[16]; - mpc_msg_out.msg_size = TFC_MPC_MAX_RX_BYTES; - - rc = tfc_mpc_send(tfcp->bp, - &mpc_msg_in, - &mpc_msg_out, - &msg_count, - TFC_MPC_INVALIDATE, - NULL); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "write MPC send failed: %d", rc); - goto cleanup; - } - - /* Process response */ - for (i = 0; i < CFA_BLD_MPC_INVALIDATE_CMP_MAX_FLD; i++) - fields_cmp[i].field_id = INVALID_U16; - - fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].field_id = - CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD; - - rc = mpc_info->mpcops->cfa_bld_mpc_parse_cache_evict(rx_msg, - mpc_msg_out.msg_size, - fields_cmp); - - if (rc) { - PMD_DRV_LOG_LINE(ERR, "evict parse failed: %d", rc); - goto cleanup; - } - - if (fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].val != CFA_BLD_MPC_OK) { - PMD_DRV_LOG_LINE(ERR, "evict failed with status code:%d", - (uint32_t)fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_STATUS_FLD].val); - PMD_DRV_LOG_LINE(ERR, "Hash MSB:0x%0x", - (uint32_t)fields_cmp[CFA_BLD_MPC_INVALIDATE_CMP_HASH_MSB_FLD].val); - goto cleanup; - } - - return 0; - - cleanup: - - return rc; -} - -#define TFC_ACTION_SIZE_BYTES 32 -#define TFC_BUCKET_SIZE_BYTES 32 - -struct act_full_info_t { - bool drop; - uint8_t vlan_del_rep; - uint8_t dest_op; - uint16_t vnic_vport; - uint8_t decap_func; - uint16_t mirror; - uint16_t meter_ptr; - uint8_t stat0_ctr_type; - bool stat0_ing_egr; - uint32_t stat0_ptr; - uint8_t stat1_ctr_type; - bool stat1_ing_egr; - uint32_t stat1_ptr; - uint32_t mod_ptr; - uint32_t enc_ptr; - uint32_t src_ptr; - char mod_str[512]; -}; - -struct act_mcg_info_t { - uint8_t src_ko_en; - uint32_t nxt_ptr; - uint8_t act_hint0; - uint32_t act_rec_ptr0; - uint8_t act_hint1; - uint32_t act_rec_ptr1; - uint8_t act_hint2; - uint32_t act_rec_ptr2; - uint8_t act_hint3; - uint32_t act_rec_ptr3; - uint8_t act_hint4; - uint32_t act_rec_ptr4; - uint8_t act_hint5; - uint32_t act_rec_ptr5; - uint8_t act_hint6; - uint32_t act_rec_ptr6; - uint8_t act_hint7; - uint32_t act_rec_ptr7; -}; - -struct act_info_t { - bool valid; - uint8_t vector; - union { - struct act_full_info_t full; - struct act_mcg_info_t mcg; - }; -}; - -struct mod_field_s { - uint8_t num_bits; - const char *name; -}; - -struct mod_data_s { - uint8_t num_fields; - const char *name; - struct mod_field_s field[4]; -}; - -struct mod_data_s mod_data[] = { - {1, "Replace:", {{16, "DPort"} } }, - {1, "Replace:", {{16, "SPort"} } }, - {1, "Replace:", {{32, "IPv4 DIP"} } }, - {1, "Replace:", {{32, "IPv4 SIP"} } }, - {1, "Replace:", {{128, "IPv6 DIP"} } }, - {1, "Replace:", {{128, "IPv6 SIP"} } }, - {1, "Replace:", {{48, "SMAC"} } }, - {1, "Replace:", {{48, "DMAC"} } }, - {2, "Update Field:", {{16, "uf_vec"}, {32, "uf_data"} } }, - {3, "Tunnel Modify:", {{16, "tun_mv"}, {16, "tun_ex_prot"}, {16, "tun_new_prot"} } }, - {3, "TTL Update:", {{5, "alt_pfid"}, {12, "alt_vid"}, {5, "ttl_op"} } }, - {4, "Replace/Add Outer VLAN:", {{16, "tpid"}, {3, "pri"}, {1, "de"}, {12, "vid"} } }, - {4, "Replace/Add Inner:", {{16, "tpid"}, {3, "pri"}, {1, "de"}, {12, "vid"} } }, - {0, "Remove outer VLAN:", {{0, NULL} } }, - {0, "Remove inner VLAN:", {{0, NULL} } }, - {4, "Metadata Update:", {{2, "md_op"}, {4, "md_prof"}, {10, "rsvd"}, {32, "md_data"} } }, -}; - -struct stat_fields_s { - uint64_t pkt_cnt; - uint64_t byte_cnt; - union { - struct __rte_packed_begin { - uint32_t timestamp; - uint16_t tcp_flags; - } c_24b __rte_packed_end; - struct { - uint64_t meter_pkt_cnt; - uint64_t meter_byte_cnt; - } c_32b; - struct __rte_packed_begin { - uint64_t timestamp:32; - uint64_t tcp_flags:16; - uint64_t meter_pkt_cnt:38; - uint64_t meter_byte_cnt:42; - } c_32b_all __rte_packed_end; - } t; -}; - -#define STATS_COMMON_FMT \ - "\tPkt count : 0x%016" PRIu64 ", Byte count : 0x%016" PRIu64 "\n" -#define STATS_METER_FMT \ - "\tMeter pkt cnt: 0x%016" PRIx64 ", Meter byte cnt: 0x%016" PRIx64 "\n" -#define STATS_TCP_FLAGS_FMT \ - "\tTCP flags : 0x%04x, timestamp : 0x%08x\n" diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c b/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c new file mode 100644 index 0000000000..cff93f931f --- /dev/null +++ b/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c @@ -0,0 +1,1875 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* Copyright(c) 2024 Broadcom + * All rights reserved. + */ +#include <stdio.h> +#include <inttypes.h> +#include <string.h> + +#include "bnxt.h" + +#include "tfc.h" +#include "tfo.h" +#include "tfc_em.h" +#include "tfc_debug.h" +#include "cfa_types.h" + +#include "sys_util.h" +#include "tfc_util.h" +/* only debug files can include ULP headers */ +#include "ulp_flow_db.h" +#include "bnxt_ulp_tfc.h" +#include "bnxt_ulp_utils.h" +#include "tfc_debug.h" + +#define TFC_STRING_LENGTH_32 32 +#define TFC_STRING_LENGTH_64 64 +#define TFC_STRING_LENGTH_96 96 +#define TFC_STRING_LENGTH_256 256 + +/* Enable this flag if you want to dump all TCAM records, + * including the default L2 context records and profile TCAM + * entries. This method is sub-optimal, but can used for lack of + * a better way to walk and dump flow DB resources for particular + * flow types. + * Disabling this flag will dump WC TCAM entries and their + * associated action-records by default. + */ +#define TFC_DEBUG_DUMP_ALL_FLOWS 1 + +/* + * Function pointer type for custom processing resources + */ +typedef int (*FDB_RESOURCE_PROCFUNC)(struct ulp_flow_db_res_params *rp, + void *frp_ctxt); +static +void hex_buf_dump(FILE *fd, const char *hdr, uint8_t *msg, + int msglen, int prtwidth, int linewidth); + +struct wc_frp_context { + FILE *fd; + struct bnxt_ulp_context *ulp_ctxt; + struct tfc_ts_mem_cfg *act_mem_cfg; +}; + +struct wc_lrec_t { + bool valid; + uint8_t rec_size; + uint16_t epoch0; + uint16_t epoch1; + uint8_t opcode; + uint8_t strength; + uint8_t act_hint; + uint32_t act_rec_ptr; /* Not FAST */ + uint32_t destination; /* Just FAST */ + uint8_t tcp_direction; /* Just CT */ + uint8_t tcp_update_en; + uint8_t tcp_win; + uint32_t tcp_msb_loc; + uint32_t tcp_msb_opp; + uint8_t tcp_msb_opp_init; + uint8_t state; + uint8_t timer_value; + uint16_t ring_table_idx; /* Not CT and not RECYCLE */ + uint8_t act_rec_size; + uint8_t paths_m1; + uint8_t fc_op; + uint8_t fc_type; + uint32_t fc_ptr; + uint8_t recycle_dest; /* Just Recycle */ + uint8_t prof_func; + uint8_t meta_prof; + uint32_t metadata; + uint8_t range_profile; + uint16_t range_index; + struct act_info_t act_info; +}; + +/* L2 context TCAM key formats + * + * IPv4 + * ---- + * valid 255 1 TCAM entry is valid + * spare 254:253 2 Spare bits. + * mpass_cnt 252:251 2 Multi-pass cycle count ? {0,1,2,3} + * rcyc[3:0] 250:247 4 Recycle count from prof_in + * loopback 246 1 loopback input from prof_in + * spif 245:244 2 Source network port from prof_in + * parif 243:239 5 Partition provided by input block + * svif 238:228 11 Source of the packet: Ethernet network port or + * vnic; provided on prof_in + * metadata 227:196 32 Metadata provided by Input block + * l2ip_func 195:188 8 Used to create logical (feature specific) context + * TCAM tables. Provided from ILT or Recycle. + * roce 187 1 ROCE Packet detected by the Parser + * pure_llc 186 1 Pure LLC Packet detected by the Parser. If set + * the etype field will contain the DSAP/SSAP from + * LLC header. + * ot_hdr_type 185:181 5 5b encoded Outer Tunnel Type (see Table 4-12) + * t_hdr_type 180:176 5 5b encoded Tunnel Type (see Table 4-12) + * tunnel_id/context/L4 175:144 32 Tunnel ID/Tunnel Context/L4 ports selected. + * ADDR0 143:96 48 ADDR0: DMAC/SMAC/IPv4 selected. + * ADDR1 95:48 48 ADDR1: DMAC/SMAC/IPv4 selected. + * otl2/tl2/l2_vtag_present 47 1 1+ VLAN tags present (L2 selected) + * otl2/tl2/l2_two_vtags 46 1 2 VLAN tags present (comp. flds_num_vtags) + * otl2/tl2/l2_ovlan_vid 45:34 12 VID from outer VLAN tag if present (L2 selected) + * otl2/tl2/l2_ovlan_tpid_sel 33:31 3 3b encoding for TPID (L2 selected) + * otl2/tl2/l2_ivlan_vid 30:19 12 VID from inner VLAN tag if present (L2 selected) + * otl2/tl2/l2_ivlan_tpid_sel 18:16 3 3b encoding for TPID (L2 selected) + * otl2/tl2/l2_etype 15:0 16 L2 Header Ethertype (L2 selected) + * + * IPv6 + * ---- + * valid 255 1 TCAM entry is valid + * spare 254:253 2 Spare bits. + * mpass_cnt 252:251 2 Multi-pass cycle count ? {0,1,2,3} + * rcyc[3:0] 250:247 4 Recycle count from prof_in + * loopback 246 1 loopback input from prof_in + * spif 245:244 2 Source network port from prof_in + * parif 243:239 5 Partition provided by input block + * svif 238:228 11 Source of the packet: Ethernet network port or + * vnic; provided on prof_in + * metadata 227:196 32 Metadata provided by Input block + * l2ip_func 195:188 8 Used to create logical (feature specific) context + * TCAM tables. Provided from ILT or Recycle. + * roce 187 1 ROCE Packet detected by the Parser + * pure_llc 186 1 Pure LLC Packet detected by the Parser. If set + * the etype field will contain the DSAP/SSAP from + * LLC header. + * ot_hdr_type 185:181 5 5b encoded Outer Tunnel Type (see Table 4-12) + * t_hdr_type 180:176 5 5b encoded Tunnel Type (see Table 4-12) + * tunnel_id/context/L4 175:144 32 Tunnel ID/Tunnel Context/L4 ports selected. + * ADDR0 143:16 128 ADDR0: IPv6 selected. + * otl2/tl2/l2_etype 15:0 16 L2 Header Ethertype (L2 selected) + */ +struct l2ctx_tcam_key_t { + uint8_t valid; + uint8_t spare; + uint8_t mpass_cnt; + uint8_t rcyc; + uint8_t loopback; + uint8_t spif; + uint8_t parif; + uint16_t svif; + uint32_t metadata; + uint8_t l2ip_func; + uint8_t roce; + uint8_t pure_llc; + uint8_t ot_hdr_type; + uint8_t t_hdr_type; + uint32_t tunnel_id_context_L4; + union { + struct ipv4_key_t { + uint64_t ADDR0; + uint64_t ADDR1; + uint8_t otl2_tl2_l2_vtag_present; + uint8_t otl2_tl2_l2_two_vtags; + uint16_t otl2_tl2_l2_ovlan_vid; + uint8_t otl2_tl2_l2_ovlan_tpid_sel; + uint16_t otl2_tl2_l2_ivlan_vid; + uint8_t otl2_tl2_l2_ivlan_tpid_sel; + uint16_t otl2_tl2_l2_etype; + } ipv4; + struct ipv6_key_t { + uint64_t ADDR0[2]; + uint16_t otl2_tl2_l2_etype; + } ipv6; + }; +}; + +/* L2 context TCAM remap + * + * prsv_parif 126 1 Preserve incoming partition, i.e. don?t remap. + * parif 125:121 5 Partition. Replaces parif from Input block + * prsv_l2ip_ctxt 120 1 Preserve incoming l2ip_ctxt, i.e. don?t remap. + * l2ip_ctxt 119:109 11 May be used in EM and WC Lookups to support logical + * partitions of these tables + * prsv_prof_func 108 1 Preserve incoming PROF_FUNC, i.e. don?t remap. + * prof_func 107:100 8 Allow Profile TCAM Lookup Table to be logically partitioned. + * ctxt_opcode 99:98 2 0: BYPASS_CFA + * 1: BYPASS_LKUP + * 2: NORMAL_FLOW + * 3: DROP + * l2ip_meta_enb 97 1 Enables remap of meta_data from Input block. + * l2ip_meta 96:62 35 l2ip_meta_prof[2:0] = l2ip_meta[34:32] + * l2ip_meta_data[31:0] = l2ip_meta[31:0] + * l2ip_act_enb 61 1 Enables remap of Action Record pointer from Input block. + * l2ip_act_data 60:28 33 l2ip_act_hint[1:0] = l2ip_act_data[32:31] + * l2ip_act_scope[4:0] = l2ip_act_data[30:26] + * l2ip_act_rec_ptr[25:0] = l2ip_act_data[25:0] + * l2ip_rfs_enb 27 1 Enables remap of ring_table_idx and sets rfs_valid. + * l2ip_rfs_data 26:18 9 ring_table_idx[8:0] = l2ip_rfs_data[8:0] (RX only) + * l2ip_dest_enb 17 1 Enables remap of destination from Input block. + * l2ip_dest_data 16:0 17 destination[16:0] = l2ip_dest_data[16:0] + */ +struct l2ctx_tcam_remap_t { + uint8_t prsv_parif; + uint8_t parif; + uint8_t prsv_l2ip_ctxt; + uint16_t l2ip_ctxt; + uint8_t prsv_prof_func; + uint8_t prof_func; + uint8_t ctxt_opcode; + uint8_t l2ip_meta_enb; + uint8_t l2ip_meta_prof; + uint32_t l2ip_meta_data; + uint8_t l2ip_act_enb; + uint8_t l2ip_act_hint; + uint8_t l2ip_act_scope; + uint32_t l2ip_act_ptr; + uint8_t l2ip_rfs_enb; + uint16_t l2ip_rfs_data; + uint8_t l2ip_dest_enb; + uint32_t l2ip_dest_data; + struct act_info_t act_info; +}; + +/* Profile TCAM key + * + * valid 183 1 Valid(1)/Invalid(0) TCAM entry. + * spare 182:181 2 Spare bits. + * loopback 180 1 END.loopback + * pkt_type 179:176 4 Packet type directly from END bus. + * rcyc[3:0] 175:172 4 Recycle count from prof_in + * metadata 171:140 32 From previous stage. + * agg_error 139 1 Aggregate error flag from Input stage. + * l2ip_func 138:131 8 L2-IP Context function from Input Lookup stage. + * prof_func 130:123 8 Profile function from L2-IP Context Lookup stage. + * hrec_next 122:121 2 From FLDS Input, General Status + * 1=tunnel/0=no tunnel + * int_hdr_type 120:119 2 INT header type directly from FLDS. + * int_hdr_group 118:117 2 INT header group directly from FLDS. + * int_ifa_tail 116 1 INT metadata is tail stamp. + * otl2_hdr_valid 115 1 !(flds_otl2_hdr_valid==stop_w_error | + * flds_otl2_hdr_valid==not_reached) + * otl2_hdr_type 114:113 2 Outer Tunnel L2 header type directly from FLDS. + * otl2_uc_mc_bc 112:111 2 flds_otl2_dst_type remapped: UC(0)/MC(2)/BC(3) + * otl2_vtag_present 110 1 1+ VLAN tags present (comp. lds_otl2_num_vtags) + * otl2_two_vtags 109 1 2 VLAN tags present (comp. flds_otl2_num_vtags) + * otl3_hdr_valid 108 1 !(flds_otl3_hdr_valid== stop_w_error | + * flds_otl3_hdr_valid== not_reached ) + * otl3_hdr_error 107 1 flds_tl3_hdr_valid == stop_w_error + * otl3_hdr_type 106:103 4 Outer Tunnel L3 header type directly from FLDS. + * otl3_hdr_isip 102 1 Outer Tunnel L3 header is IPV4 or IPV6. + * otl4_hdr_valid 101 1 !(flds_otl4_hdr_valid== stop_w_error | + * flds_otl4_hdr_valid== not_reached ) + * otl4_hdr_error 100 1 flds_otl4_hdr_valid == stop_w_error + * otl4_hdr_type 99:96 4 Outer Tunnel L4 header type directly from FLDS. + * otl4_hdr_is_udp_tcp 95 1 OTL4 header is UDP-TCP. (comp. flds_otl4_hdr_type) + * ot_hdr_valid 94 1 !(flds_ot_hdr_valid== stop_w_error | + * flds_ot_hdr_valid== not_reached ) + * ot_hdr_error 93 1 flds_ot_hdr_valid == stop_w_error + * ot_hdr_type 92:88 5 Outer Tunnel header type directly from FLDS. + * ot_hdr_flags 87:80 8 Outer Tunnel header flags directly from FLDS. + * tl2_hdr_valid 79 1 !(flds_tl2_hdr_valid==stop_w_error | + * flds_tl2_hdr_valid==not_reached) + * tl2_hdr_type 78:77 2 Tunnel L2 header type directly from FLDS. + * tl2_uc_mc_bc 76:75 2 flds_tl2_dst_type remapped: UC(0)/MC(2)/BC(3) + * tl2_vtag_present 74 1 1+ VLAN tags present (comp. lds_tl2_num_vtags) + * tl2_two_vtags 73 1 2 VLAN tags present (comp. flds_tl2_num_vtags) + * tl3_hdr_valid 72 1 !(flds_tl3_hdr_valid== stop_w_error | + * flds_tl3_hdr_valid== not_reached ) + * tl3_hdr_error 71 1 flds_tl3_hdr_valid == stop_w_error + * tl3_hdr_type 70:67 4 Tunnel L3 header type directly from FLDS. + * tl3_hdr_isip 66 1 Tunnel L3 header is IPV4 or IPV6. + * tl4_hdr_valid 65 1 !(flds_tl4_hdr_valid== stop_w_error | + * flds_tl4_hdr_valid== not_reached ) + * tl4_hdr_error 64 1 flds_tl4_hdr_valid == stop_w_error + * tl4_hdr_type 63:60 4 Tunnel L4 header type directly from FLDS. + * tl4_hdr_is_udp_tcp 59 1 TL4 header is UDP or TCP. (comp. flds_tl4_hdr_type) + * t_hdr_valid 58 1 !(flds_tun_hdr_valid== stop_w_error | + * flds_tun_hdr_valid== not_reached ) + * t_hdr_error 57 1 flds_tun_hdr_valid == stop_w_error + * t_hdr_type 56:52 5 Tunnel header type directly from FLDS. + * t_hdr_flags 51:44 8 Tunnel header flags directly from FLDS. + * l2_hdr_valid 43 1 !(flds_l2_hdr_valid== stop_w_error | + * flds_l2_hdr_valid== not_reached ) + * l2_hdr_error 42 1 flds_l2_hdr_valid == stop_w_error + * l2_hdr_type 41:40 2 L2 header type directly from FLDS. + * l2_uc_mc_bc 39:38 2 flds_l2_dst_type remapped: UC(0)/MC(2)/BC(3) + * l2_vtag_present 37 1 1+ VLAN tags present (comp. flds_l2_num_vtags) + * l2_two_vtags 36 1 2 VLAN tags present (comp. flds_l2_num_vtags) + * l3_hdr_valid 35 1 !(flds_l3_hdr_valid== stop_w_error | + * flds_l3_hdr_valid== not_reached ) + * l3_hdr_error 34 1 flds_l3_hdr_valid == stop_w_error + * l3_hdr_type 33:30 4 L3 header type directly from FLDS. + * l3_hdr_isip 29 1 L3 header is IPV4 or IPV6. + * l3_protocol 28:21 8 L3 header next protocol directly from FLDS. + * l4_hdr_valid 20 1 !(flds_l4_hdr_valid== stop_w_error | + * flds_l4_hdr_valid== not_reached ) + * l4_hdr_error 19 1 flds_l4_hdr_valid == stop_w_error + * l4_hdr_type 18:15 4 L4 header type directly from FLDS. + * l4_hdr_is_udp_tcp 14 1 L4 header is UDP or TCP (comp. flds_l4_hdr_type) + * l4_hdr_subtype 13:11 3 L4 header sub-type directly from FLDS. + * l4_flags 10:2 9 L4 header flags directly from FLDS. + * l4_dcn_present 1:0 2 DCN present bits directly from L4 header FLDS. + */ + +struct prof_tcam_key_t { + uint8_t valid; + uint8_t spare; + uint8_t loopback; + uint8_t pkt_type; + uint8_t rcyc; + uint32_t metadata; + uint8_t agg_error; + uint8_t l2ip_func; + uint8_t prof_func; + uint8_t hrec_next; + uint8_t int_hdr_type; + uint8_t int_hdr_group; + uint8_t int_ifa_tail; + uint8_t otl2_hdr_valid; + uint8_t otl2_hdr_type; + uint8_t otl2_uc_mc_bc; + uint8_t otl2_vtag_present; + uint8_t otl2_two_vtags; + uint8_t otl3_hdr_valid; + uint8_t otl3_hdr_error; + uint8_t otl3_hdr_type; + uint8_t otl3_hdr_isip; + uint8_t otl4_hdr_valid; + uint8_t otl4_hdr_error; + uint8_t otl4_hdr_type; + uint8_t otl4_hdr_is_udp_tcp; + uint8_t ot_hdr_valid; + uint8_t ot_hdr_error; + uint8_t ot_hdr_type; + uint8_t ot_hdr_flags; + uint8_t tl2_hdr_valid; + uint8_t tl2_hdr_type; + uint8_t tl2_uc_mc_bc; + uint8_t tl2_vtag_present; + uint8_t tl2_two_vtags; + uint8_t tl3_hdr_valid; + uint8_t tl3_hdr_error; + uint8_t tl3_hdr_type; + uint8_t tl3_hdr_isip; + uint8_t tl4_hdr_valid; + uint8_t tl4_hdr_error; + uint8_t tl4_hdr_type; + uint8_t tl4_hdr_is_udp_tcp; + uint8_t t_hdr_valid; + uint8_t t_hdr_error; + uint8_t t_hdr_type; + uint8_t t_hdr_flags; + uint8_t l2_hdr_valid; + uint8_t l2_hdr_error; + uint8_t l2_hdr_type; + uint8_t l2_uc_mc_bc; + uint8_t l2_vtag_present; + uint8_t l2_two_vtags; + uint8_t l3_hdr_valid; + uint8_t l3_hdr_error; + uint8_t l3_hdr_type; + uint8_t l3_hdr_isip; + uint8_t l3_protocol; + uint8_t l4_hdr_valid; + uint8_t l4_hdr_error; + uint8_t l4_hdr_type; + uint8_t l4_hdr_is_udp_tcp; + uint8_t l4_hdr_subtype; + uint16_t l4_flags; + uint8_t l4_dcn_present; +}; + +/* + * Profile TCAM remap record: + * + * pl_byp_lkup_en 1 42 When set to ?0? remaining bits are defined below. + * em_search_en 1 41 Enable search in EM database + * em_profile_id 8 40:33 Selected key structure for EM search. This is used as part of + * the EM keys to differentiate common key types. + * em_key_id 7 32:26 Exact match key template select + * em_scope 5 25:21 Exact Match Lookup scope. Action scope on EM hit. + * tcam_search_en 1 20 Enable search in TCAM database + * tcam_profile_id 8 19:12 Selected key structure for TCAM search. This is used as part of + * the TCAM keys to differentiate common key types. + * tcam_key_id 7 11:5 TCAM key template select + * tcam_scope 5 4:0 Wild Card Lookup Action table scope (used if WC hits). + */ +struct prof_tcam_remap_t { + bool pl_byp_lkup_en; + bool em_search_en; + uint8_t em_profile_id; + uint8_t em_key_id; + uint8_t em_scope; + bool tcam_search_en; + uint8_t tcam_profile_id; + uint8_t tcam_key_id; + uint8_t tcam_scope; +}; + +/* Internal function to read the tcam entry */ +static int +tfc_tcam_entry_read(struct bnxt_ulp_context *ulp_ctxt, + uint8_t dir, + uint8_t res_type, + uint16_t res_idx, + uint8_t *key, + uint8_t *mask, + uint8_t *remap, + uint16_t *key_size, + uint16_t *remap_size) +{ + struct tfc_tcam_info tfc_info = {0}; + struct tfc_tcam_data tfc_data = {0}; + struct tfc *tfcp = NULL; + uint16_t fw_fid; + int rc; + + tfcp = bnxt_ulp_cntxt_tfcp_get(ulp_ctxt); + if (!tfcp) { + PMD_DRV_LOG_LINE(ERR, "Failed to get tfcp pointer"); + return -EINVAL; + } + + rc = bnxt_ulp_cntxt_fid_get(ulp_ctxt, &fw_fid); + if (rc) + return rc; + + tfc_info.dir = dir; + tfc_info.rsubtype = res_type; + tfc_info.id = res_idx; + + tfc_data.key = key; + tfc_data.mask = mask; + tfc_data.remap = remap; + tfc_data.key_sz_in_bytes = *key_size; + tfc_data.remap_sz_in_bytes = *remap_size; + + if (tfc_tcam_get(tfcp, fw_fid, &tfc_info, &tfc_data)) { + PMD_DRV_LOG_LINE(ERR, "tcam[%s][%s][%x] read failed.", + tfc_tcam_2_str(tfc_info.rsubtype), + tfc_dir_2_str(tfc_info.dir), tfc_info.id); + return -EIO; + } + + *key_size = (uint16_t)tfc_data.key_sz_in_bytes; + *remap_size = (uint16_t)tfc_data.remap_sz_in_bytes; + + return rc; +} + +/* + * bnxt_tfc_buf_dump: Pretty-prints a buffer using the following options + * + * Parameters: + * hdr - A header that is printed as-is + * msg - This is a pointer to the uint8_t buffer to be dumped + * prtwidth - The width of the words to be printed, allowed options 1, 2, 4 + * Defaults to 1 if either: + * 1) any other value + * 2) if buffer length is not a multiple of width + * linewidth - The length of the lines printed (in items/words) + */ +static +void hex_buf_dump(FILE *fd, const char *hdr, uint8_t *msg, + int msglen, int prtwidth, int linewidth) +{ + char msg_line[128]; + int msg_i = 0, i; + uint16_t *sw_msg = (uint16_t *)msg; + uint32_t *lw_msg = (uint32_t *)msg; + + if (hdr) + fprintf(fd, "%s\n", hdr); + + if (msglen % prtwidth) { + fprintf(fd, "msglen[%u] not aligned on width[%u]\n", + msglen, prtwidth); + prtwidth = 1; + } + + for (i = 0; i < msglen / prtwidth; i++) { + if ((i % linewidth == 0) && i) + fprintf(fd, "%s\n", msg_line); + if (i % linewidth == 0) { + msg_i = 0; + msg_i += snprintf(&msg_line[msg_i], + (sizeof(msg_line) - msg_i), + "0x%04x: ", (i * prtwidth)); + } + switch (prtwidth) { + case 2: + msg_i += snprintf(&msg_line[msg_i], + (sizeof(msg_line) - msg_i), + "0x%04x ", sw_msg[i]); + break; + + case 4: + msg_i += snprintf(&msg_line[msg_i], + (sizeof(msg_line) - msg_i), + "0x%08x ", lw_msg[i]); + break; + + case 1: + default: + msg_i += snprintf(&msg_line[msg_i], + (sizeof(msg_line) - msg_i), + "0x%02x ", msg[i]); + break; + } + } + fprintf(fd, "%s\n", msg_line); +} + +#define L2CTX_KEY_INFO_VALID(kptr) tfc_getbits(kptr, 255, 1) +#define L2CTX_KEY_INFO_SPARE(kptr) tfc_getbits(kptr, 253, 2) +#define L2CTX_KEY_INFO_MPASS_CNT(kptr) tfc_getbits(kptr, 251, 2) +#define L2CTX_KEY_INFO_RCYC(kptr) tfc_getbits(kptr, 247, 4) +#define L2CTX_KEY_INFO_LOOPBACK(kptr) tfc_getbits(kptr, 246, 1) +#define L2CTX_KEY_INFO_SPIF(kptr) tfc_getbits(kptr, 244, 2) +#define L2CTX_KEY_INFO_PARIF(kptr) tfc_getbits(kptr, 239, 5) +#define L2CTX_KEY_INFO_SVIF(kptr) tfc_getbits(kptr, 228, 11) +#define L2CTX_KEY_INFO_METADATA(kptr) tfc_getbits(kptr, 196, 32) +#define L2CTX_KEY_INFO_L2IP_FUNC(kptr) tfc_getbits(kptr, 188, 8) +#define L2CTX_KEY_INFO_ROCE(kptr) tfc_getbits(kptr, 187, 1) +#define L2CTX_KEY_INFO_PURE_LLC(kptr) tfc_getbits(kptr, 186, 1) +#define L2CTX_KEY_INFO_OT_HDR_TYPE(kptr) tfc_getbits(kptr, 181, 5) +#define L2CTX_KEY_INFO_T_HDR_TYPE(kptr) tfc_getbits(kptr, 176, 5) +#define L2CTX_KEY_INFO_TUNNEL_ID_CONTEXT_L4(kptr) tfc_getbits(kptr, 144, 32) + +#define L2CTX_KEY_INFO_IPV6_ADDR0_1(kptr) tfc_getbits(kptr, 80, 64) +#define L2CTX_KEY_INFO_IPV6_ADDR0_0(kptr) tfc_getbits(kptr, 16, 64) +#define L2CTX_KEY_INFO_IPV6_OTL2_TL2_L2_ETYPE(kptr) tfc_getbits(kptr, 0, 16) + +#define L2CTX_KEY_INFO_IPV4_ADDR0(kptr) tfc_getbits(kptr, 96, 48) +#define L2CTX_KEY_INFO_IPV4_ADDR1(kptr) tfc_getbits(kptr, 48, 48) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_VTAG_PRESENT(kptr) tfc_getbits(kptr, 47, 1) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_TWO_VTAGS(kptr) tfc_getbits(kptr, 46, 1) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_OVLAN_VID(kptr) tfc_getbits(kptr, 34, 12) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_OVLAN_TPID_SEL(kptr) tfc_getbits(kptr, 31, 3) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_IVLAN_VID(kptr) tfc_getbits(kptr, 19, 12) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_IVLAN_TPID_SEL(kptr) tfc_getbits(kptr, 16, 3) +#define L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_ETYPE(kptr) tfc_getbits(kptr, 0, 16) + +static void l2ctx_tcam_key_decode(uint32_t *l2ctx_key_ptr, + struct l2ctx_tcam_key_t *l2ctx_key_info) +{ + l2ctx_key_info->valid = L2CTX_KEY_INFO_VALID(l2ctx_key_ptr); + l2ctx_key_info->spare = L2CTX_KEY_INFO_SPARE(l2ctx_key_ptr); + l2ctx_key_info->mpass_cnt = L2CTX_KEY_INFO_MPASS_CNT(l2ctx_key_ptr); + l2ctx_key_info->rcyc = L2CTX_KEY_INFO_RCYC(l2ctx_key_ptr); + l2ctx_key_info->loopback = L2CTX_KEY_INFO_LOOPBACK(l2ctx_key_ptr); + l2ctx_key_info->spif = L2CTX_KEY_INFO_SPIF(l2ctx_key_ptr); + l2ctx_key_info->parif = L2CTX_KEY_INFO_PARIF(l2ctx_key_ptr); + l2ctx_key_info->svif = L2CTX_KEY_INFO_SVIF(l2ctx_key_ptr); + l2ctx_key_info->metadata = L2CTX_KEY_INFO_METADATA(l2ctx_key_ptr); + l2ctx_key_info->l2ip_func = L2CTX_KEY_INFO_L2IP_FUNC(l2ctx_key_ptr); + l2ctx_key_info->roce = L2CTX_KEY_INFO_ROCE(l2ctx_key_ptr); + l2ctx_key_info->pure_llc = L2CTX_KEY_INFO_PURE_LLC(l2ctx_key_ptr); + l2ctx_key_info->ot_hdr_type = L2CTX_KEY_INFO_OT_HDR_TYPE(l2ctx_key_ptr); + l2ctx_key_info->t_hdr_type = L2CTX_KEY_INFO_T_HDR_TYPE(l2ctx_key_ptr); + l2ctx_key_info->tunnel_id_context_L4 = L2CTX_KEY_INFO_TUNNEL_ID_CONTEXT_L4(l2ctx_key_ptr); + + if (l2ctx_key_info->t_hdr_type == 0x5 || + l2ctx_key_info->ot_hdr_type == 0x5) { + l2ctx_key_info->ipv6.ADDR0[1] = L2CTX_KEY_INFO_IPV6_ADDR0_1(l2ctx_key_ptr); + l2ctx_key_info->ipv6.ADDR0[0] = L2CTX_KEY_INFO_IPV6_ADDR0_0(l2ctx_key_ptr); + l2ctx_key_info->ipv6.otl2_tl2_l2_etype = + L2CTX_KEY_INFO_IPV6_OTL2_TL2_L2_ETYPE(l2ctx_key_ptr); + } else { + l2ctx_key_info->ipv4.ADDR0 = L2CTX_KEY_INFO_IPV4_ADDR0(l2ctx_key_ptr); + l2ctx_key_info->ipv4.ADDR1 = L2CTX_KEY_INFO_IPV4_ADDR1(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_vtag_present = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_VTAG_PRESENT(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_two_vtags = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_TWO_VTAGS(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_ovlan_vid = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_OVLAN_VID(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_ovlan_tpid_sel = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_OVLAN_TPID_SEL(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_ivlan_vid = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_IVLAN_VID(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_ivlan_tpid_sel = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_IVLAN_TPID_SEL(l2ctx_key_ptr); + l2ctx_key_info->ipv4.otl2_tl2_l2_etype = + L2CTX_KEY_INFO_IPV4_OTL2_TL2_L2_ETYPE(l2ctx_key_ptr); + } +} + +#define L2CTX_RMP_INFO_PRSV_PARIF(kptr) tfc_getbits(l2ctx_rmp_ptr, 126, 1) +#define L2CTX_RMP_INFO_PARIF(kptr) tfc_getbits(l2ctx_rmp_ptr, 121, 5) +#define L2CTX_RMP_INFO_PRSV_L2IP_CTXT(kptr) tfc_getbits(l2ctx_rmp_ptr, 120, 1) +#define L2CTX_RMP_INFO_L2IP_CTXT(kptr) tfc_getbits(l2ctx_rmp_ptr, 109, 11) +#define L2CTX_RMP_INFO_PRSV_PROF_FUNC(kptr) tfc_getbits(l2ctx_rmp_ptr, 108, 1) +#define L2CTX_RMP_INFO_PROF_FUNC(kptr) tfc_getbits(l2ctx_rmp_ptr, 100, 8) +#define L2CTX_RMP_INFO_CTXT_OPCODE(kptr) tfc_getbits(l2ctx_rmp_ptr, 98, 2) +#define L2CTX_RMP_INFO_L2IP_META_ENB(kptr) tfc_getbits(l2ctx_rmp_ptr, 97, 1) +#define L2CTX_RMP_INFO_L2IP_META_PROF(kptr) tfc_getbits(l2ctx_rmp_ptr, 94, 3) +#define L2CTX_RMP_INFO_L2IP_META_DATA(kptr) tfc_getbits(l2ctx_rmp_ptr, 62, 32) +#define L2CTX_RMP_INFO_L2IP_ACT_ENB(kptr) tfc_getbits(l2ctx_rmp_ptr, 61, 1) +#define L2CTX_RMP_INFO_L2IP_ACT_HINT(kptr) tfc_getbits(l2ctx_rmp_ptr, 59, 2) +#define L2CTX_RMP_INFO_L2IP_ACT_SCOPE(kptr) tfc_getbits(l2ctx_rmp_ptr, 54, 5) +#define L2CTX_RMP_INFO_L2IP_ACT_PTR(kptr) tfc_getbits(l2ctx_rmp_ptr, 28, 26) +#define L2CTX_RMP_INFO_L2IP_RFS_ENB(kptr) tfc_getbits(l2ctx_rmp_ptr, 27, 1) +#define L2CTX_RMP_INFO_L2IP_RFS_DATA(kptr) tfc_getbits(l2ctx_rmp_ptr, 18, 9) +#define L2CTX_RMP_INFO_L2IP_DEST_ENB(kptr) tfc_getbits(l2ctx_rmp_ptr, 17, 1) +#define L2CTX_RMP_INFO_L2IP_DEST_DATA(kptr) tfc_getbits(l2ctx_rmp_ptr, 0, 17) + +static void l2ctx_tcam_remap_decode(uint32_t *l2ctx_rmp_ptr, + struct l2ctx_tcam_remap_t *l2ctx_rmp_info, + struct tfc_ts_mem_cfg *act_mem_cfg) +{ + l2ctx_rmp_info->prsv_parif = L2CTX_RMP_INFO_PRSV_PARIF(l2ctx_rmp_ptr); + l2ctx_rmp_info->parif = L2CTX_RMP_INFO_PARIF(l2ctx_rmp_ptr); + l2ctx_rmp_info->prsv_l2ip_ctxt = L2CTX_RMP_INFO_PRSV_L2IP_CTXT(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_ctxt = L2CTX_RMP_INFO_L2IP_CTXT(l2ctx_rmp_ptr); + l2ctx_rmp_info->prsv_prof_func = L2CTX_RMP_INFO_PRSV_PROF_FUNC(l2ctx_rmp_ptr); + l2ctx_rmp_info->prof_func = L2CTX_RMP_INFO_PROF_FUNC(l2ctx_rmp_ptr); + l2ctx_rmp_info->ctxt_opcode = L2CTX_RMP_INFO_CTXT_OPCODE(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_meta_enb = L2CTX_RMP_INFO_L2IP_META_ENB(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_meta_prof = L2CTX_RMP_INFO_L2IP_META_PROF(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_meta_data = L2CTX_RMP_INFO_L2IP_META_DATA(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_act_enb = L2CTX_RMP_INFO_L2IP_ACT_ENB(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_act_hint = L2CTX_RMP_INFO_L2IP_ACT_HINT(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_act_scope = L2CTX_RMP_INFO_L2IP_ACT_SCOPE(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_act_ptr = L2CTX_RMP_INFO_L2IP_ACT_PTR(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_rfs_enb = L2CTX_RMP_INFO_L2IP_RFS_ENB(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_rfs_data = L2CTX_RMP_INFO_L2IP_RFS_DATA(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_dest_enb = L2CTX_RMP_INFO_L2IP_DEST_ENB(l2ctx_rmp_ptr); + l2ctx_rmp_info->l2ip_dest_data = L2CTX_RMP_INFO_L2IP_DEST_DATA(l2ctx_rmp_ptr); + act_process(l2ctx_rmp_info->l2ip_act_ptr, &l2ctx_rmp_info->act_info, act_mem_cfg); +} + +static void l2ctx_tcam_show(FILE *fd, + struct l2ctx_tcam_key_t *l2ctx_key_info, + struct l2ctx_tcam_key_t *l2ctx_mask_info, + struct l2ctx_tcam_remap_t *l2ctx_rmp_info) +{ + char *line1 = NULL; + char *line2 = NULL; + char *line3 = NULL; + char *line4 = NULL; + char *line5 = NULL; + + line1 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line2 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line3 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line4 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line5 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + if (!line1 || !line2 || !line3 || !line4 || !line5) { + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + rte_free(line5); + fprintf(fd, "%s: Failed to allocate temp buffer\n", + __func__); + return; + } + + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+---+----+---+----+-----+----+---------" + "+------+----+----+---+---+----------+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "|V|Sp|mpc|rcyc|lbk|spif|parif|svif| metadata" + "|l2func|roce|pllc|OTH| TH|TID/ctx/L4|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+---+----+---+----+-----+----+---------" + "+------+----+----+---+---+----------+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x %01x %01x x%01x %01x %01x x%02x" + " x%03x x%08x x%02x %01x %01x x%02x x%02x x%08x key\n", + l2ctx_key_info->valid, + l2ctx_key_info->spare, + l2ctx_key_info->mpass_cnt, + l2ctx_key_info->rcyc, + l2ctx_key_info->loopback, + l2ctx_key_info->spif, + l2ctx_key_info->parif, + l2ctx_key_info->svif, + l2ctx_key_info->metadata, + l2ctx_key_info->l2ip_func, + l2ctx_key_info->roce, + l2ctx_key_info->pure_llc, + l2ctx_key_info->ot_hdr_type, + l2ctx_key_info->t_hdr_type, + l2ctx_key_info->tunnel_id_context_L4); + snprintf(line5, TFC_STRING_LENGTH_256, " %01x %01x %01x x%01x %01x %01x x%02x" + " x%03x x%08x x%02x %01x %01x x%02x x%02x x%08x mask\n", + l2ctx_mask_info->valid, + l2ctx_mask_info->spare, + l2ctx_mask_info->mpass_cnt, + l2ctx_mask_info->rcyc, + l2ctx_mask_info->loopback, + l2ctx_mask_info->spif, + l2ctx_mask_info->parif, + l2ctx_mask_info->svif, + l2ctx_mask_info->metadata, + l2ctx_mask_info->l2ip_func, + l2ctx_mask_info->roce, + l2ctx_mask_info->pure_llc, + l2ctx_mask_info->ot_hdr_type, + l2ctx_mask_info->t_hdr_type, + l2ctx_mask_info->tunnel_id_context_L4); + fprintf(fd, "%s%s%s%s%s", + line1, + line2, + line3, + line5, + line4); + + if (l2ctx_key_info->t_hdr_type == 0x5 || + l2ctx_key_info->ot_hdr_type == 0x5) { + snprintf(line1, TFC_STRING_LENGTH_256, "+------IPv6-------+------IPv6-------" + "+-----+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "| ADDR0 | ADDR1 " + "|etype|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-----------------+-----------------" + "+-----+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " x%016lx x%016lx x%04x key\n", + l2ctx_key_info->ipv6.ADDR0[1], + l2ctx_key_info->ipv6.ADDR0[0], + l2ctx_key_info->ipv6.otl2_tl2_l2_etype); + snprintf(line5, TFC_STRING_LENGTH_256, " x%016lx x%016lx x%04x mask\n", + l2ctx_mask_info->ipv6.ADDR0[1], + l2ctx_mask_info->ipv6.ADDR0[0], + l2ctx_mask_info->ipv6.otl2_tl2_l2_etype); + } else { + snprintf(line1, TFC_STRING_LENGTH_256, "+----IPv4-----+----IPv4-----+--+---" + "+----+-----+----+-----+-----+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "| ADDR0 | ADDR1 |VT|2VT" + "|ovid|otpid|ivid|itpid|etype|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-------------+-------------+--+---" + "+----+-----+----+-----+-----+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " x%012lx x%012lx %01x %01x x%03x" + " %01x x%03x %01x x%04x key\n", + l2ctx_key_info->ipv4.ADDR0, + l2ctx_key_info->ipv4.ADDR1, + l2ctx_key_info->ipv4.otl2_tl2_l2_vtag_present, + l2ctx_key_info->ipv4.otl2_tl2_l2_two_vtags, + l2ctx_key_info->ipv4.otl2_tl2_l2_ovlan_vid, + l2ctx_key_info->ipv4.otl2_tl2_l2_ovlan_tpid_sel, + l2ctx_key_info->ipv4.otl2_tl2_l2_ivlan_vid, + l2ctx_key_info->ipv4.otl2_tl2_l2_ivlan_tpid_sel, + l2ctx_key_info->ipv4.otl2_tl2_l2_etype); + snprintf(line5, TFC_STRING_LENGTH_256, " x%012lx x%012lx %01x %01x x%03x" + " %01x x%03x %01x x%04x mask\n", + l2ctx_mask_info->ipv4.ADDR0, + l2ctx_mask_info->ipv4.ADDR1, + l2ctx_mask_info->ipv4.otl2_tl2_l2_vtag_present, + l2ctx_mask_info->ipv4.otl2_tl2_l2_two_vtags, + l2ctx_mask_info->ipv4.otl2_tl2_l2_ovlan_vid, + l2ctx_mask_info->ipv4.otl2_tl2_l2_ovlan_tpid_sel, + l2ctx_mask_info->ipv4.otl2_tl2_l2_ivlan_vid, + l2ctx_mask_info->ipv4.otl2_tl2_l2_ivlan_tpid_sel, + l2ctx_mask_info->ipv4.otl2_tl2_l2_etype); + } + fprintf(fd, "%s%s%s%s%s", + line1, + line2, + line3, + line5, + line4); + + fputs(":L2CTX TCAM: remap\n", fd); + snprintf(line1, TFC_STRING_LENGTH_256, "+---+----+----+----+---+---+-----+---" + "+-----+---------+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "|PIP|prif|PL2C| L2C|PPF|PRF|ctxop|mde" + "|mprof| metadata|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+---+----+----+----+---+---+-----+---" + "+-----+---------+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x x%02x %01x x%03x %01x x%02x" + " %01x %01x %01x x%08x\n", + l2ctx_rmp_info->prsv_parif, + l2ctx_rmp_info->parif, + l2ctx_rmp_info->prsv_l2ip_ctxt, + l2ctx_rmp_info->l2ip_ctxt, + l2ctx_rmp_info->prsv_prof_func, + l2ctx_rmp_info->prof_func, + l2ctx_rmp_info->ctxt_opcode, + l2ctx_rmp_info->l2ip_meta_enb, + l2ctx_rmp_info->l2ip_meta_prof, + l2ctx_rmp_info->l2ip_meta_data); + fprintf(fd, "%s%s%s%s", + line1, + line2, + line3, + line4); + + snprintf(line1, TFC_STRING_LENGTH_256, "+----+----+----+---------+----+-------" + "+----+--------+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "|acte|ahnt|ascp| act |rfse|rfsdata" + "|dste|dst_data|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+----+----+----+---------+----+-------" + "+----+--------+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x %01x x%02x x%08x %01x" + " x%03x %01x x%05x\n", + l2ctx_rmp_info->l2ip_act_enb, + l2ctx_rmp_info->l2ip_act_hint, + l2ctx_rmp_info->l2ip_act_scope, + l2ctx_rmp_info->l2ip_act_ptr, + l2ctx_rmp_info->l2ip_rfs_enb, + l2ctx_rmp_info->l2ip_rfs_data, + l2ctx_rmp_info->l2ip_dest_enb, + l2ctx_rmp_info->l2ip_dest_data); + fprintf(fd, "%s%s%s%s", + line1, + line2, + line3, + line4); + + act_show(fd, &l2ctx_rmp_info->act_info, l2ctx_rmp_info->l2ip_act_ptr << 5); + + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + rte_free(line5); +} + +#define PTKEY_INFO_VALID(kptr) tfc_getbits(kptr, 183, 1) +#define PTKEY_INFO_SPARE(kptr) tfc_getbits(kptr, 181, 2) +#define PTKEY_INFO_LOOPBACK(kptr) tfc_getbits(kptr, 180, 1) +#define PTKEY_INFO_PKT_TYPE(kptr) tfc_getbits(kptr, 176, 4) +#define PTKEY_INFO_RCYC(kptr) tfc_getbits(kptr, 172, 4) +#define PTKEY_INFO_METADATA(kptr) tfc_getbits(kptr, 140, 32) +#define PTKEY_INFO_AGG_ERROR(kptr) tfc_getbits(kptr, 139, 1) +#define PTKEY_INFO_L2IP_FUNC(kptr) tfc_getbits(kptr, 131, 8) +#define PTKEY_INFO_PROF_FUNC(kptr) tfc_getbits(kptr, 123, 8) +#define PTKEY_INFO_HREC_NEXT(kptr) tfc_getbits(kptr, 121, 2) +#define PTKEY_INFO_INT_HDR_TYPE(kptr) tfc_getbits(kptr, 119, 2) +#define PTKEY_INFO_INT_HDR_GROUP(kptr) tfc_getbits(kptr, 117, 2) +#define PTKEY_INFO_INT_IFA_TAIL(kptr) tfc_getbits(kptr, 116, 1) + +#define PTKEY_INFO_OTL2_HDR_VALID(kptr) tfc_getbits(kptr, 115, 1) +#define PTKEY_INFO_OTL2_HDR_TYPE(kptr) tfc_getbits(kptr, 113, 2) +#define PTKEY_INFO_OTL2_UC_MC_BC(kptr) tfc_getbits(kptr, 111, 2) +#define PTKEY_INFO_OTL2_VTAG_PRESENT(kptr) tfc_getbits(kptr, 110, 1) +#define PTKEY_INFO_OTL2_TWO_VTAGS(kptr) tfc_getbits(kptr, 109, 1) + +#define PTKEY_INFO_OTL3_HDR_VALID(kptr) tfc_getbits(kptr, 108, 1) +#define PTKEY_INFO_OTL3_HDR_ERROR(kptr) tfc_getbits(kptr, 107, 1) +#define PTKEY_INFO_OTL3_HDR_TYPE(kptr) tfc_getbits(kptr, 103, 4) +#define PTKEY_INFO_OTL3_HDR_ISIP(kptr) tfc_getbits(kptr, 102, 1) + +#define PTKEY_INFO_OTL4_HDR_VALID(kptr) tfc_getbits(kptr, 101, 1) +#define PTKEY_INFO_OTL4_HDR_ERROR(kptr) tfc_getbits(kptr, 100, 1) +#define PTKEY_INFO_OTL4_HDR_TYPE(kptr) tfc_getbits(kptr, 96, 4) +#define PTKEY_INFO_OTL4_HDR_IS_UDP_TCP(kptr) tfc_getbits(kptr, 95, 1) + +#define PTKEY_INFO_OT_HDR_VALID(kptr) tfc_getbits(kptr, 94, 1) +#define PTKEY_INFO_OT_HDR_ERROR(kptr) tfc_getbits(kptr, 93, 1) +#define PTKEY_INFO_OT_HDR_TYPE(kptr) tfc_getbits(kptr, 88, 5) +#define PTKEY_INFO_OT_HDR_FLAGS(kptr) tfc_getbits(kptr, 80, 8) + +#define PTKEY_INFO_TL2_HDR_VALID(kptr) tfc_getbits(kptr, 79, 1) +#define PTKEY_INFO_TL2_HDR_TYPE(kptr) tfc_getbits(kptr, 77, 2) +#define PTKEY_INFO_TL2_UC_MC_BC(kptr) tfc_getbits(kptr, 75, 2) +#define PTKEY_INFO_TL2_VTAG_PRESENT(kptr) tfc_getbits(kptr, 74, 1) +#define PTKEY_INFO_TL2_TWO_VTAGS(kptr) tfc_getbits(kptr, 73, 1) + +#define PTKEY_INFO_TL3_HDR_VALID(kptr) tfc_getbits(kptr, 72, 1) +#define PTKEY_INFO_TL3_HDR_ERROR(kptr) tfc_getbits(kptr, 71, 1) +#define PTKEY_INFO_TL3_HDR_TYPE(kptr) tfc_getbits(kptr, 67, 4) +#define PTKEY_INFO_TL3_HDR_ISIP(kptr) tfc_getbits(kptr, 66, 1) + +#define PTKEY_INFO_TL4_HDR_VALID(kptr) tfc_getbits(kptr, 65, 1) +#define PTKEY_INFO_TL4_HDR_ERROR(kptr) tfc_getbits(kptr, 64, 1) +#define PTKEY_INFO_TL4_HDR_TYPE(kptr) tfc_getbits(kptr, 60, 4) +#define PTKEY_INFO_TL4_HDR_IS_UDP_TCP(kptr) tfc_getbits(kptr, 59, 1) + +#define PTKEY_INFO_T_HDR_VALID(kptr) tfc_getbits(kptr, 58, 1) +#define PTKEY_INFO_T_HDR_ERROR(kptr) tfc_getbits(kptr, 57, 1) +#define PTKEY_INFO_T_HDR_TYPE(kptr) tfc_getbits(kptr, 52, 5) +#define PTKEY_INFO_T_HDR_FLAGS(kptr) tfc_getbits(kptr, 44, 8) + +#define PTKEY_INFO_L2_HDR_VALID(kptr) tfc_getbits(kptr, 43, 1) +#define PTKEY_INFO_L2_HDR_ERROR(kptr) tfc_getbits(kptr, 42, 1) +#define PTKEY_INFO_L2_HDR_TYPE(kptr) tfc_getbits(kptr, 40, 2) +#define PTKEY_INFO_L2_UC_MC_BC(kptr) tfc_getbits(kptr, 38, 2) +#define PTKEY_INFO_L2_VTAG_PRESENT(kptr) tfc_getbits(kptr, 37, 1) +#define PTKEY_INFO_L2_TWO_VTAGS(kptr) tfc_getbits(kptr, 36, 1) + +#define PTKEY_INFO_L3_HDR_VALID(kptr) tfc_getbits(kptr, 35, 1) +#define PTKEY_INFO_L3_HDR_ERROR(kptr) tfc_getbits(kptr, 34, 1) +#define PTKEY_INFO_L3_HDR_TYPE(kptr) tfc_getbits(kptr, 30, 4) +#define PTKEY_INFO_L3_HDR_ISIP(kptr) tfc_getbits(kptr, 29, 1) +#define PTKEY_INFO_L3_PROTOCOL(kptr) tfc_getbits(kptr, 21, 8) + +#define PTKEY_INFO_L4_HDR_VALID(kptr) tfc_getbits(kptr, 20, 1) +#define PTKEY_INFO_L4_HDR_ERROR(kptr) tfc_getbits(kptr, 19, 1) +#define PTKEY_INFO_L4_HDR_TYPE(kptr) tfc_getbits(kptr, 15, 4) +#define PTKEY_INFO_L4_HDR_IS_UDP_TCP(kptr) tfc_getbits(kptr, 14, 1) +#define PTKEY_INFO_L4_HDR_SUBTYPE(kptr) tfc_getbits(kptr, 11, 3) +#define PTKEY_INFO_L4_FLAGS(kptr) tfc_getbits(kptr, 2, 9) +#define PTKEY_INFO_L4_DCN_PRESENT(kptr) tfc_getbits(kptr, 0, 2) + +static void prof_tcam_key_decode(uint32_t *ptc_key_ptr, + struct prof_tcam_key_t *ptkey_info) +{ + ptkey_info->valid = PTKEY_INFO_VALID(ptc_key_ptr); + ptkey_info->spare = PTKEY_INFO_SPARE(ptc_key_ptr); + ptkey_info->loopback = PTKEY_INFO_LOOPBACK(ptc_key_ptr); + ptkey_info->pkt_type = PTKEY_INFO_PKT_TYPE(ptc_key_ptr); + ptkey_info->rcyc = PTKEY_INFO_RCYC(ptc_key_ptr); + ptkey_info->metadata = PTKEY_INFO_METADATA(ptc_key_ptr); + ptkey_info->agg_error = PTKEY_INFO_AGG_ERROR(ptc_key_ptr); + ptkey_info->l2ip_func = PTKEY_INFO_L2IP_FUNC(ptc_key_ptr); + ptkey_info->prof_func = PTKEY_INFO_PROF_FUNC(ptc_key_ptr); + ptkey_info->hrec_next = PTKEY_INFO_HREC_NEXT(ptc_key_ptr); + ptkey_info->int_hdr_type = PTKEY_INFO_INT_HDR_TYPE(ptc_key_ptr); + ptkey_info->int_hdr_group = PTKEY_INFO_INT_HDR_GROUP(ptc_key_ptr); + ptkey_info->int_ifa_tail = PTKEY_INFO_INT_IFA_TAIL(ptc_key_ptr); + + ptkey_info->otl2_hdr_valid = PTKEY_INFO_OTL2_HDR_VALID(ptc_key_ptr); + ptkey_info->otl2_hdr_type = PTKEY_INFO_OTL2_HDR_TYPE(ptc_key_ptr); + ptkey_info->otl2_uc_mc_bc = PTKEY_INFO_OTL2_UC_MC_BC(ptc_key_ptr); + ptkey_info->otl2_vtag_present = PTKEY_INFO_OTL2_VTAG_PRESENT(ptc_key_ptr); + ptkey_info->otl2_two_vtags = PTKEY_INFO_OTL2_TWO_VTAGS(ptc_key_ptr); + + ptkey_info->otl3_hdr_valid = PTKEY_INFO_OTL3_HDR_VALID(ptc_key_ptr); + ptkey_info->otl3_hdr_error = PTKEY_INFO_OTL3_HDR_ERROR(ptc_key_ptr); + ptkey_info->otl3_hdr_type = PTKEY_INFO_OTL3_HDR_TYPE(ptc_key_ptr); + ptkey_info->otl3_hdr_isip = PTKEY_INFO_OTL3_HDR_ISIP(ptc_key_ptr); + + ptkey_info->otl4_hdr_valid = PTKEY_INFO_OTL4_HDR_VALID(ptc_key_ptr); + ptkey_info->otl4_hdr_error = PTKEY_INFO_OTL4_HDR_ERROR(ptc_key_ptr); + ptkey_info->otl4_hdr_type = PTKEY_INFO_OTL4_HDR_TYPE(ptc_key_ptr); + ptkey_info->otl4_hdr_is_udp_tcp = PTKEY_INFO_OTL4_HDR_IS_UDP_TCP(ptc_key_ptr); + + ptkey_info->ot_hdr_valid = PTKEY_INFO_OT_HDR_VALID(ptc_key_ptr); + ptkey_info->ot_hdr_error = PTKEY_INFO_OT_HDR_ERROR(ptc_key_ptr); + ptkey_info->ot_hdr_type = PTKEY_INFO_OT_HDR_TYPE(ptc_key_ptr); + ptkey_info->ot_hdr_flags = PTKEY_INFO_OT_HDR_FLAGS(ptc_key_ptr); + + ptkey_info->tl2_hdr_valid = PTKEY_INFO_TL2_HDR_VALID(ptc_key_ptr); + ptkey_info->tl2_hdr_type = PTKEY_INFO_TL2_HDR_TYPE(ptc_key_ptr); + ptkey_info->tl2_uc_mc_bc = PTKEY_INFO_TL2_UC_MC_BC(ptc_key_ptr); + ptkey_info->tl2_vtag_present = PTKEY_INFO_TL2_VTAG_PRESENT(ptc_key_ptr); + ptkey_info->tl2_two_vtags = PTKEY_INFO_TL2_TWO_VTAGS(ptc_key_ptr); + + ptkey_info->tl3_hdr_valid = PTKEY_INFO_TL3_HDR_VALID(ptc_key_ptr); + ptkey_info->tl3_hdr_error = PTKEY_INFO_TL3_HDR_ERROR(ptc_key_ptr); + ptkey_info->tl3_hdr_type = PTKEY_INFO_TL3_HDR_TYPE(ptc_key_ptr); + ptkey_info->tl3_hdr_isip = PTKEY_INFO_TL3_HDR_ISIP(ptc_key_ptr); + + ptkey_info->tl4_hdr_valid = PTKEY_INFO_TL4_HDR_VALID(ptc_key_ptr); + ptkey_info->tl4_hdr_error = PTKEY_INFO_TL4_HDR_ERROR(ptc_key_ptr); + ptkey_info->tl4_hdr_type = PTKEY_INFO_TL4_HDR_TYPE(ptc_key_ptr); + ptkey_info->tl4_hdr_is_udp_tcp = PTKEY_INFO_TL4_HDR_IS_UDP_TCP(ptc_key_ptr); + + ptkey_info->t_hdr_valid = PTKEY_INFO_T_HDR_VALID(ptc_key_ptr); + ptkey_info->t_hdr_error = PTKEY_INFO_T_HDR_ERROR(ptc_key_ptr); + ptkey_info->t_hdr_type = PTKEY_INFO_T_HDR_TYPE(ptc_key_ptr); + ptkey_info->t_hdr_flags = PTKEY_INFO_T_HDR_FLAGS(ptc_key_ptr); + + ptkey_info->l2_hdr_valid = PTKEY_INFO_L2_HDR_VALID(ptc_key_ptr); + ptkey_info->l2_hdr_error = PTKEY_INFO_L2_HDR_ERROR(ptc_key_ptr); + ptkey_info->l2_hdr_type = PTKEY_INFO_L2_HDR_TYPE(ptc_key_ptr); + ptkey_info->l2_uc_mc_bc = PTKEY_INFO_L2_UC_MC_BC(ptc_key_ptr); + ptkey_info->l2_vtag_present = PTKEY_INFO_L2_VTAG_PRESENT(ptc_key_ptr); + ptkey_info->l2_two_vtags = PTKEY_INFO_L2_TWO_VTAGS(ptc_key_ptr); + + ptkey_info->l3_hdr_valid = PTKEY_INFO_L3_HDR_VALID(ptc_key_ptr); + ptkey_info->l3_hdr_error = PTKEY_INFO_L3_HDR_ERROR(ptc_key_ptr); + ptkey_info->l3_hdr_type = PTKEY_INFO_L3_HDR_TYPE(ptc_key_ptr); + ptkey_info->l3_hdr_isip = PTKEY_INFO_L3_HDR_ISIP(ptc_key_ptr); + ptkey_info->l3_protocol = PTKEY_INFO_L3_PROTOCOL(ptc_key_ptr); + + ptkey_info->l4_hdr_valid = PTKEY_INFO_L4_HDR_VALID(ptc_key_ptr); + ptkey_info->l4_hdr_error = PTKEY_INFO_L4_HDR_ERROR(ptc_key_ptr); + ptkey_info->l4_hdr_type = PTKEY_INFO_L4_HDR_TYPE(ptc_key_ptr); + ptkey_info->l4_hdr_is_udp_tcp = PTKEY_INFO_L4_HDR_IS_UDP_TCP(ptc_key_ptr); + ptkey_info->l4_hdr_subtype = PTKEY_INFO_L4_HDR_SUBTYPE(ptc_key_ptr); + ptkey_info->l4_flags = PTKEY_INFO_L4_FLAGS(ptc_key_ptr); + ptkey_info->l4_dcn_present = PTKEY_INFO_L4_DCN_PRESENT(ptc_key_ptr); +} + +#define PTRMP_INFO_PL_BYP_LKUP_EN(kptr) tfc_getbits(ptc_rmp_ptr, 42, 1) +#define PTRMP_INFO_EM_SEARCH_EN(kptr) tfc_getbits(ptc_rmp_ptr, 41, 1) +#define PTRMP_INFO_EM_PROFILE_ID(kptr) tfc_getbits(ptc_rmp_ptr, 33, 8) +#define PTRMP_INFO_EM_KEY_ID(kptr) tfc_getbits(ptc_rmp_ptr, 26, 7) +#define PTRMP_INFO_EM_SCOPE(kptr) tfc_getbits(ptc_rmp_ptr, 21, 5) +#define PTRMP_INFO_TCAM_SEARCH_EN(kptr) tfc_getbits(ptc_rmp_ptr, 20, 1) +#define PTRMP_INFO_TCAM_PROFILE_ID(kptr) tfc_getbits(ptc_rmp_ptr, 12, 8) +#define PTRMP_INFO_TCAM_KEY_ID(kptr) tfc_getbits(ptc_rmp_ptr, 5, 7) +#define PTRMP_INFO_TCAM_SCOPE(kptr) tfc_getbits(ptc_rmp_ptr, 0, 5) + +static void prof_tcam_remap_decode(uint32_t *ptc_rmp_ptr, + struct prof_tcam_remap_t *ptrmp_info) +{ + ptrmp_info->pl_byp_lkup_en = PTRMP_INFO_PL_BYP_LKUP_EN(ptc_rmp_ptr) ? true : false; + ptrmp_info->em_search_en = PTRMP_INFO_EM_SEARCH_EN(ptc_rmp_ptr) ? true : false; + ptrmp_info->em_profile_id = PTRMP_INFO_EM_PROFILE_ID(ptc_rmp_ptr); + ptrmp_info->em_key_id = PTRMP_INFO_EM_KEY_ID(ptc_rmp_ptr); + ptrmp_info->em_scope = PTRMP_INFO_EM_SCOPE(ptc_rmp_ptr); + ptrmp_info->tcam_search_en = PTRMP_INFO_TCAM_SEARCH_EN(ptc_rmp_ptr) ? true : false; + ptrmp_info->tcam_profile_id = PTRMP_INFO_TCAM_PROFILE_ID(ptc_rmp_ptr); + ptrmp_info->tcam_key_id = PTRMP_INFO_TCAM_KEY_ID(ptc_rmp_ptr); + ptrmp_info->tcam_scope = PTRMP_INFO_TCAM_SCOPE(ptc_rmp_ptr); +} + +static void prof_tcam_show(FILE *fd, + struct prof_tcam_key_t *ptkey_info, + struct prof_tcam_key_t *ptmask_info, + struct prof_tcam_remap_t *ptrmp_info) +{ + char tmph[TFC_STRING_LENGTH_64]; + char tmp1[TFC_STRING_LENGTH_64]; + char tmp2[TFC_STRING_LENGTH_64]; + char tmp3[TFC_STRING_LENGTH_64]; + char tmp4[TFC_STRING_LENGTH_64]; + char tmp5[TFC_STRING_LENGTH_64]; + char *lineh = NULL; + char *line1 = NULL; + char *line2 = NULL; + char *line3 = NULL; + char *line4 = NULL; + char *line5 = NULL; + + lineh = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line1 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line2 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line3 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line4 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line5 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + if (!lineh || !line1 || !line2 || !line3 || !line4 || !line5) { + rte_free(lineh); + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + rte_free(line5); + fprintf(fd, "%s: Failed to allocate temp buffer\n", + __func__); + return; + } + + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+----+----+----+---------+------" + "+--------+-------+-----+---+---+---+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "|V|Sp|lpbk|ptyp|rcyc| MD |aggerr" + "|l2ipfunc|profunc|hrnxt|IHT|IHG|IIT|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+----+----+----+---------+------" + "+--------+-------+-----+---+---+---+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x x%01x %01x x%01x x%01x x%08x" + " %01x x%02x x%02x x%01x x%01x x%01x %01x key\n", + ptkey_info->valid, + ptkey_info->spare, + ptkey_info->loopback, + ptkey_info->pkt_type, + ptkey_info->rcyc, + ptkey_info->metadata, + ptkey_info->agg_error, + ptkey_info->l2ip_func, + ptkey_info->prof_func, + ptkey_info->hrec_next, + ptkey_info->int_hdr_type, + ptkey_info->int_hdr_group, + ptkey_info->int_ifa_tail); + snprintf(line5, TFC_STRING_LENGTH_256, " %01x x%01x %01x x%01x x%01x x%08x" + " %01x x%02x x%02x x%01x x%01x x%01x %01x mask\n", + ptmask_info->valid, + ptmask_info->spare, + ptmask_info->loopback, + ptmask_info->pkt_type, + ptmask_info->rcyc, + ptmask_info->metadata, + ptmask_info->agg_error, + ptmask_info->l2ip_func, + ptmask_info->prof_func, + ptmask_info->hrec_next, + ptmask_info->int_hdr_type, + ptmask_info->int_hdr_group, + ptmask_info->int_ifa_tail); + fprintf(fd, "%s%s%s%s%s", + line1, + line2, + line3, + line5, + line4); + + snprintf(lineh, TFC_STRING_LENGTH_256, "|OTL2 hdr |"); + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line2, TFC_STRING_LENGTH_256, "|V|HT|UMB|VT|2VT|"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptkey_info->otl2_hdr_valid, + ptkey_info->otl2_hdr_type, + ptkey_info->otl2_uc_mc_bc, + ptkey_info->otl2_vtag_present, + ptkey_info->otl2_two_vtags); + snprintf(line5, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptmask_info->otl2_hdr_valid, + ptmask_info->otl2_hdr_type, + ptmask_info->otl2_uc_mc_bc, + ptmask_info->otl2_vtag_present, + ptmask_info->otl2_two_vtags); + + snprintf(tmph, TFC_STRING_LENGTH_64, "OTL3 hdr |"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x ", + ptkey_info->otl3_hdr_valid, + ptkey_info->otl3_hdr_error, + ptkey_info->otl3_hdr_type, + ptkey_info->otl3_hdr_isip); + snprintf(tmp5, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x ", + ptmask_info->otl3_hdr_valid, + ptmask_info->otl3_hdr_error, + ptmask_info->otl3_hdr_type, + ptmask_info->otl3_hdr_isip); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + snprintf(tmph, TFC_STRING_LENGTH_64, "OTL4 hdr |"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x ", + ptkey_info->otl4_hdr_valid, + ptkey_info->otl4_hdr_error, + ptkey_info->otl4_hdr_type, + ptkey_info->otl4_hdr_is_udp_tcp); + snprintf(tmp5, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x ", + ptmask_info->otl4_hdr_valid, + ptmask_info->otl4_hdr_error, + ptmask_info->otl4_hdr_type, + ptmask_info->otl4_hdr_is_udp_tcp); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + snprintf(tmph, TFC_STRING_LENGTH_64, "OT hdr |\n"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+---+---+\n"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE| HT|flg|\n"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+---+---+\n"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%01x %01x x%02x x%02x key\n", + ptkey_info->ot_hdr_valid, + ptkey_info->ot_hdr_error, + ptkey_info->ot_hdr_type, + ptkey_info->ot_hdr_flags); + snprintf(tmp5, TFC_STRING_LENGTH_64, "%01x %01x x%02x x%02x mask\n", + ptmask_info->ot_hdr_valid, + ptmask_info->ot_hdr_error, + ptmask_info->ot_hdr_type, + ptmask_info->ot_hdr_flags); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + fprintf(fd, "%s%s%s%s%s%s", + lineh, + line1, + line2, + line3, + line5, + line4); + + snprintf(lineh, TFC_STRING_LENGTH_256, "|TL2 hdr |"); + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line2, TFC_STRING_LENGTH_256, "|V|HT|UMB|VT|2VT|"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptkey_info->tl2_hdr_valid, + ptkey_info->tl2_hdr_type, + ptkey_info->tl2_uc_mc_bc, + ptkey_info->tl2_vtag_present, + ptkey_info->tl2_two_vtags); + snprintf(line5, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptmask_info->tl2_hdr_valid, + ptmask_info->tl2_hdr_type, + ptmask_info->tl2_uc_mc_bc, + ptmask_info->tl2_vtag_present, + ptmask_info->tl2_two_vtags); + + snprintf(tmph, TFC_STRING_LENGTH_64, "TL3 hdr |"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x ", + ptkey_info->tl3_hdr_valid, + ptkey_info->tl3_hdr_error, + ptkey_info->tl3_hdr_type, + ptkey_info->tl3_hdr_isip); + snprintf(tmp5, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x ", + ptmask_info->tl3_hdr_valid, + ptmask_info->tl3_hdr_error, + ptmask_info->tl3_hdr_type, + ptmask_info->tl3_hdr_isip); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + snprintf(tmph, TFC_STRING_LENGTH_64, "TL4 hdr |"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x ", + ptkey_info->tl4_hdr_valid, + ptkey_info->tl4_hdr_error, + ptkey_info->tl4_hdr_type, + ptkey_info->tl4_hdr_is_udp_tcp); + snprintf(tmp5, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x ", + ptmask_info->tl4_hdr_valid, + ptmask_info->tl4_hdr_error, + ptmask_info->tl4_hdr_type, + ptmask_info->tl4_hdr_is_udp_tcp); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + snprintf(tmph, TFC_STRING_LENGTH_64, "T hdr |\n"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+---+---+\n"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE| HT|flg|\n"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+---+---+\n"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%01x %01x x%02x x%02x key\n", + ptkey_info->t_hdr_valid, + ptkey_info->t_hdr_error, + ptkey_info->t_hdr_type, + ptkey_info->t_hdr_flags); + snprintf(tmp5, TFC_STRING_LENGTH_64, "%01x %01x x%02x x%02x mask\n", + ptmask_info->t_hdr_valid, + ptmask_info->t_hdr_error, + ptmask_info->t_hdr_type, + ptmask_info->t_hdr_flags); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + fprintf(fd, "%s%s%s%s%s%s", + lineh, + line1, + line2, + line3, + line5, + line4); + + snprintf(lineh, TFC_STRING_LENGTH_256, "|L2 hdr |"); + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line2, TFC_STRING_LENGTH_256, "|V|HT|UMB|VT|2VT|"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+---+--+---+"); + snprintf(line4, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptkey_info->l2_hdr_valid, + ptkey_info->l2_hdr_type, + ptkey_info->l2_uc_mc_bc, + ptkey_info->l2_vtag_present, + ptkey_info->l2_two_vtags); + snprintf(line5, TFC_STRING_LENGTH_256, " %01x x%01x x%01x %01x %01x ", + ptmask_info->l2_hdr_valid, + ptmask_info->l2_hdr_type, + ptmask_info->l2_uc_mc_bc, + ptmask_info->l2_vtag_present, + ptmask_info->l2_two_vtags); + + snprintf(tmph, TFC_STRING_LENGTH_64, "L3 hdr |"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+----+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|prot|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+----+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x x%02x ", + ptkey_info->l3_hdr_valid, + ptkey_info->l3_hdr_error, + ptkey_info->l3_hdr_type, + ptkey_info->l3_hdr_isip, + ptkey_info->l3_protocol); + snprintf(tmp5, TFC_STRING_LENGTH_64, " %01x %01x x%01x %01x x%02x ", + ptmask_info->l3_hdr_valid, + ptmask_info->l3_hdr_error, + ptmask_info->l3_hdr_type, + ptmask_info->l3_hdr_isip, + ptmask_info->l3_protocol); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + snprintf(tmph, TFC_STRING_LENGTH_64, "L4 hdr |\n"); + snprintf(tmp1, TFC_STRING_LENGTH_64, "-+--+--+--+---+----+---+\n"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "V|HE|HT|IP|HST|flgs|DCN|\n"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-+--+--+--+---+----+---+\n"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x x%01x x%03x x%01x key\n", + ptkey_info->l4_hdr_valid, + ptkey_info->l4_hdr_error, + ptkey_info->l4_hdr_type, + ptkey_info->l4_hdr_is_udp_tcp, + ptkey_info->l4_hdr_subtype, + ptkey_info->l4_flags, + ptkey_info->l4_dcn_present); + snprintf(tmp5, TFC_STRING_LENGTH_64, "%01x %01x x%01x %01x x%01x x%03x x%01x mask\n", + ptmask_info->l4_hdr_valid, + ptmask_info->l4_hdr_error, + ptmask_info->l4_hdr_type, + ptmask_info->l4_hdr_is_udp_tcp, + ptmask_info->l4_hdr_subtype, + ptmask_info->l4_flags, + ptmask_info->l4_dcn_present); + + strcat(lineh, tmph); + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + strcat(line5, tmp5); + + fprintf(fd, "%s%s%s%s%s%s", + lineh, + line1, + line2, + line3, + line5, + line4); + + fputs("\n:Profile TCAM: remap\n", fd); + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+---+---+---+--+---+---+---+\n"); + snprintf(line2, TFC_STRING_LENGTH_256, "|B|EM|PID|KId|Scp|WC|PID|KId|Scp|\n"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+---+---+---+--+---+---+---+\n"); + snprintf(line4, TFC_STRING_LENGTH_256, " %c %c x%02x x%02x x%02x %c x%02x x%02x x%02x\n", + ptrmp_info->pl_byp_lkup_en ? 'Y' : 'N', + ptrmp_info->em_search_en ? 'Y' : 'N', + ptrmp_info->em_profile_id, + ptrmp_info->em_key_id, + ptrmp_info->em_scope, + ptrmp_info->tcam_search_en ? 'Y' : 'N', + ptrmp_info->tcam_profile_id, + ptrmp_info->tcam_key_id, + ptrmp_info->tcam_scope); + + fprintf(fd, "%s%s%s%s", + line1, + line2, + line3, + line4); + + rte_free(lineh); + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + rte_free(line5); +} + +/* Offset all WC LREC fields by -24 as per CFA EAS */ +#define WC_INFO_VALID(kptr) tfc_getbits(kptr, (127 - 24), 1) +#define WC_INFO_REC_SIZE(kptr) tfc_getbits(kptr, (125 - 24), 2) +#define WC_INFO_EPOCH0(kptr) tfc_getbits(kptr, (113 - 24), 12) +#define WC_INFO_EPOCH1(kptr) tfc_getbits(kptr, (107 - 24), 6) +#define WC_INFO_OPCODE(kptr) tfc_getbits(kptr, (103 - 24), 4) +#define WC_INFO_STRENGTH(kptr) tfc_getbits(kptr, (101 - 24), 2) +#define WC_INFO_ACT_HINT(kptr) tfc_getbits(kptr, (99 - 24), 2) + +#define WC_INFO_ACT_REC_PTR(kptr) tfc_getbits(kptr, (73 - 24), 26) + +#define WC_INFO_DESTINATION(kptr) tfc_getbits(kptr, (73 - 24), 17) + +#define WC_INFO_TCP_DIRECTION(kptr) tfc_getbits(kptr, (72 - 24), 1) +#define WC_INFO_TCP_UPDATE_EN(kptr) tfc_getbits(kptr, (71 - 24), 1) +#define WC_INFO_TCP_WIN(kptr) tfc_getbits(kptr, (66 - 24), 5) +#define WC_INFO_TCP_MSB_LOC(kptr) tfc_getbits(kptr, (48 - 24), 18) +#define WC_INFO_TCP_MSB_OPP(kptr) tfc_getbits(kptr, (30 - 24), 18) +#define WC_INFO_TCP_MSB_OPP_INIT(kptr) tfc_getbits(kptr, (29 - 24), 1) +#define WC_INFO_STATE(kptr) tfc_getbits(kptr, (24 - 24), 5) + +#define WC_INFO_RING_TABLE_IDX(kptr) tfc_getbits(kptr, (64 - 24), 9) +#define WC_INFO_ACT_REC_SIZE(kptr) tfc_getbits(kptr, (59 - 24), 5) +#define WC_INFO_PATHS_M1(kptr) tfc_getbits(kptr, (55 - 24), 4) +#define WC_INFO_FC_OP(kptr) tfc_getbits(kptr, (54 - 24), 1) +#define WC_INFO_FC_TYPE(kptr) tfc_getbits(kptr, (52 - 24), 2) +#define WC_INFO_FC_PTR(kptr) tfc_getbits(kptr, (24 - 24), 28) + +#define WC_INFO_RECYCLE_DEST(kptr) tfc_getbits(kptr, (72 - 24), 1) +#define WC_INFO_PROF_FUNC(kptr) tfc_getbits(kptr, (64 - 24), 8) +#define WC_INFO_META_PROF(kptr) tfc_getbits(kptr, (61 - 24), 3) +#define WC_INFO_METADATA(kptr) tfc_getbits(kptr, (29 - 24), 32) + +static void wc_tcam_decode(uint32_t *wc_res_ptr, + struct wc_lrec_t *wc_info, + struct tfc_ts_mem_cfg *act_mem_cfg) +{ + wc_info->valid = WC_INFO_VALID(wc_res_ptr); + wc_info->rec_size = WC_INFO_REC_SIZE(wc_res_ptr); + wc_info->epoch0 = WC_INFO_EPOCH0(wc_res_ptr); + wc_info->epoch1 = WC_INFO_EPOCH1(wc_res_ptr); + wc_info->opcode = WC_INFO_OPCODE(wc_res_ptr); + wc_info->strength = WC_INFO_STRENGTH(wc_res_ptr); + wc_info->act_hint = WC_INFO_ACT_HINT(wc_res_ptr); + + if (wc_info->opcode != 2 && wc_info->opcode != 3) { + /* All but FAST */ + wc_info->act_rec_ptr = WC_INFO_ACT_REC_PTR(wc_res_ptr); + act_process(wc_info->act_rec_ptr, &wc_info->act_info, act_mem_cfg); + } else { + /* Just FAST */ + wc_info->destination = WC_INFO_DESTINATION(wc_res_ptr); + } + + if (wc_info->opcode == 4 || wc_info->opcode == 6) { + /* CT only */ + wc_info->tcp_direction = WC_INFO_TCP_DIRECTION(wc_res_ptr); + wc_info->tcp_update_en = WC_INFO_TCP_UPDATE_EN(wc_res_ptr); + wc_info->tcp_win = WC_INFO_TCP_WIN(wc_res_ptr); + wc_info->tcp_msb_loc = WC_INFO_TCP_MSB_LOC(wc_res_ptr); + wc_info->tcp_msb_opp = WC_INFO_TCP_MSB_OPP(wc_res_ptr); + wc_info->tcp_msb_opp_init = WC_INFO_TCP_MSB_OPP_INIT(wc_res_ptr); + wc_info->state = WC_INFO_STATE(wc_res_ptr); + } else if (wc_info->opcode != 8) { + /* Not CT and nor RECYCLE */ + wc_info->ring_table_idx = WC_INFO_RING_TABLE_IDX(wc_res_ptr); + wc_info->act_rec_size = WC_INFO_ACT_REC_SIZE(wc_res_ptr); + wc_info->paths_m1 = WC_INFO_PATHS_M1(wc_res_ptr); + wc_info->fc_op = WC_INFO_FC_OP(wc_res_ptr); + wc_info->fc_type = WC_INFO_FC_TYPE(wc_res_ptr); + wc_info->fc_ptr = WC_INFO_FC_PTR(wc_res_ptr); + } else { + /* Recycle */ + wc_info->recycle_dest = WC_INFO_RECYCLE_DEST(wc_res_ptr); + wc_info->prof_func = WC_INFO_PROF_FUNC(wc_res_ptr); + wc_info->meta_prof = WC_INFO_META_PROF(wc_res_ptr); + wc_info->metadata = WC_INFO_METADATA(wc_res_ptr); + } +} + +static void wc_tcam_show(FILE *fd, struct wc_lrec_t *wc_info) +{ + char *line1 = NULL; + char *line2 = NULL; + char *line3 = NULL; + char *line4 = NULL; + char tmp1[TFC_STRING_LENGTH_64]; + char tmp2[TFC_STRING_LENGTH_64]; + char tmp3[TFC_STRING_LENGTH_64]; + char tmp4[TFC_STRING_LENGTH_64]; + + line1 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line2 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line3 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + line4 = rte_malloc("data", TFC_STRING_LENGTH_256, 8); + if (!line1 || !line2 || !line3 || !line4) { + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); + fprintf(fd, "%s: Failed to allocate temp buffer\n", + __func__); + return; + } + + fprintf(fd, ":LREC: opcode:%s\n", get_lrec_opcode_str(wc_info->opcode)); + + snprintf(line1, TFC_STRING_LENGTH_256, "+-+--+-Epoch-+--+--+--+"); + snprintf(line2, TFC_STRING_LENGTH_256, " V|rs| 0 1 |Op|St|ah|"); + snprintf(line3, TFC_STRING_LENGTH_256, "+-+--+----+--+--+--+--+"); + snprintf(line4, TFC_STRING_LENGTH_256, " %1d %2d %4d %2d %2d %2d %2d ", + wc_info->valid, + wc_info->rec_size, + wc_info->epoch0, + wc_info->epoch1, + wc_info->opcode, + wc_info->strength, + wc_info->act_hint); + + if (wc_info->opcode != 2 && wc_info->opcode != 3) { + /* All but FAST */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "-Act Rec--+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, " Ptr |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "----------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x%08x ", + wc_info->act_rec_ptr); + } else { + /* Just FAST */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "-------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, " Dest |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "-------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x05%x ", + wc_info->destination); + } + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + if (wc_info->opcode == 4 || wc_info->opcode == 6) { + /* CT only */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+-------------TCP-------+--+---+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "Dr|ue| Win| lc | op |oi|st|tmr|"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+----+-------+-------+--+--+---+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d %2d %4d %0x5x %0x5x %2d %2d %3d ", + wc_info->tcp_direction, + wc_info->tcp_update_en, + wc_info->tcp_win, + wc_info->tcp_msb_loc, + wc_info->tcp_msb_opp, + wc_info->tcp_msb_opp_init, + wc_info->state, + wc_info->timer_value); + } else if (wc_info->opcode != 8) { + /* Not CT and nor RECYCLE */ + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+--+-------FC-------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "RI|as|pm|op|tp| Ptr |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+--+--+--+----------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d %2d %2d %2d %2d 0x%08x ", + wc_info->ring_table_idx, + wc_info->act_rec_size, + wc_info->paths_m1, + wc_info->fc_op, + wc_info->fc_type, + wc_info->fc_ptr); + } else { + snprintf(tmp1, TFC_STRING_LENGTH_64, "--+--+--+---------+"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "RD|pf|mp| cMData |"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "--+--+--+---------+"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "%2d 0x%2x %2d %08x ", + wc_info->recycle_dest, + wc_info->prof_func, + wc_info->meta_prof, + wc_info->metadata); + } + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + snprintf(tmp1, TFC_STRING_LENGTH_64, "-----Range-+\n"); + snprintf(tmp2, TFC_STRING_LENGTH_64, "Prof| Idx |\n"); + snprintf(tmp3, TFC_STRING_LENGTH_64, "----+------+\n"); + snprintf(tmp4, TFC_STRING_LENGTH_64, "0x%02x 0x%04x\n", + wc_info->range_profile, + wc_info->range_index); + + strcat(line1, tmp1); + strcat(line2, tmp2); + strcat(line3, tmp3); + strcat(line4, tmp4); + + fprintf(fd, "%s%s%s%s", + line1, + line2, + line3, + line4); + + if (wc_info->opcode != 2 && wc_info->opcode != 3) + act_show(fd, &wc_info->act_info, wc_info->act_rec_ptr << 5); + + rte_free(line1); + rte_free(line2); + rte_free(line3); + rte_free(line4); +} + +static int tfc_tcam_process(struct ulp_flow_db_res_params *rp, + void *frp_ctxt) +{ + struct wc_frp_context *wc_frp = (struct wc_frp_context *)frp_ctxt; + struct l2ctx_tcam_key_t *l2ctx_key_info, *l2ctx_mask_info; + struct prof_tcam_key_t *ptkey_info, *ptmask_info; + struct l2ctx_tcam_remap_t *l2ctx_rmp_info; + struct prof_tcam_remap_t *ptrmp_info; + FILE *fd = wc_frp->fd; + struct wc_lrec_t *wc_lrec; + uint8_t *key, *mask, *remap; + uint16_t key_sz = 128, remap_sz = 128; + int rc = -ENOMEM; + + /* Allocate all temp storage */ + wc_lrec = rte_zmalloc("data", sizeof(*wc_lrec), 8); + l2ctx_key_info = rte_zmalloc("data", sizeof(*l2ctx_key_info), 8); + l2ctx_mask_info = rte_zmalloc("data", sizeof(*l2ctx_mask_info), 8); + l2ctx_rmp_info = rte_zmalloc("data", sizeof(*l2ctx_rmp_info), 8); + ptkey_info = rte_zmalloc("data", sizeof(*ptkey_info), 8); + ptmask_info = rte_zmalloc("data", sizeof(*ptmask_info), 8); + ptrmp_info = rte_zmalloc("data", sizeof(*ptrmp_info), 8); + key = rte_zmalloc("data", key_sz, 8); + mask = rte_zmalloc("data", key_sz, 8); + remap = rte_zmalloc("data", remap_sz, 8); + + if (!wc_lrec || !l2ctx_key_info || !l2ctx_mask_info || + !l2ctx_rmp_info || !ptkey_info || !ptmask_info || + !ptrmp_info || !key || !mask || !remap) { + fputs("Out of memory:\n", fd); + fprintf(fd, "%p:%p:%p\n", wc_lrec, l2ctx_key_info, l2ctx_mask_info); + fprintf(fd, "%p:%p:%p\n", l2ctx_rmp_info, ptkey_info, ptmask_info); + fprintf(fd, "%p:%p:%p:%p\n", ptrmp_info, key, mask, remap); + goto tcam_process_error; + } + + rc = tfc_tcam_entry_read(wc_frp->ulp_ctxt, + rp->direction, + rp->resource_type, + rp->resource_hndl, + key, + mask, + remap, + &key_sz, + &remap_sz); + if (rc) { + fprintf(fd, "TCAM read error rc[%d]\n", rc); + rc = -EINVAL; + goto tcam_process_error; + } + + /* + * Decode result, and extract act_ptr, only for L2 ctx or WC TCAM + * entries + */ + switch (rp->resource_type) { + case CFA_RSUBTYPE_TCAM_L2CTX: + fprintf(fd, "\n:L2CTX TCAM [%u]:\n", (uint16_t)rp->resource_hndl); + hex_buf_dump(fd, "Key:", key, (int)key_sz, 1, 16); + hex_buf_dump(fd, "Mask:", mask, (int)key_sz, 1, 16); + l2ctx_tcam_key_decode((uint32_t *)key, l2ctx_key_info); + l2ctx_tcam_key_decode((uint32_t *)mask, l2ctx_mask_info); + l2ctx_tcam_remap_decode((uint32_t *)remap, + l2ctx_rmp_info, wc_frp->act_mem_cfg); + l2ctx_tcam_show(fd, l2ctx_key_info, l2ctx_mask_info, l2ctx_rmp_info); + break; + + case CFA_RSUBTYPE_TCAM_WC: + fprintf(fd, "\n:WC TCAM [%u]:\n", (uint16_t)rp->resource_hndl); + hex_buf_dump(fd, "Key:", key, (int)key_sz, 1, 16); + hex_buf_dump(fd, "Mask:", mask, (int)key_sz, 1, 16); + wc_tcam_decode((uint32_t *)remap, wc_lrec, wc_frp->act_mem_cfg); + wc_tcam_show(fd, wc_lrec); + break; + + case CFA_RSUBTYPE_TCAM_PROF_TCAM: + fprintf(fd, "\n:Profile TCAM [%u]:\n", (uint16_t)rp->resource_hndl); + hex_buf_dump(fd, "Key:", key, (int)key_sz, 1, 16); + hex_buf_dump(fd, "Mask:", mask, (int)key_sz, 1, 16); + prof_tcam_key_decode((uint32_t *)key, ptkey_info); + prof_tcam_key_decode((uint32_t *)mask, ptmask_info); + prof_tcam_remap_decode((uint32_t *)remap, ptrmp_info); + prof_tcam_show(fd, ptkey_info, ptmask_info, ptrmp_info); + break; + + case CFA_RSUBTYPE_TCAM_CT_RULE: + case CFA_RSUBTYPE_TCAM_VEB: + case CFA_RSUBTYPE_TCAM_FEATURE_CHAIN: + fprintf(fd, "Unsupported decode: %s\n", tfc_tcam_2_str(rp->resource_type)); + default: + break; + } + +tcam_process_error: + rte_free(l2ctx_key_info); + rte_free(l2ctx_mask_info); + rte_free(l2ctx_rmp_info); + rte_free(wc_lrec); + rte_free(ptkey_info); + rte_free(ptmask_info); + rte_free(ptrmp_info); + rte_free(key); + rte_free(mask); + rte_free(remap); + return rc; +} + +/* + * Check for the following conditions: + * 1. res_dir == p_res_dir + * 2. res_func == p_res_func + * 3. res_type == p_res_type + * 4. if res_dir == CFA_DIR_MAX, skip #1 + * 5. if res_func == BNXT_ULP_RESOURCE_FUNC_INVALID, skip #2 + * 6. if res_type == CFA_RSUBTYPE_TCAM_MAX, skip #3 + * + * Bascally implements a wildcarded match for either-or-and all conditions. + */ +#define TFC_INVALID_RES 0xFFFFFFFF +static bool tfc_flow_db_resource_filter(uint32_t p_res_dir, uint32_t p_res_func, + uint32_t p_res_type, uint32_t res_dir, + uint32_t res_func, uint32_t res_type) +{ + if (res_dir != CFA_DIR_MAX && p_res_dir != res_dir) + return false; + + /* res_dir == CFA_DIR_MAX */ + if (res_func == TFC_INVALID_RES && + res_type == TFC_INVALID_RES) + return true; + else if (res_func == TFC_INVALID_RES && + res_type == p_res_type) + return true; + else if (res_func == p_res_func && + res_type == TFC_INVALID_RES) + return true; + + return false; +} + +/** + * Walk through a resource matching a spec (resource_func+resource_type) for a + * particular flow (or all flows), and call a processing callback to handle + * data per resource/type. + * + * @ulp_ctxt: Ptr to ulp_context + * @flow_type: FDB flow type (default/regular) + * @resource_func: if zero then all resource_funcs are dumped. + * @resource_type: if zero then all resource_types are dumped. + * @frp: FDB resource processor function + * @frp_ctxt: FDB resource processor context + * + * returns 0 if success, error code if not + */ +static +int tfc_flow_db_resource_walk(struct bnxt_ulp_context *ulp_ctxt, uint8_t flow_type, + uint32_t resource_dir, uint32_t resource_func, uint32_t resource_type, + FDB_RESOURCE_PROCFUNC frp, + void *frp_ctxt) +{ + struct wc_frp_context *wc_frp = (struct wc_frp_context *)frp_ctxt; + FILE *fd = wc_frp->fd; + struct ulp_flow_db_res_params params; +#if (TFC_DEBUG_DUMP_ALL_FLOWS) + struct bnxt_ulp_flow_tbl *flow_tbl; +#endif + struct bnxt_ulp_flow_db *flow_db; + uint32_t ridx, fid = 1; + int rc; + + if (!ulp_ctxt || !ulp_ctxt->cfg_data) + return -EINVAL; + + if (!frp) { + fputs("No FDB proc_func\n", fd); + return -EINVAL; + } + + flow_db = bnxt_ulp_cntxt_ptr2_flow_db_get(ulp_ctxt); + if (!flow_db) { + fputs("Invalid Arguments\n", fd); + return -EINVAL; + } + +#if (TFC_DEBUG_DUMP_ALL_FLOWS) + flow_tbl = &flow_db->flow_tbl; + + for (fid = 1; fid < flow_tbl->num_flows; fid++) { +#else + while (!ulp_flow_db_next_entry_get(flow_db, flow_type, &fid)) { +#endif + ridx = 0; + + rc = ulp_flow_db_resource_get(ulp_ctxt, flow_type, fid, + &ridx, ¶ms); + if (!rc) { + if (tfc_flow_db_resource_filter(params.direction, + params.resource_func, + params.resource_type, + resource_dir, + resource_func, + resource_type)) { + (*frp)(¶ms, (void *)frp_ctxt); + } + + do { + rc = ulp_flow_db_resource_get(ulp_ctxt, flow_type, fid, + &ridx, ¶ms); + if (!rc) { + if (tfc_flow_db_resource_filter(params.direction, + params.resource_func, + params.resource_type, + resource_dir, + resource_func, + resource_type)) + (*frp)(¶ms, (void *)frp_ctxt); + } + } while (ridx); + } + } + return 0; +} + +int tfc_wc_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir) +{ + struct tfc_ts_mem_cfg *act_mem_cfg; + struct bnxt_ulp_context *ulp_ctx; + struct wc_frp_context wc_frp; + bool is_bs_owner; + struct bnxt *bp; + bool is_shared; + bool valid; + int rc = 0; + + if (!tfcp) + return -EINVAL; + + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); + if (rc != 0) { + fprintf(fd, "%s: failed to get tsid: %d\n", + __func__, rc); + return -EINVAL; + } + if (!valid) { + fprintf(fd, "%s: tsid not allocated %d\n", + __func__, tsid); + return -EINVAL; + } + + act_mem_cfg = rte_zmalloc("data", sizeof(*act_mem_cfg), 8); + if (!act_mem_cfg) + return -ENOMEM; + + rc = tfo_ts_get_mem_cfg(tfcp->tfo, tsid, + dir, + CFA_REGION_TYPE_ACT, + &is_bs_owner, + act_mem_cfg); /* Gets rec_cnt */ + if (rc != 0) { + fprintf(fd, "%s: tfo_ts_get_mem_cfg() failed for ACT: %d\n", + __func__, rc); + rte_free(act_mem_cfg); + return -EINVAL; + } + + if (tfcp && + tfcp->bp) { + bp = (struct bnxt *)(tfcp->bp); + ulp_ctx = bp->ulp_ctx; + + if (ulp_ctx) { + wc_frp.ulp_ctxt = ulp_ctx; + wc_frp.fd = fd; + wc_frp.act_mem_cfg = act_mem_cfg; + + /* Dump-decode all TCAM resources for default flows */ + fputs("\nDefault flows TCAM:\n", fd); + fputs("===================\n", fd); + tfc_flow_db_resource_walk(ulp_ctx, BNXT_ULP_FDB_TYPE_DEFAULT, dir, + BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + -1, &tfc_tcam_process, (void *)&wc_frp); + /* Dump-decode all TCAM resources for resource-id flows */ + fputs("\nRID flows TCAM:\n", fd); + fputs("===============\n", fd); + tfc_flow_db_resource_walk(ulp_ctx, BNXT_ULP_FDB_TYPE_RID, dir, + BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + -1, &tfc_tcam_process, (void *)&wc_frp); + /* Dump-decode all TCAM resources for regular flows */ + fputs("\nRegular flows TCAM:\n", fd); + fputs("===================\n", fd); + tfc_flow_db_resource_walk(ulp_ctx, BNXT_ULP_FDB_TYPE_REGULAR, dir, + BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + -1, &tfc_tcam_process, (void *)&wc_frp); + } + } + + rte_free(act_mem_cfg); + return rc; +} diff --git a/drivers/net/bnxt/tf_core/v3/tfo.c b/drivers/net/bnxt/tf_core/v3/tfo.c index f4ee81aefd..12d80877a6 100644 --- a/drivers/net/bnxt/tf_core/v3/tfo.c +++ b/drivers/net/bnxt/tf_core/v3/tfo.c @@ -573,3 +573,35 @@ int tfo_tim_get(void *tfo, void **tim) return 0; } + + +int tfo_tsid_get(void *tfo, uint8_t *tsid) +{ + struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_tsid_db *tsid_db; + uint8_t i; + + if (tfo == NULL) { + PMD_DRV_LOG(ERR, "%s: Invalid tfo pointer", __func__); + return -EINVAL; + } + if (tfco->signature != TFC_OBJ_SIGNATURE) { + PMD_DRV_LOG(ERR, "%s: Invalid tfo object", __func__); + return -EINVAL; + } + if (tsid == NULL) { + PMD_DRV_LOG(ERR, "%s: Invalid tsid pointer", __func__); + return -EINVAL; + } + + for (i = 1; i < TFC_TBL_SCOPE_MAX; i++) { + tsid_db = &tfco->tsid_db[i]; + + if (tsid_db->ts_valid) { + *tsid = i; + return 0; + } + } + + return -1; +} diff --git a/drivers/net/bnxt/tf_core/v3/tfo.h b/drivers/net/bnxt/tf_core/v3/tfo.h index f97d4cdd2d..e572db5991 100644 --- a/drivers/net/bnxt/tf_core/v3/tfo.h +++ b/drivers/net/bnxt/tf_core/v3/tfo.h @@ -426,4 +426,18 @@ int tfo_tim_set(void *tfo, void *tim); */ int tfo_tim_get(void *tfo, void **tim); +/** + * Get the table scope + * + * @param[in] tfo + * Pointer to TFC object + * + * @param[out] tsid + * Pointer to the returned table scope + * + * @return + * 0 for SUCCESS, negative error value for FAILURE (errno.h) + */ +int tfo_tsid_get(void *tfo, uint8_t *tsid); + #endif /* _TFO_H_ */ diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h index f2426ce3c1..ab6608ac74 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.h @@ -76,4 +76,9 @@ bnxt_ulp_cntxt_page_sz_get(struct bnxt_ulp_context *ulp_ctxt); int32_t bnxt_ulp_cntxt_page_sz_set(struct bnxt_ulp_context *ulp_ctxt, uint32_t page_sz); + +int32_t +ulp_flow_db_next_entry_get(struct bnxt_ulp_flow_db *flow_db, + enum bnxt_ulp_fdb_type flow_type, + uint32_t *fid); #endif diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c index d1b374e603..8e61c71f97 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr_tfc.c @@ -18,7 +18,6 @@ #include "ulp_template_db_enum.h" #include "ulp_template_struct.h" #include "tfc.h" -#include "tfc_debug.h" #include "tfc_action_handle.h" /* Need to create device parms for these values and handle diff --git a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c index 943c9b799c..46f5a96baf 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c +++ b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c @@ -9,6 +9,8 @@ #include "bnxt.h" #include "bnxt_tf_common.h" #include "bnxt_ulp_utils.h" +#include "bnxt_ulp_tfc.h" +#include "ulp_utils.h" #include "ulp_template_struct.h" #include "ulp_mapper.h" #include "ulp_flow_db.h" @@ -883,7 +885,7 @@ ulp_flow_db_resource_get(struct bnxt_ulp_context *ulp_ctxt, * * returns 0 on success and negative on failure. */ -static int32_t +int32_t ulp_flow_db_next_entry_get(struct bnxt_ulp_flow_db *flow_db, enum bnxt_ulp_fdb_type flow_type, uint32_t *fid) diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c index 24012e30b1..191157ebe1 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr.c @@ -19,7 +19,6 @@ #include "ulp_template_db_enum.h" #include "ulp_template_struct.h" #include "tfc.h" -#include "tfc_debug.h" #include "tfc_action_handle.h" #define ULP_TFC_CNTR_READ_BYTES 32 diff --git a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c index 23edf9f755..3b863115f0 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_sc_mgr_tfc.c @@ -18,7 +18,6 @@ #include "ulp_template_db_enum.h" #include "ulp_template_struct.h" #include "tfc.h" -#include "tfc_debug.h" #include "tfc_action_handle.h" static int32_t -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 30/54] net/bnxt/tf_core: truflow global table scope 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (28 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 29/54] net/bnxt/tf_core: add backing store debug to dpdk Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key Manish Kurup ` (23 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Farah Smith, Jay Ding, Kishore Padmanabha, Peter Spreadborough From: Farah Smith <farah.smith@broadcom.com> 1. Add support for a global table scope used for socket direct applications. Create database, select database based upon table scope supplied. Table scopes can now be one of 3 types: global, shared application and non-shared. 2. Fix issue when shutting down DPDK. Firmware deconfigures the table scope when the fid is removed so no need to issue deconfig, just free the memory. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 53 ++--- .../net/bnxt/hcapi/cfa_v3/include/cfa_types.h | 10 + drivers/net/bnxt/hsi_struct_def_dpdk.h | 221 +++++++++++++++--- drivers/net/bnxt/tf_core/v3/tfc.h | 81 ++++--- drivers/net/bnxt/tf_core/v3/tfc_act.c | 32 +-- drivers/net/bnxt/tf_core/v3/tfc_cpm.c | 13 ++ drivers/net/bnxt/tf_core/v3/tfc_em.c | 16 +- drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c | 16 +- drivers/net/bnxt/tf_core/v3/tfc_msg.c | 63 +++-- drivers/net/bnxt/tf_core/v3/tfc_msg.h | 8 +- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 205 ++++++++-------- drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c | 2 +- drivers/net/bnxt/tf_core/v3/tfc_util.c | 15 ++ drivers/net/bnxt/tf_core/v3/tfc_util.h | 11 + drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c | 3 +- drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h | 4 +- drivers/net/bnxt/tf_core/v3/tfo.c | 214 ++++++++++++----- drivers/net/bnxt/tf_core/v3/tfo.h | 39 ++-- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 70 ++++-- .../net/bnxt/tf_ulp/ulp_template_db_enum.h | 3 +- 20 files changed, 716 insertions(+), 363 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 7177941e09..fad357f3ae 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -6147,37 +6147,6 @@ bnxt_parse_devarg_app_id(__rte_unused const char *key, return 0; } -static int -bnxt_parse_devarg_mpc(__rte_unused const char *key, - const char *value, __rte_unused void *opaque_arg) -{ - char *end = NULL; - - if (!value || !opaque_arg) { - PMD_DRV_LOG_LINE(ERR, - "Invalid parameter passed to app-id " - "devargs"); - return -EINVAL; - } - - mpc = strtoul(value, &end, 10); - if (end == NULL || *end != '\0' || - (mpc == ULONG_MAX && errno == ERANGE)) { - PMD_DRV_LOG_LINE(ERR, "Invalid parameter passed to mpc " - "devargs"); - return -EINVAL; - } - - if (BNXT_DEVARG_MPC_INVALID(mpc)) { - PMD_DRV_LOG_LINE(ERR, "Invalid mpc(%d) devargs", - (uint16_t)mpc); - return -EINVAL; - } - - PMD_DRV_LOG_LINE(INFO, "MPC%d feature enabled", (uint16_t)mpc); - return 0; -} - static int bnxt_parse_devarg_ieee_1588(__rte_unused const char *key, const char *value, void *opaque_arg) @@ -6214,6 +6183,14 @@ bnxt_parse_devarg_ieee_1588(__rte_unused const char *key, return 0; } +static int +bnxt_parse_devarg_mpc(__rte_unused const char *key, + __rte_unused const char *value, __rte_unused void *opaque_arg) +{ + PMD_DRV_LOG_LINE(INFO, "mpc=1 arg not required."); + return 0; +} + static int bnxt_parse_devarg_rep_is_pf(__rte_unused const char *key, const char *value, void *opaque_arg) @@ -6527,6 +6504,13 @@ bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs) goto err; err: + /* + * Handler for "mpc" devarg. + * Invoked as for ex: "-a 000:00:0d.0,mpc=1" + */ + rte_kvargs_process(kvlist, BNXT_DEVARG_MPC, + bnxt_parse_devarg_mpc, bp); + /* * Handler for "app-id" devarg. * Invoked as for ex: "-a 000:00:0d.0,app-id=1" @@ -6541,13 +6525,6 @@ bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs) rte_kvargs_process(kvlist, BNXT_DEVARG_IEEE_1588, bnxt_parse_devarg_ieee_1588, bp); - /* - * Handler for "mpc" devarg. - * Invoked as for ex: "-a 000:00:0d.0,mpc=1" - */ - rte_kvargs_process(kvlist, BNXT_DEVARG_MPC, - bnxt_parse_devarg_mpc, bp); - /* * Handler for "cqe-mode" devarg. * Invoked as for ex: "-a 000:00:0d.0,cqe-mode=1" diff --git a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_types.h b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_types.h index 4339fc1053..b00b21385d 100644 --- a/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_types.h +++ b/drivers/net/bnxt/hcapi/cfa_v3/include/cfa_types.h @@ -92,6 +92,16 @@ enum cfa_app_type { CFA_APP_TYPE_INVALID = CFA_APP_TYPE_MAX, }; +/** + * CFA table scope types + */ +enum cfa_scope_type { + CFA_SCOPE_TYPE_NON_SHARED = 0, + CFA_SCOPE_TYPE_SHARED_APP = 1, + CFA_SCOPE_TYPE_GLOBAL = 2, + CFA_SCOPE_TYPE_INVALID = 3 +}; + /** * CFA FID types */ diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index 6e540359e3..866fc5379d 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright (c) 2014-2024 Broadcom Inc. + * Copyright (c) 2014-2025 Broadcom Inc. * All rights reserved. * * DO NOT MODIFY!!! This file is automatically generated. @@ -804,6 +804,20 @@ struct __rte_packed_begin cmd_nums { #define HWRM_MFG_PRVSN_EXPORT_CERT UINT32_C(0x219) /* Query the statistics for doorbell drops due to various error conditions. */ #define HWRM_STAT_DB_ERROR_QSTATS UINT32_C(0x21a) + /* This command is used to select and run manufacturing tests */ + #define HWRM_MFG_TESTS UINT32_C(0x21b) + /* This command is used to write a cert chain from production firmware */ + #define HWRM_MFG_WRITE_CERT_NVM UINT32_C(0x21c) + /* + * The command is used to enable/disable the power on ethernet for + * a particular I/O expander port. + */ + #define HWRM_PORT_POE_CFG UINT32_C(0x230) + /* + * The command is used to query whether the power on ethernet + * is enabled/disabled for a particular I/O expander port. + */ + #define HWRM_PORT_POE_QCFG UINT32_C(0x231) /* * This command returns the capabilities related to User Defined * Congestion Control on a function. @@ -1252,8 +1266,8 @@ struct __rte_packed_begin hwrm_err_output { #define HWRM_VERSION_MINOR 10 #define HWRM_VERSION_UPDATE 3 /* non-zero means beta version */ -#define HWRM_VERSION_RSVD 87 -#define HWRM_VERSION_STR "1.10.3.87" +#define HWRM_VERSION_RSVD 97 +#define HWRM_VERSION_STR "1.10.3.97" /**************** * hwrm_ver_get * @@ -12647,9 +12661,9 @@ struct __rte_packed_begin hwrm_async_event_cmpl_dbg_buf_producer { * value of 8192. This field rolls over to zero once the firmware * writes the last page of the host buffer */ - #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURRENT_BUFFER_OFFSET_MASK \ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURR_OFF_MASK \ UINT32_C(0xffffffff) - #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURRENT_BUFFER_OFFSET_SFT \ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURR_OFF_SFT \ 0 uint8_t opaque_v; /* @@ -15718,6 +15732,18 @@ struct __rte_packed_begin hwrm_func_qcaps_output { */ #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT3_RX_RATE_PROFILE_SEL_SUPPORTED \ UINT32_C(0x8) + /* + * When set to 1, indicates that the device is capable of supporting + * the RoCE bi-directional optimization feature. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT3_BIDI_OPT_SUPPORTED \ + UINT32_C(0x10) + /* + * When set to 1, indicates that the device is capable of supporting + * port mirroring on RoCE device. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT3_MIRROR_ON_ROCE_SUPPORTED \ + UINT32_C(0x20) /* * The number of VFs that can be used for RoCE on the function. If less * than max_vfs, roce vfs will be assigned to the first VF of the @@ -15725,7 +15751,13 @@ struct __rte_packed_begin hwrm_func_qcaps_output { * This is valid only on the PF with SR-IOV and RDMA enabled. */ uint16_t max_roce_vfs; - uint8_t unused_3[5]; + /* + * The maximum number of Rx flow filters for KTLS and QUIC. If both + * KTLS and QUIC are enabled, then this maximum number is shared + * between them. + */ + uint16_t max_crypto_rx_flow_filters; + uint8_t unused_3[3]; /* * This field is used in Output records to indicate that the output * is completely written to RAM. This field should be read as '1' @@ -16426,8 +16458,19 @@ struct __rte_packed_begin hwrm_func_qcfg_output { * value is used if ring MTU is not specified. */ uint16_t host_mtu; - uint8_t unused_3[2]; - uint8_t unused_4[2]; + uint16_t flags2; + /* + * If set to 1, then VF drivers are requested to insert a DSCP + * value into all outgoing L2 packets such that DSCP=VF ID modulo 64 + */ + #define HWRM_FUNC_QCFG_OUTPUT_FLAGS2_SRIOV_DSCP_INSERT_ENABLED \ + UINT32_C(0x1) + /* + * This value is the S-tag VLAN identifier setting for the function + * when in NPAR 1.2 mode. This field is read from firmware and is + * in LE order. + */ + uint16_t stag_vid; /* * KDNet mode for the port for this function. If a VF, KDNet * mode is always disabled. @@ -16450,7 +16493,23 @@ struct __rte_packed_begin hwrm_func_qcfg_output { * feature, 0xffff will be returned. */ uint16_t port_kdnet_fid; - uint8_t unused_5[2]; + uint8_t unused_5; + uint8_t roce_bidi_opt_mode; + /* RoCE bi-directional optimization feature is disabled. */ + #define HWRM_FUNC_QCFG_OUTPUT_ROCE_BIDI_OPT_MODE_DISABLED \ + UINT32_C(0x1) + /* + * Requester and Responder traffic use separate transmit scheduler + * queues and CoSQs. + */ + #define HWRM_FUNC_QCFG_OUTPUT_ROCE_BIDI_OPT_MODE_DEDICATED \ + UINT32_C(0x2) + /* + * Requester and Responder traffic use separate transmit scheduler + * queues, but share the same CoSQ. + */ + #define HWRM_FUNC_QCFG_OUTPUT_ROCE_BIDI_OPT_MODE_SHARED \ + UINT32_C(0x4) /* Number of KTLS Tx Key Contexts allocated. */ uint32_t num_ktls_tx_key_ctxs; /* Number of KTLS Rx Key Contexts allocated. */ @@ -16525,7 +16584,13 @@ struct __rte_packed_begin hwrm_func_qcfg_output { * partition on Rx crypto key contexts. */ #define HWRM_FUNC_QCFG_OUTPUT_XID_PARTITION_CFG_RX_CK UINT32_C(0x2) - uint8_t unused_7; + /* + * The VNIC ID used for mirroring. This VNIC is pre-reserved. + * This VNIC could be used for mirroring to a single L2 ring + * or a raw QP. + */ + uint16_t mirror_vnic_id; + uint8_t unused_7[7]; /* * This field is used in Output records to indicate that the output * is completely written to RAM. This field should be read as '1' @@ -24348,8 +24413,10 @@ struct __rte_packed_begin hwrm_func_backing_store_qcfg_v2_output { uint8_t valid; } __rte_packed_end; -/* Common structure to cast QPC split entries. This casting is required in the - * following HWRM command inputs/outputs if the backing store type is QPC. +/* + * Common structure to cast QPC split entries. This casting is required + * in the following HWRM command inputs/outputs if the backing store + * type is QPC. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24368,8 +24435,10 @@ struct __rte_packed_begin qpc_split_entries { uint32_t rsvd; } __rte_packed_end; -/* Common structure to cast SRQ split entries. This casting is required in the - * following HWRM command inputs/outputs if the backing store type is SRQ. +/* + * Common structure to cast SRQ split entries. This casting is required + * in the following HWRM command inputs/outputs if the backing store + * type is SRQ. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24382,8 +24451,10 @@ struct __rte_packed_begin srq_split_entries { uint32_t rsvd2[2]; } __rte_packed_end; -/* Common structure to cast CQ split entries. This casting is required in the - * following HWRM command inputs/outputs if the backing store type is CQ. +/* + * Common structure to cast CQ split entries. This casting is required + * in the following HWRM command inputs/outputs if the backing store + * type is CQ. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24396,8 +24467,10 @@ struct __rte_packed_begin cq_split_entries { uint32_t rsvd2[2]; } __rte_packed_end; -/* Common structure to cast VNIC split entries. This casting is required in the - * following HWRM command inputs/outputs if the backing store type is VNIC. +/* + * Common structure to cast VNIC split entries. This casting is required + * in the following HWRM command inputs/outputs if the backing store + * type is VNIC. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24410,8 +24483,10 @@ struct __rte_packed_begin vnic_split_entries { uint32_t rsvd2[2]; } __rte_packed_end; -/* Common structure to cast MRAV split entries. This casting is required in the - * following HWRM command inputs/outputs if the backing store type is MRAV. +/* + * Common structure to cast MRAV split entries. This casting is required + * in the following HWRM command inputs/outputs if the backing store + * type is MRAV. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24424,9 +24499,10 @@ struct __rte_packed_begin mrav_split_entries { uint32_t rsvd2[2]; } __rte_packed_end; -/* Common structure to cast TBL_SCOPE split entries. This casting is required - * in the following HWRM command inputs/outputs if the backing store type is - * TBL_SCOPE. +/* + * Common structure to cast TBL_SCOPE split entries. This casting is + * required in the following HWRM command inputs/outputs if the backing + * store type is TBL_SCOPE. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -24442,13 +24518,15 @@ struct __rte_packed_begin ts_split_entries { * Array is indexed by enum cfa_dir */ uint8_t lkup_static_bkt_cnt_exp[2]; - uint8_t rsvd; + /* Indicates the region is locked in the cache */ + uint8_t locked; uint32_t rsvd2[2]; -} __rte_packed_end; +} __rte_packed; -/* Common structure to cast crypto key split entries. This casting is required - * in the following HWRM command inputs/outputs if the backing store type is - * TX_CK or RX_CK. +/* + * Common structure to cast crypto key split entries. This casting is + * required in the following HWRM command inputs/outputs if the backing + * store type is TX_CK or RX_CK. * 1. hwrm_func_backing_store_cfg_v2_input * 2. hwrm_func_backing_store_qcfg_v2_output * 3. hwrm_func_backing_store_qcaps_v2_output @@ -42583,13 +42661,20 @@ struct __rte_packed_begin hwrm_vnic_alloc_input { */ #define HWRM_VNIC_ALLOC_INPUT_FLAGS_VIRTIO_NET_FID_VALID \ UINT32_C(0x2) + /* + * When this bit is '1', firmware will allocate the VNIC + * specified in vnic_id field. + */ + #define HWRM_VNIC_ALLOC_INPUT_FLAGS_VNIC_ID_VALID \ + UINT32_C(0x4) /* * Virtio-net function's FID. * This virtio-net function is requesting allocation of default * VNIC through proxy VEE PF. */ uint16_t virtio_net_fid; - uint8_t unused_0[2]; + /* VNIC ID to allocate. */ + uint16_t vnic_id; } __rte_packed_end; /* hwrm_vnic_alloc_output (size:128b/16B) */ @@ -42958,6 +43043,9 @@ struct __rte_packed_begin hwrm_vnic_cfg_input { /* This bit must be '1' for the l2_cqe_mode field to be configured. */ #define HWRM_VNIC_CFG_INPUT_ENABLES_L2_CQE_MODE \ UINT32_C(0x200) + /* This bit must be '1' for the raw_qp_id field to be configured. */ + #define HWRM_VNIC_CFG_INPUT_ENABLES_RAW_QP_ID \ + UINT32_C(0x400) /* Logical vnic ID */ uint16_t vnic_id; /* @@ -43080,7 +43168,8 @@ struct __rte_packed_begin hwrm_vnic_cfg_input { #define HWRM_VNIC_CFG_INPUT_L2_CQE_MODE_MIXED UINT32_C(0x2) #define HWRM_VNIC_CFG_INPUT_L2_CQE_MODE_LAST \ HWRM_VNIC_CFG_INPUT_L2_CQE_MODE_MIXED - uint8_t unused0[4]; + /* Raw QP ID to be used for the VNIC. */ + uint32_t raw_qp_id; } __rte_packed_end; /* hwrm_vnic_cfg_output (size:128b/16B) */ @@ -44944,6 +45033,8 @@ struct __rte_packed_begin hwrm_vnic_plcmodes_cfg_input { * Packets with length larger than this value will be * placed according to the HDS placement algorithm. * This value shall be in multiple of 4 bytes. + * HW supports only 10-bit value for hds_threshold. If this value is + * more than 0x3FF, FW will fail this command. */ uint16_t hds_threshold; /* @@ -44985,6 +45076,24 @@ struct __rte_packed_begin hwrm_vnic_plcmodes_cfg_output { uint8_t valid; } __rte_packed_end; +/* hwrm_vnic_plcmodes_cfg_cmd_err (size:64b/8B) */ +struct hwrm_vnic_plcmodes_cfg_cmd_err { + /* + * command specific error codes that goes to + * the cmd_err field in common HWRM Error Response. + */ + uint8_t code; + /* Unknown error */ + #define HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_UNKNOWN \ + UINT32_C(0x0) + /* hds_threshold value is invalid */ + #define HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_INVALID_HDS_THRESHOLD \ + UINT32_C(0x1) + #define HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_LAST \ + HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_INVALID_HDS_THRESHOLD + uint8_t unused_0[7]; +} __rte_packed; + /*************************** * hwrm_vnic_plcmodes_qcfg * ***************************/ @@ -45408,7 +45517,10 @@ struct __rte_packed_begin hwrm_ring_alloc_input { #define HWRM_RING_ALLOC_INPUT_CMPL_COAL_CNT_COAL_320 UINT32_C(0xd) /* Generates a TX coalesced completion for up to 384 TX packets. */ #define HWRM_RING_ALLOC_INPUT_CMPL_COAL_CNT_COAL_384 UINT32_C(0xe) - /* Generates a TX coalesced completion up to the last packet. (Maximum coalescing). */ + /* + * Generates a TX coalesced completion up to the last packet. + * (Maximum coalescing). + */ #define HWRM_RING_ALLOC_INPUT_CMPL_COAL_CNT_COAL_MAX UINT32_C(0xf) #define HWRM_RING_ALLOC_INPUT_CMPL_COAL_CNT_LAST \ HWRM_RING_ALLOC_INPUT_CMPL_COAL_CNT_COAL_MAX @@ -59915,8 +60027,32 @@ struct __rte_packed_begin hwrm_tfc_tbl_scope_qcaps_output { * support. This field is only valid if tbl_scope_capable is not zero. */ uint8_t max_lkup_static_buckets_exp; + /* Control flags. */ + uint8_t flags; + /* Indicates whether a global scope is supported in the firmware. */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL \ + UINT32_C(0x1) + /* If this bit set to 0, a global scope is not supported */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL_UNSUPPORTED \ + UINT32_C(0x0) + /* If this bit is set to 1, a global scope is supported */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL_SUPPORTED \ + UINT32_C(0x1) + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL_LAST \ + HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL_SUPPORTED + /* Indicates whether a locked scope is supported in the firmware. */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED \ + UINT32_C(0x2) + /* If this bit set to 0, a locked scope is not supported */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED_UNSUPPORTED \ + (UINT32_C(0x0) << 1) + /* If this bit is set to 1, a locked scope is supported */ + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED_SUPPORTED \ + (UINT32_C(0x1) << 1) + #define HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED_LAST \ + HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED_SUPPORTED /* unused. */ - uint8_t unused0[5]; + uint8_t unused0[4]; /* * This field is used in Output records to indicate that the output * is completely written to RAM. This field should be read as '1' @@ -60001,8 +60137,27 @@ struct __rte_packed_begin hwrm_tfc_tbl_scope_id_alloc_input { uint8_t act_pool_sz_exp[2]; /* Application type. 0 (AFM), 1 (TF) */ uint8_t app_type; + /* + * Specifies the type of table scope. Overrides the shared flag if set. + * If set, this field takes precedent over the shared flag. + */ + uint8_t scope_type; + /* A table scope not shared between functions */ + #define HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_NON_SHARED \ + UINT32_C(0x1) + /* + * A table scope shared between functions which share the same parent + * PF. + */ + #define HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_SHARED_APP \ + UINT32_C(0x2) + /* A global table scope accessible by any function (e.g. LAG) */ + #define HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_GLOBAL \ + UINT32_C(0x3) + #define HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_LAST \ + HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_GLOBAL /* unused. */ - uint8_t unused0[6]; + uint8_t unused0[5]; } __rte_packed_end; /* hwrm_tfc_tbl_scope_id_alloc_output (size:128b/16B) */ diff --git a/drivers/net/bnxt/tf_core/v3/tfc.h b/drivers/net/bnxt/tf_core/v3/tfc.h index 54c615edc3..ebe997e711 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc.h +++ b/drivers/net/bnxt/tf_core/v3/tfc.h @@ -762,14 +762,12 @@ enum tfc_tbl_scope_bucket_factor { * tfc_tbl_scope_size_query API. */ struct tfc_tbl_scope_size_query_parms { - /** - * [in] If a shared table scope, dynamic buckets are disabled. This - * affects the calculation for static buckets in this function. - * Initially, if not shared, the size of the static bucket table should - * be double the number of flows supported. Numbers are validated - * against static_cnt and dynamic_cnt + /** Scope is one of non-shared, shared-app or global. + * If a shared-app or global table scope, dynamic buckets are disabled. + * this combined with the multiplier affects the calculation for static + * buckets in this function. */ - bool shared; + enum cfa_scope_type scope_type; /** * [in] Direction indexed array indicating the number of flows. Must be * at least as large as the number entries that the buckets can point @@ -852,6 +850,12 @@ struct tfc_tbl_scope_size_query_parms { * to be used by a table scope. */ struct tfc_tbl_scope_mem_alloc_parms { + /** Scope is one of non-shared, shared-app or global. + * If a shared-app or global table scope, dynamic buckets are disabled. + * this combined with the multiplier affects the calculation for static + * buckets in this function. + */ + enum cfa_scope_type scope_type; /** * [in] If a shared table scope, indicate whether this is the first * if, the first, the table scope memory will be allocated. Otherwise @@ -920,32 +924,51 @@ struct tfc_tbl_scope_mem_alloc_parms { uint32_t lkup_rec_start_offset[CFA_DIR_MAX]; }; + +/** + * tfc_tbl_scope_qcaps_parms contains the parameters for determining + * the table scope capabilities + */ +struct tfc_tbl_scope_qcaps_parms { + /** + * [out] if true, the device supports a table scope. + */ + bool tbl_scope_cap; + /** + * [out] if true, the device supports a global table scope. + */ + bool global_cap; + /** + * [out] if true, the device supports locked regions. + */ + bool locked_cap; + /** + * [out] the maximum number of static buckets supported. + */ + uint8_t max_lkup_static_bucket_exp; + /** + * [out] The maximum number of minimum sized lkup records supported. + */ + uint32_t max_lkup_rec_cnt; + /** + * [out] The maximum number of minimum sized action records supported. + */ + uint32_t max_act_rec_cnt; +}; + /** * Determine whether table scopes are supported in the hardware. * * @param[in] tfcp * Pointer to TFC handle * - * @param[out] tbl_scope_capable - * True if table scopes are supported in the firmware. - * - * @param[out] max_lkup_rec_cnt - * The maximum number of lookup records in a table scope (optional) - * - * @param[out] max_act_rec_cnt - * The maximum number of action records in a table scope (optional) - * - * @param[out] max_lkup_static_buckets_exp - * The log2 of the maximum number of lookup static buckets in a table scope - * (optional) + * @param[in,out] parms * * @returns * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfc_tbl_scope_qcaps(struct tfc *tfcp, bool *tbl_scope_capable, - uint32_t *max_lkup_rec_cnt, - uint32_t *max_act_rec_cnt, - uint8_t *max_lkup_static_buckets_exp); +int tfc_tbl_scope_qcaps(struct tfc *tfcp, + struct tfc_tbl_scope_qcaps_parms *parms); /** * Determine table scope sizing @@ -968,8 +991,8 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, * @param[in] tfcp * Pointer to TFC handle * - * @param[in] shared - * Create a shared table scope. + * @param[in] scope_type + * non-shared, shared-app or global * * @param[in] app_type * The application type, TF or AFM @@ -984,7 +1007,7 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, * @returns * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfc_tbl_scope_id_alloc(struct tfc *tfcp, bool shared, +int tfc_tbl_scope_id_alloc(struct tfc *tfcp, enum cfa_scope_type scope_type, enum cfa_app_type app_type, uint8_t *tsid, bool *first); @@ -1023,10 +1046,14 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, * @param[in] tsid * Table scope identifier * + * @param[in] fid_cnt + * Used for global scope cleanup. If a fid remains, do not delete scope + * * @returns * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid); +int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid, + uint16_t fid_cnt); /** * tfc_tbl_scope_cpm_alloc_parms contains the parameters for allocating a diff --git a/drivers/net/bnxt/tf_core/v3/tfc_act.c b/drivers/net/bnxt/tf_core/v3/tfc_act.c index 7b1f82b842..3c1c76359b 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_act.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_act.c @@ -45,12 +45,12 @@ int tfc_act_alloc(struct tfc *tfcp, struct tfc_cmm *cmm; uint32_t entry_offset; struct cfa_mm_alloc_parms aparms; - bool is_shared; + enum cfa_scope_type scope_type; struct tfc_ts_pool_info pi; bool valid; uint16_t max_pools; - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, &max_pools); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, &max_pools); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -67,7 +67,11 @@ int tfc_act_alloc(struct tfc *tfcp, return -EINVAL; } - tfo_ts_get_pool_info(tfcp->tfo, tsid, cmm_info->dir, &pi); + rc = tfo_ts_get_pool_info(tfcp->tfo, tsid, cmm_info->dir, &pi); + if (unlikely(rc)) { + PMD_DRV_LOG_LINE(ERR, "%s: failed to get pool info: %s", + __func__, strerror(-rc)); + } /* Get CPM instances */ rc = tfo_ts_get_cpm_inst(tfcp->tfo, tsid, cmm_info->dir, &cpm_lkup, &cpm_act); @@ -99,8 +103,9 @@ int tfc_act_alloc(struct tfc *tfcp, /* There is only 1 pool for a non-shared table scope * and it is full. */ - if (unlikely(!is_shared)) { - PMD_DRV_LOG_LINE(ERR, "no records remain"); + if (unlikely(scope_type == CFA_SCOPE_TYPE_NON_SHARED)) { + PMD_DRV_LOG_LINE(ERR, "%s: no records remain", + __func__); return -ENOMEM; } rc = tfc_get_fid(tfcp, &fid); @@ -157,7 +162,6 @@ int tfc_act_alloc(struct tfc *tfcp, return -EINVAL; } } - aparms.num_contig_records = 1 << next_pow2(num_contig_rec); rc = cfa_mm_alloc(cmm, &aparms); if (unlikely(rc)) { @@ -231,7 +235,7 @@ int tfc_act_set(struct tfc *tfcp, struct cfa_bld_mpcinfo *mpc_info; uint32_t record_size; uint8_t tsid; - bool is_shared; + enum cfa_scope_type scope_type; bool valid; tfo_mpcinfo_get(tfcp->tfo, &mpc_info); @@ -247,7 +251,7 @@ int tfc_act_set(struct tfc *tfcp, &record_size, &entry_offset); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -382,7 +386,7 @@ static int tfc_act_get_only(struct tfc *tfcp, struct bnxt_mpc_mbuf mpc_msg_out; uint32_t record_size; uint8_t tsid; - bool is_shared; + enum cfa_scope_type scope_type; struct cfa_bld_mpcinfo *mpc_info; bool valid; @@ -393,7 +397,7 @@ static int tfc_act_get_only(struct tfc *tfcp, &record_size, &entry_offset); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -561,7 +565,7 @@ static int tfc_act_get_clear(struct tfc *tfcp, struct bnxt_mpc_mbuf mpc_msg_out; uint32_t record_size; uint8_t tsid; - bool is_shared; + enum cfa_scope_type scope_type; struct cfa_bld_mpcinfo *mpc_info; bool valid; uint16_t mask = 0; @@ -573,7 +577,7 @@ static int tfc_act_get_clear(struct tfc *tfcp, &record_size, &entry_offset); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); @@ -739,7 +743,7 @@ int tfc_act_free(struct tfc *tfcp, uint32_t record_offset; struct cfa_mm_free_parms fparms; uint8_t tsid; - bool is_shared; + enum cfa_scope_type scope_type; bool valid; bool is_bs_owner; struct tfc_ts_mem_cfg mem_cfg; @@ -750,7 +754,7 @@ int tfc_act_free(struct tfc *tfcp, &record_size, &record_offset); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; diff --git a/drivers/net/bnxt/tf_core/v3/tfc_cpm.c b/drivers/net/bnxt/tf_core/v3/tfc_cpm.c index 36a9189805..f58ec48db7 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_cpm.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_cpm.c @@ -293,6 +293,10 @@ int tfc_cpm_set_cmm_inst(struct tfc_cpm *cpm, uint16_t pool_id, struct tfc_cmm * return -EINVAL; } + if (pool_id >= cpm->max_pools) { + PMD_DRV_LOG_LINE(ERR, "Pool ID:0x%x > max 0x%x", pool_id, cpm->max_pools); + return -EINVAL; + } pool = &cpm->pools[pool_id]; if (pool->valid && cmm != NULL) { @@ -324,6 +328,11 @@ int tfc_cpm_get_cmm_inst(struct tfc_cpm *cpm, uint16_t pool_id, struct tfc_cmm * return -EINVAL; } + if (pool_id >= cpm->max_pools) { + PMD_DRV_LOG_LINE(ERR, "Pool ID:0x%x > max 0x%x", pool_id, cpm->max_pools); + return -EINVAL; + } + pool = &cpm->pools[pool_id]; if (!pool->valid) { @@ -359,6 +368,10 @@ int tfc_cpm_set_usage(struct tfc_cpm *cpm, uint16_t pool_id, uint32_t used_count return -EINVAL; } + if (pool_id >= cpm->max_pools) { + PMD_DRV_LOG_LINE(ERR, "Pool ID:0x%x > max 0x%x", pool_id, cpm->max_pools); + return -EINVAL; + } pool = &cpm->pools[pool_id]; if (!pool->valid) { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c index 8264f9a05d..828b7838f5 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c @@ -133,19 +133,18 @@ int tfc_em_insert(struct tfc *tfcp, uint8_t tsid, uint32_t i; uint32_t hash = 0; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_EM_INSERT_CMD_MAX_FLD]; - bool is_shared; + enum cfa_scope_type scope_type; struct cfa_bld_mpcinfo *mpc_info; bool valid; uint16_t max_pools; #if TFC_EM_DYNAMIC_BUCKET_EN struct cfa_mm_alloc_parms bucket_aparms; - bool shared = false; uint32_t bucket_offset; #endif tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, &max_pools); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, &max_pools); if (unlikely(rc)) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -202,8 +201,9 @@ int tfc_em_insert(struct tfc *tfcp, uint8_t tsid, /* There is only 1 pool for a non-shared table scope and * it is full. */ - if (!is_shared) { - PMD_DRV_LOG_LINE(ERR, "no records remain"); + if (scope_type == CFA_SCOPE_TYPE_NON_SHARED) { + PMD_DRV_LOG_LINE(ERR, "%s: no records remain", + __func__); return -ENOMEM; } @@ -278,7 +278,7 @@ int tfc_em_insert(struct tfc *tfcp, uint8_t tsid, } #if TFC_EM_DYNAMIC_BUCKET_EN - if (!shared) { + if (scope_type == CFA_SCOPE_TYPE_NON_SHARED) { /* Allocate dynamic bucket */ bucket_aparms.num_contig_records = TFC_EM_DYNAMIC_BUCKET_RECORD_SIZE; rc = cfa_mm_alloc(cmm, &bucket_aparms); @@ -598,7 +598,7 @@ int tfc_em_delete(struct tfc *tfcp, struct tfc_em_delete_parms *parms) uint32_t record_size; struct cfa_mm_free_parms fparms; uint8_t tsid; - bool is_shared; + enum cfa_scope_type scope_type; struct tfc_ts_pool_info pi; bool is_bs_owner; struct tfc_ts_mem_cfg mem_cfg; @@ -615,7 +615,7 @@ int tfc_em_delete(struct tfc *tfcp, struct tfc_em_delete_parms *parms) &record_offset, &static_bucket); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (rc != 0) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c b/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c index f0512c41cc..670c3a75fc 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_mpc_debug.c @@ -43,7 +43,7 @@ int tfc_mpc_table_read(struct tfc *tfcp, struct cfa_mpc_data_obj fields_cmp[CFA_BLD_MPC_READ_CMP_MAX_FLD]; struct bnxt_mpc_mbuf mpc_msg_in; struct bnxt_mpc_mbuf mpc_msg_out; - bool is_shared; + enum cfa_scope_type scope_type; struct cfa_bld_mpcinfo *mpc_info; uint64_t host_address; uint8_t discard_data[128]; @@ -53,7 +53,7 @@ int tfc_mpc_table_read(struct tfc *tfcp, tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (rc != 0) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -212,12 +212,12 @@ int tfc_mpc_table_write_zero(struct tfc *tfcp, struct bnxt_mpc_mbuf mpc_msg_in; struct bnxt_mpc_mbuf mpc_msg_out; struct cfa_bld_mpcinfo *mpc_info; - bool is_shared; + enum cfa_scope_type scope_type; bool valid; tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (rc != 0) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -340,12 +340,12 @@ int tfc_mpc_table_invalidate(struct tfc *tfcp, struct bnxt_mpc_mbuf mpc_msg_in; struct bnxt_mpc_mbuf mpc_msg_out; struct cfa_bld_mpcinfo *mpc_info; - bool is_shared; + enum cfa_scope_type scope_type; bool valid; tfo_mpcinfo_get(tfcp->tfo, &mpc_info); - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (rc != 0) { PMD_DRV_LOG_LINE(ERR, "failed to get tsid: %s", strerror(-rc)); return -EINVAL; @@ -1288,7 +1288,7 @@ static void bucket_show(FILE *fd, struct bucket_info_t *bucket_info, uint32_t of int tfc_em_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir) { int rc = 0; - bool is_shared; + enum cfa_scope_type scope_type; bool is_bs_owner; struct tfc_ts_mem_cfg *lkup_mem_cfg; struct tfc_ts_mem_cfg *act_mem_cfg; @@ -1299,7 +1299,7 @@ int tfc_em_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir) uint32_t bucket_offset = 0; bool valid; - rc = tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); if (rc != 0) { fprintf(fd, "%s: failed to get tsid: %d\n", __func__, rc); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_msg.c index 7ec7e9a054..cf72d09184 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.c @@ -181,6 +181,8 @@ tfc_msg_free_dma_buf(struct tfc_msg_dma_buf *buf) int tfc_msg_tbl_scope_qcaps(struct tfc *tfcp, bool *tbl_scope_capable, + bool *global_scope_capable, + bool *locked_scope_capable, uint32_t *max_lkup_rec_cnt, uint32_t *max_act_rec_cnt, uint8_t *max_lkup_static_buckets_exp) @@ -200,8 +202,24 @@ tfc_msg_tbl_scope_qcaps(struct tfc *tfcp, return -EINVAL; } + if (global_scope_capable == NULL) { + PMD_DRV_LOG_LINE(ERR, + "%s: Invalid global_scope_capable pointer", + __func__); + return -EINVAL; + } + + if (tbl_scope_capable == NULL) { + PMD_DRV_LOG_LINE(ERR, + "%s: Invalid locked_scope_capable pointer", + __func__); + return -EINVAL; + } + bp = tfcp->bp; *tbl_scope_capable = false; + *global_scope_capable = false; + *locked_scope_capable = false; rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_TBL_SCOPE_QCAPS, &req, sizeof(req), &resp, @@ -211,6 +229,10 @@ tfc_msg_tbl_scope_qcaps(struct tfc *tfcp, if (resp.tbl_scope_capable) { *tbl_scope_capable = true; + if (resp.flags & HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_GLOBAL) + *global_scope_capable = true; + if (resp.flags & HWRM_TFC_TBL_SCOPE_QCAPS_OUTPUT_FLAGS_LOCKED) + *locked_scope_capable = true; if (max_lkup_rec_cnt) *max_lkup_rec_cnt = rte_le_to_cpu_32(resp.max_lkup_rec_cnt); @@ -226,7 +248,7 @@ tfc_msg_tbl_scope_qcaps(struct tfc *tfcp, } int tfc_msg_tbl_scope_id_alloc(struct tfc *tfcp, uint16_t fid, - bool shared, enum cfa_app_type app_type, + enum cfa_scope_type scope_type, enum cfa_app_type app_type, uint8_t *tsid, bool *first) { @@ -247,8 +269,21 @@ tfc_msg_tbl_scope_id_alloc(struct tfc *tfcp, uint16_t fid, bp = tfcp->bp; req.app_type = app_type; - req.shared = shared; - + switch (scope_type) { + case CFA_SCOPE_TYPE_NON_SHARED: + req.scope_type = HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_NON_SHARED; + break; + case CFA_SCOPE_TYPE_SHARED_APP: + req.scope_type = HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_SHARED_APP; + break; + case CFA_SCOPE_TYPE_GLOBAL: + req.scope_type = HWRM_TFC_TBL_SCOPE_ID_ALLOC_INPUT_SCOPE_TYPE_GLOBAL; + break; + default: + PMD_DRV_LOG_LINE(ERR, "%s: Invalid scope_type", + __func__); + return -EINVAL; + } rc = tfc_msg_set_fid(bp, fid, &req.fid); if (rc) return rc; @@ -393,28 +428,6 @@ tfc_msg_backing_store_cfg_v2(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir, return rc; } -int -tfc_msg_tbl_scope_deconfig(struct tfc *tfcp, uint8_t tsid) -{ - struct hwrm_tfc_tbl_scope_deconfig_input req = { 0 }; - struct hwrm_tfc_tbl_scope_deconfig_output resp = { 0 }; - struct bnxt *bp; - int rc; - - if (tfcp == NULL) { - PMD_DRV_LOG_LINE(ERR, "Invalid tfcp pointer"); - return -EINVAL; - } - - bp = tfcp->bp; - req.tsid = tsid; - rc = bnxt_hwrm_tf_message_direct(bp, false, HWRM_TFC_TBL_SCOPE_DECONFIG, - &req, sizeof(req), &resp, - sizeof(resp)); - - return rc; -} - int tfc_msg_tbl_scope_fid_add(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint16_t *fid_cnt) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_msg.h index 3bf6b04a12..6f07890cd6 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_msg.h @@ -16,11 +16,14 @@ int tfc_msg_tbl_scope_qcaps(struct tfc *tfcp, bool *tbl_scope_capable, + bool *global_scope_capable, + bool *locked_scope_capable, uint32_t *max_lkup_rec_cnt, uint32_t *max_act_rec_cnt, uint8_t *max_lkup_static_buckets_exp); -int tfc_msg_tbl_scope_id_alloc(struct tfc *tfcp, uint16_t fid, bool shared, +int tfc_msg_tbl_scope_id_alloc(struct tfc *tfcp, uint16_t fid, + enum cfa_scope_type scope_type, enum cfa_app_type app_type, uint8_t *tsid, bool *first); @@ -31,9 +34,6 @@ tfc_msg_backing_store_cfg_v2(struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir, uint32_t rec_cnt, uint8_t static_bkt_cnt_exp, bool cfg_done); -int -tfc_msg_tbl_scope_deconfig(struct tfc *tfcp, uint8_t tsid); - int tfc_msg_tbl_scope_fid_add(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint16_t *fid_cnt); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index ac805916cc..b229f07596 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -56,9 +56,8 @@ * @param[in] key_sz_in_bytes * The lookup key size in bytes * - * @param[in] shared - * True if the table scope will be shared. Shared table scopes cannot have - * dynamic buckets. + * @param[in] scope_type + * Shared-app or global table scopes cannot have dynamic buckets. * * @param[in] factor * This indicates a multiplier factor for determining the static and dynamic @@ -76,7 +75,7 @@ * */ static int calc_lkup_rec_cnt(uint32_t flow_cnt, uint16_t key_sz_in_bytes, - __rte_unused bool shared, + __rte_unused enum cfa_scope_type scope_type, enum tfc_tbl_scope_bucket_factor factor, uint32_t *lkup_rec_cnt, uint8_t *static_bucket_cnt_exp, @@ -127,7 +126,7 @@ static int calc_lkup_rec_cnt(uint32_t flow_cnt, uint16_t key_sz_in_bytes, key_rec_cnt = flow_cnt * entry_size; #ifdef DYNAMIC_BUCKETS_SUPPORTED - if (shared) { + if (scope_type != CFA_SCOPE_TYPE_NON_SHARED) { #endif *static_bucket_cnt_exp = next_pow2(flow_adj / ENTRIES_PER_BUCKET); @@ -531,9 +530,9 @@ static int alloc_link_pbl(struct tfc_ts_mem_cfg *mem_cfg, uint32_t page_size, */ struct tbl_scope_pools_create_parms { /** - * [in] Indicates if the table scope will be shared. + * [in] Indicates non-shared, shared-app or global scope. */ - bool shared; + enum cfa_scope_type scope_type; /** * [in] The number of pools the table scope will be divided into. (set * to 1 if not shared). @@ -599,7 +598,7 @@ static int tbl_scope_pools_create(struct tfc *tfcp, uint8_t tsid, return -EINVAL; } - rc = tfo_tim_get(tfcp->tfo, &tim); + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); if (rc) return -EINVAL; @@ -703,7 +702,7 @@ static int tbl_scope_pools_destroy(struct tfc *tfcp, uint8_t tsid) return -EINVAL; } - rc = tfo_tim_get(tfcp->tfo, &tim); + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); if (rc) return -EINVAL; @@ -755,7 +754,7 @@ static int tbl_scope_tpm_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint16_t *pool_cnt) { int rc = 0; - bool shared; + enum cfa_scope_type scope_type; bool valid; enum cfa_dir dir; uint16_t pool_id; @@ -783,15 +782,16 @@ static int tbl_scope_tpm_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, PMD_DRV_LOG_LINE(ERR, "only valid for PF"); return -EINVAL; } - rc = tfo_ts_get(tfcp->tfo, tsid, &shared, NULL, &valid, NULL); - if (!valid || !shared) { - PMD_DRV_LOG_LINE(ERR, "tsid(%d) valid(%s) shared(%s)", - tsid, valid ? "TRUE" : "FALSE", - shared ? "TRUE" : "FALSE"); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, &valid, NULL); + if (!valid || scope_type == CFA_SCOPE_TYPE_NON_SHARED) { + PMD_DRV_LOG_LINE(ERR, + "%s: tsid(%d) valid(%s) scope_type(%s)", + __func__, tsid, valid ? "TRUE" : "FALSE", + tfc_scope_type_2_str(scope_type)); return -EINVAL; } - rc = tfo_tim_get(tfcp->tfo, &tim); + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); if (rc) { PMD_DRV_LOG_LINE(ERR, "Failed to get TIM"); return -EINVAL; @@ -879,10 +879,7 @@ static int tbl_scope_tpm_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, /* Public APIs */ -int tfc_tbl_scope_qcaps(struct tfc *tfcp, bool *tbl_scope_capable, - uint32_t *max_lkup_rec_cnt, - uint32_t *max_act_rec_cnt, - uint8_t *max_lkup_static_buckets_exp) +int tfc_tbl_scope_qcaps(struct tfc *tfcp, struct tfc_tbl_scope_qcaps_parms *parms) { int rc = 0; @@ -890,14 +887,17 @@ int tfc_tbl_scope_qcaps(struct tfc *tfcp, bool *tbl_scope_capable, PMD_DRV_LOG_LINE(ERR, "Invalid tfcp pointer"); return -EINVAL; } - if (tbl_scope_capable == NULL) { - PMD_DRV_LOG_LINE(ERR, "Invalid tbl_scope_capable pointer"); + if (parms == NULL) { + PMD_DRV_LOG_LINE(ERR, "%s: Invalid parms", __func__); return -EINVAL; } - rc = tfc_msg_tbl_scope_qcaps(tfcp, tbl_scope_capable, max_lkup_rec_cnt, - max_act_rec_cnt, - max_lkup_static_buckets_exp); + rc = tfc_msg_tbl_scope_qcaps(tfcp, &parms->tbl_scope_cap, + &parms->global_cap, + &parms->locked_cap, + &parms->max_lkup_rec_cnt, + &parms->max_act_rec_cnt, + &parms->max_lkup_static_bucket_exp); if (rc) PMD_DRV_LOG_LINE(ERR, "table scope qcaps message failed, rc:%s", @@ -927,15 +927,15 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, } if (is_pow2(parms->max_pools)) { - PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", - __func__, parms->max_pools); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid max_pools %u not pow2", + __func__, parms->max_pools); return -EINVAL; } for (dir = CFA_DIR_RX; dir < CFA_DIR_MAX; dir++) { rc = calc_lkup_rec_cnt(parms->flow_cnt[dir], parms->key_sz_in_bytes[dir], - parms->shared, parms->factor, + parms->scope_type, parms->factor, &parms->lkup_rec_cnt[dir], &parms->static_bucket_cnt_exp[dir], &parms->dynamic_bucket_cnt[dir]); @@ -970,7 +970,7 @@ int tfc_tbl_scope_size_query(struct tfc *tfcp, return rc; } -int tfc_tbl_scope_id_alloc(struct tfc *tfcp, bool shared, +int tfc_tbl_scope_id_alloc(struct tfc *tfcp, enum cfa_scope_type scope_type, enum cfa_app_type app_type, uint8_t *tsid, bool *first) { @@ -994,13 +994,13 @@ int tfc_tbl_scope_id_alloc(struct tfc *tfcp, bool shared, return -EINVAL; } rc = tfc_msg_tbl_scope_id_alloc(tfcp, ((struct bnxt *)tfcp->bp)->fw_fid, - shared, app_type, tsid, first); + scope_type, app_type, tsid, first); if (rc) { PMD_DRV_LOG_LINE(ERR, "table scope ID alloc message failed, rc:%s", strerror(-rc)); } else { - rc = tfo_ts_set(tfcp->tfo, *tsid, shared, app_type, valid, 0); + rc = tfo_ts_set(tfcp->tfo, *tsid, scope_type, app_type, valid, 0); } return rc; } @@ -1014,7 +1014,6 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint64_t act_base_addr[2]; int dir; int rc = 0; - bool shared = false; uint32_t page_sz; uint16_t pfid; uint8_t lkup_pbl_level[2]; @@ -1044,8 +1043,8 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, } if (is_pow2(parms->max_pools)) { - PMD_DRV_LOG(ERR, "%s: Invalid max_pools %u not pow2\n", - __func__, parms->max_pools); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid max_pools %u not pow2", + __func__, parms->max_pools); return -EINVAL; } @@ -1083,12 +1082,6 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, return rc; } - /* - * A shared table scope will have more than 1 pool - */ - if (parms->max_pools > 1) - shared = true; - /* If we are running on a PF, we will allocate memory locally */ if (is_pf) { @@ -1176,9 +1169,9 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, goto cleanup; } - /* Set shared and valid in local state */ + /* Set scope_type and valid in local state */ valid = true; - rc = tfo_ts_set(tfcp->tfo, tsid, shared, CFA_APP_TYPE_TF, + rc = tfo_ts_set(tfcp->tfo, tsid, parms->scope_type, CFA_APP_TYPE_TF, valid, parms->max_pools); if (rc) goto cleanup; @@ -1190,7 +1183,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, cfg_cnt++; } - cparms.shared = shared; + cparms.scope_type = parms->scope_type; cparms.max_pools = parms->max_pools; for (dir = 0; dir < CFA_DIR_MAX; dir++) { @@ -1205,7 +1198,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, /* If not shared, allocate the single pool_id in each region * so that we can save the associated fid for the table scope */ - if (!shared) { + if (parms->scope_type == CFA_SCOPE_TYPE_NON_SHARED) { uint16_t pool_id; enum cfa_region_type region; uint16_t max_vf; @@ -1239,7 +1232,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, } else /* this is a VF */ { /* If first or !shared, send message to PF to allocate the memory */ - if (parms->first || !shared) { + if (parms->first || parms->scope_type == CFA_SCOPE_TYPE_NON_SHARED) { struct tfc_vf2pf_tbl_scope_mem_alloc_cfg_cmd req = { { 0 } }; struct tfc_vf2pf_tbl_scope_mem_alloc_cfg_resp resp = { { 0 } }; uint16_t fid; @@ -1252,6 +1245,7 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, req.hdr.fid = fid; req.tsid = tsid; req.max_pools = parms->max_pools; + req.scope_type = parms->scope_type; for (dir = CFA_DIR_RX; dir < CFA_DIR_MAX; dir++) { req.static_bucket_cnt_exp[dir] = parms->static_bucket_cnt_exp[dir]; req.dynamic_bucket_cnt[dir] = parms->dynamic_bucket_cnt[dir]; @@ -1298,9 +1292,9 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, if (rc) goto cleanup; - /* Set shared and valid in local state */ + /* Set scope_type and valid in local state */ valid = true; - rc = tfo_ts_set(tfcp->tfo, tsid, shared, CFA_APP_TYPE_TF, + rc = tfo_ts_set(tfcp->tfo, tsid, parms->scope_type, CFA_APP_TYPE_TF, valid, parms->max_pools); } } @@ -1330,7 +1324,8 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, return rc; } -int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) +int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid, + uint16_t fid_cnt) { struct tfc_ts_mem_cfg mem_cfg; bool local; @@ -1338,7 +1333,9 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) int lrc = 0; int rc = 0; bool is_pf = false; - bool shared; + enum cfa_scope_type scope_type; + struct tfc_cpm *cpm_lkup; + struct tfc_cpm *cpm_act; if (tfcp == NULL) { PMD_DRV_LOG_LINE(ERR, "Invalid tfcp pointer"); @@ -1355,7 +1352,7 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) return -EINVAL; } - rc = tfo_ts_get(tfcp->tfo, tsid, &shared, NULL, NULL, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, NULL, NULL); if (rc) return rc; @@ -1370,7 +1367,6 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) return rc; if (!is_pf) { - PMD_DRV_LOG_LINE(DEBUG, "Send VF2PF message and await response"); struct tfc_vf2pf_tbl_scope_mem_free_cmd req = { { 0 } }; struct tfc_vf2pf_tbl_scope_mem_free_resp resp = { { 0 } }; uint16_t fid; @@ -1382,22 +1378,44 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) req.hdr.type = TFC_VF2PF_TYPE_TBL_SCOPE_MEM_FREE_CMD; req.hdr.fid = fid; req.tsid = tsid; - rc = tfc_vf2pf_mem_free(tfcp, &req, &resp); - if (rc != 0) { - PMD_DRV_LOG_LINE(ERR, "tfc_vf2pf_mem_free failed"); - /* continue cleanup regardless */ - } - PMD_DRV_LOG_LINE(DEBUG, "%s: tsid: %d, status %d", - __func__, resp.tsid, resp.status); - if (shared) { + if (rc != 0) + PMD_DRV_LOG_LINE(ERR, "%s: tfc_vf2pf_mem_free failed", + __func__); + /* continue cleanup regardless */ + + if (scope_type == CFA_SCOPE_TYPE_SHARED_APP) { + /* + * Check if any direction has a CPM instance and, if so, free + * it. + */ + rc = tfo_ts_get_cpm_inst(tfcp->tfo, tsid, CFA_DIR_RX, &cpm_lkup, + &cpm_act); + if (rc == 0 && (cpm_lkup != NULL || cpm_act != NULL)) + (void)tfc_tbl_scope_cpm_free(tfcp, tsid); + /* reset scope */ - tfo_ts_set(tfcp->tfo, tsid, false, CFA_APP_TYPE_INVALID, false, 0); + tfo_ts_set(tfcp->tfo, tsid, CFA_SCOPE_TYPE_INVALID, + CFA_APP_TYPE_INVALID, false, 0); + return rc; + } else if (scope_type == CFA_SCOPE_TYPE_GLOBAL) { + if (fid_cnt == 0) { + /* + * Check if any direction has a CPM instance and, if so, free + * it. + */ + rc = tfo_ts_get_cpm_inst(tfcp->tfo, tsid, CFA_DIR_RX, &cpm_lkup, + &cpm_act); + if (rc == 0 && (cpm_lkup != NULL || cpm_act != NULL)) + (void)tfc_tbl_scope_cpm_free(tfcp, tsid); + /* reset scope */ + tfo_ts_set(tfcp->tfo, tsid, CFA_SCOPE_TYPE_INVALID, + CFA_APP_TYPE_INVALID, false, 0); + } return rc; } } - - if (shared && is_pf) { + if (scope_type != CFA_SCOPE_TYPE_NON_SHARED && is_pf) { uint16_t pool_cnt; uint16_t max_vf; @@ -1423,13 +1441,6 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) } } - /* Send Deconfig HWRM before freeing memory */ - rc = tfc_msg_tbl_scope_deconfig(tfcp, tsid); - if (rc) { - PMD_DRV_LOG_LINE(ERR, "deconfig failure: %s", strerror(-rc)); - return rc; - } - for (region = 0; region < CFA_REGION_TYPE_MAX; region++) { for (dir = 0; dir < CFA_DIR_MAX; dir++) { lrc = tfo_ts_get_mem_cfg(tfcp->tfo, tsid, dir, region, &local, @@ -1462,8 +1473,7 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid) } } /* cleanup state */ - rc = tfo_ts_set(tfcp->tfo, tsid, false, CFA_APP_TYPE_INVALID, false, 0); - + rc = tfo_ts_set(tfcp->tfo, tsid, CFA_SCOPE_TYPE_INVALID, CFA_APP_TYPE_INVALID, false, 0); return rc; } @@ -1499,8 +1509,6 @@ int tfc_tbl_scope_fid_add(struct tfc *tfcp, uint16_t fid, uint8_t tsid, int tfc_tbl_scope_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, uint16_t *fid_cnt) { - struct tfc_cpm *cpm_lkup; - struct tfc_cpm *cpm_act; int rc = 0; if (tfcp == NULL) { @@ -1529,16 +1537,6 @@ int tfc_tbl_scope_fid_rem(struct tfc *tfcp, uint16_t fid, uint8_t tsid, "table scope fid rem message failed, rc:%s", strerror(-rc)); - /* - * Check if any direction has a CPM instance and, if so, free - * it. - */ - rc = tfo_ts_get_cpm_inst(tfcp->tfo, tsid, CFA_DIR_RX, &cpm_lkup, - &cpm_act); - if (rc == 0 && (cpm_lkup != NULL || cpm_act != NULL)) - (void)tfc_tbl_scope_cpm_free(tfcp, tsid); - - /* tbl_scope_mem_free() will reset the remaining tsid state */ return rc; } @@ -1547,7 +1545,7 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, { int dir; struct tfc_ts_pool_info pi; - bool is_shared; + enum cfa_scope_type scope_type; int rc; struct tfc_cmm *cmm_lkup = NULL; struct tfc_cmm *cmm_act = NULL; @@ -1560,8 +1558,9 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, PMD_DRV_LOG_LINE(ERR, "tsid(%d) invalid", tsid); return -EINVAL; } - if (tfo_ts_get(tfcp->tfo, tsid, &is_shared, NULL, NULL, NULL)) { - PMD_DRV_LOG_LINE(ERR, "tsid(%d) info get failed", tsid); + if (tfo_ts_get(tfcp->tfo, tsid, &scope_type, NULL, NULL, NULL)) { + PMD_DRV_LOG_LINE(ERR, "%s: tsid(%d) info get failed", + __func__, tsid); return -EINVAL; } @@ -1569,6 +1568,14 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, */ for (dir = 0; dir < CFA_DIR_MAX; dir++) { tfo_ts_get_pool_info(tfcp->tfo, tsid, dir, &pi); + + /* If global scope, do not overwrite the CPM instance + * already configured + */ + if (scope_type == CFA_SCOPE_TYPE_GLOBAL && + pi.act_cpm) + return 0; + pi.lkup_max_contig_rec = parms->lkup_max_contig_rec[dir]; pi.act_max_contig_rec = parms->act_max_contig_rec[dir]; tfc_cpm_open(&pi.lkup_cpm, parms->max_pools); @@ -1578,12 +1585,13 @@ int tfc_tbl_scope_cpm_alloc(struct tfc *tfcp, uint8_t tsid, tfo_ts_set_cpm_inst(tfcp->tfo, tsid, dir, pi.lkup_cpm, pi.act_cpm); tfo_ts_set_pool_info(tfcp->tfo, tsid, dir, &pi); + /* If not shared create CMM instance for and populate CPM with pool_id 0. * If shared, a pool_id will be allocated during tfc_act_alloc() or * tfc_em_insert() and the CMM instance will be created on the first * call. */ - if (!is_shared) { + if (scope_type == CFA_SCOPE_TYPE_NON_SHARED) { struct cfa_mm_query_parms qparms; struct cfa_mm_open_parms oparms; uint32_t pool_id = 0; @@ -1704,7 +1712,6 @@ int tfc_tbl_scope_cpm_free(struct tfc *tfcp, uint8_t tsid) return -EINVAL; } - for (dir = 0; dir < CFA_DIR_MAX; dir++) { uint16_t pool_id; struct tfc_cmm *cmm; @@ -1801,7 +1808,7 @@ int tfc_tbl_scope_pool_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, } if (is_pf) { - rc = tfo_tim_get(tfcp->tfo, &tim); + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); if (rc) { PMD_DRV_LOG_LINE(ERR, "Failed to get TIM"); return -EINVAL; @@ -1895,7 +1902,7 @@ int tfc_tbl_scope_pool_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid, } if (is_pf) { - rc = tfo_tim_get(tfcp->tfo, &tim); + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); if (rc) return -EINVAL; @@ -2000,7 +2007,7 @@ static void tfc_tbl_scope_delete_by_pool(uint16_t *found_cnt, int tfc_tbl_scope_func_reset(struct tfc *tfcp, uint16_t fid) { int rc = 0; - bool shared; + enum cfa_scope_type scope_type; enum cfa_app_type app; bool valid; uint8_t tsid; @@ -2026,20 +2033,20 @@ int tfc_tbl_scope_func_reset(struct tfc *tfcp, uint16_t fid) return -EINVAL; } - rc = tfo_tim_get(tfcp->tfo, &tim); - if (rc) { - PMD_DRV_LOG_LINE(ERR, "Failed to get TIM"); - return -EINVAL; - } - data = rte_zmalloc("data", 32 * TFC_MPC_BYTES_PER_WORD, 32); for (tsid = 1; tsid < TFC_TBL_SCOPE_MAX; tsid++) { - rc = tfo_ts_get(tfcp->tfo, tsid, &shared, &app, &valid, NULL); + rc = tfo_ts_get(tfcp->tfo, tsid, &scope_type, &app, &valid, NULL); if (rc) continue; /* TS is not used, move on to the next */ - if (!shared || !valid) + rc = tfo_tim_get(tfcp->tfo, &tim, tsid); + if (rc) { + PMD_DRV_LOG_LINE(INFO, "%s: Failed to get TIM", __func__); + continue; + } + + if (scope_type == CFA_SCOPE_TYPE_NON_SHARED || !valid) continue; /* TS invalid or not shared, move on */ for (dir = 0; dir < CFA_DIR_MAX; dir++) { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c b/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c index cff93f931f..3b7ca7b8b1 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tcam_debug.c @@ -1804,7 +1804,7 @@ int tfc_wc_show(FILE *fd, struct tfc *tfcp, uint8_t tsid, enum cfa_dir dir) struct wc_frp_context wc_frp; bool is_bs_owner; struct bnxt *bp; - bool is_shared; + enum cfa_scope_type scope_type; bool valid; int rc = 0; diff --git a/drivers/net/bnxt/tf_core/v3/tfc_util.c b/drivers/net/bnxt/tf_core/v3/tfc_util.c index 91ad3ad657..ac6f9cc565 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_util.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_util.c @@ -145,6 +145,21 @@ tfc_ts_region_2_str(enum cfa_region_type region, enum cfa_dir dir) } } +const char * +tfc_scope_type_2_str(enum cfa_scope_type scope_type) +{ + switch (scope_type) { + case CFA_SCOPE_TYPE_NON_SHARED: + return "non_shared"; + case CFA_SCOPE_TYPE_SHARED_APP: + return "shared_app"; + case CFA_SCOPE_TYPE_GLOBAL: + return "global"; + default: + return "Invalid scope type"; + } +} + uint32_t tfc_getbits(uint32_t *data, int offset, int blen) { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_util.h b/drivers/net/bnxt/tf_core/v3/tfc_util.h index 5114517792..f71ade5c59 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_util.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_util.h @@ -87,6 +87,17 @@ const char *tfc_ts_region_2_str(enum cfa_region_type region, enum cfa_dir dir); */ const char *tfc_if_tbl_2_str(enum cfa_resource_subtype_if_tbl if_tbl_stype); +/** + * Helper function converting the scope type to text string + * + * [in] scope_type: table scope type + * + * Returns: + * Pointer to a char string holding the string for scope type + */ +const char *tfc_scope_type_2_str(enum cfa_scope_type scope_type); + + /** * Helper function retrieving field value from the buffer * diff --git a/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c b/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c index cbe243e79c..7550ed4e84 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.c @@ -179,6 +179,7 @@ tfc_vf2pf_mem_alloc_process(struct tfc *tfcp, /* This is not for local use if we are getting a message from the VF */ ma_parms.local = false; ma_parms.max_pools = req->max_pools; + ma_parms.scope_type = req->scope_type; rc = tfc_tbl_scope_mem_alloc(tfcp, req->hdr.fid, req->tsid, &ma_parms); if (rc == 0) { PMD_DRV_LOG_LINE(ERR, "tsid(%d) PF allocation succeeds", @@ -222,7 +223,7 @@ tfc_vf2pf_mem_free_process(struct tfc *tfcp, PMD_DRV_LOG_LINE(ERR, "Table scope mem free cfg cmd:"); PMD_DRV_LOG_LINE(ERR, "\ttsid: 0x%x", req->tsid); - rc = tfc_tbl_scope_mem_free(tfcp, req->hdr.fid, req->tsid); + rc = tfc_tbl_scope_mem_free(tfcp, req->hdr.fid, req->tsid, 0); if (rc == 0) { PMD_DRV_LOG_LINE(ERR, "tsid(%d) PF free succeeds", req->tsid); } else { diff --git a/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h b/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h index efa35665f6..5bc592de9b 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_vf2pf_msg.h @@ -73,6 +73,8 @@ struct tfc_vf2pf_tbl_scope_mem_alloc_cfg_cmd { uint8_t act_pool_sz_exp[CFA_DIR_MAX]; /** start offset in 32B records of the lkup recs (after buckets) */ uint32_t lkup_rec_start_offset[CFA_DIR_MAX]; + /** scope type non-shared, shared-app or global */ + enum cfa_scope_type scope_type; }; /** * Truflow VF2PF Table Scope Memory allocate/config response @@ -103,7 +105,7 @@ struct tfc_vf2pf_tbl_scope_mem_free_resp { struct tfc_vf2pf_hdr hdr; /** status of request */ enum tfc_vf2pf_status status; - /** tsid memory freed */ + /** table scope identifier */ uint8_t tsid; }; diff --git a/drivers/net/bnxt/tf_core/v3/tfo.c b/drivers/net/bnxt/tf_core/v3/tfo.c index 12d80877a6..5eaf0330be 100644 --- a/drivers/net/bnxt/tf_core/v3/tfo.c +++ b/drivers/net/bnxt/tf_core/v3/tfo.c @@ -14,8 +14,8 @@ */ struct tfc_tsid_db { bool ts_valid; /**< Table scope is valid */ - bool ts_is_shared; /**< Table scope is shared */ - bool ts_is_bs_owner; /**< Backing store allocated by this instance (PF) */ + enum cfa_scope_type scope_type; /**< non-shared, shared-app, global */ + bool ts_is_bs_owner; /**< Backing store alloced by this instance (PF) */ uint16_t ts_max_pools; /**< maximum pools per CPM instance */ enum cfa_app_type ts_app; /**< application type TF/AFM */ /** backing store memory config */ @@ -24,6 +24,22 @@ struct tfc_tsid_db { struct tfc_ts_pool_info ts_pool[CFA_DIR_MAX]; }; +/* Only a single global scope is allowed + */ +#define TFC_GLOBAL_SCOPE_MAX 1 + +/* TFC Global Object + * The global object is not per port, it is global. It is only + * used when a global table scope is created. + */ +struct tfc_global_object { + uint8_t gtsid; + struct tfc_tsid_db gtsid_db; + void *gts_tim; +}; + +struct tfc_global_object tfc_global; + /** TFC Object Signature * This signature identifies the tfc object database and * is used for pointer validation @@ -48,12 +64,14 @@ struct tfc_object { * table scope. Only valid on a PF. */ void *ts_tim; + struct tfc_global_object *tfgo; /**< pointer to global */ }; void tfo_open(void **tfo, bool is_pf) { int rc; struct tfc_object *tfco = NULL; + struct tfc_global_object *tfgo; uint32_t tim_db_size; if (tfo == NULL) { @@ -79,7 +97,7 @@ void tfo_open(void **tfo, bool is_pf) return; } if (is_pf) { - /* Allocate TIM */ + /* Allocate per bp TIM database */ rc = cfa_tim_query(TFC_TBL_SCOPE_MAX, CFA_REGION_TYPE_MAX, &tim_db_size); if (rc) @@ -99,7 +117,31 @@ void tfo_open(void **tfo, bool is_pf) goto cleanup; } } + tfco->tfgo = &tfc_global; + tfgo = tfco->tfgo; + if (is_pf && !tfgo->gts_tim) { + /* Allocate global scope TIM database */ + rc = cfa_tim_query(TFC_GLOBAL_SCOPE_MAX + 1, CFA_REGION_TYPE_MAX, + &tim_db_size); + if (rc) + goto cleanup; + + tfgo->gts_tim = rte_zmalloc("GTIM", tim_db_size, 0); + if (!tfgo->gts_tim) + goto cleanup; + + rc = cfa_tim_open(tfgo->gts_tim, + tim_db_size, + TFC_GLOBAL_SCOPE_MAX + 1, + CFA_REGION_TYPE_MAX); + if (rc) { + rte_free(tfgo->gts_tim); + tfgo->gts_tim = NULL; + goto cleanup; + } + } + tfgo->gtsid = INVALID_TSID; *tfo = tfco; return; @@ -119,13 +161,11 @@ void tfo_close(void **tfo) if (*tfo && tfco->signature == TFC_OBJ_SIGNATURE) { /* If TIM is setup free it and any TPMs */ - if (tfo_tim_get(*tfo, &tim)) - goto done; - - if (!tim) - goto done; - for (tsid = 0; tsid < TFC_TBL_SCOPE_MAX; tsid++) { + if (tfo_tim_get(*tfo, &tim, tsid)) + continue; + if (!tim) + continue; for (region = 0; region < CFA_REGION_TYPE_MAX; region++) { for (dir = 0; dir < CFA_DIR_MAX; dir++) { tpm = NULL; @@ -145,10 +185,13 @@ void tfo_close(void **tfo) } } } - rte_free(tim); + if (tim) + rte_free(tim); tfco->ts_tim = NULL; -done: - rte_free(*tfo); + tfco->tfgo = NULL; + + if (*tfo) + rte_free(*tfo); *tfo = NULL; } } @@ -176,6 +219,7 @@ int tfo_mpcinfo_get(void *tfo, struct cfa_bld_mpcinfo **mpc_info) int tfo_ts_validate(void *tfo, uint8_t ts_tsid, bool *ts_valid) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; if (tfo == NULL) { @@ -192,7 +236,11 @@ int tfo_ts_validate(void *tfo, uint8_t ts_tsid, bool *ts_valid) PMD_DRV_LOG_LINE(ERR, "Invalid tsid %d", ts_tsid); return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; if (ts_valid) *ts_valid = tsid_db->ts_valid; @@ -200,10 +248,11 @@ int tfo_ts_validate(void *tfo, uint8_t ts_tsid, bool *ts_valid) return 0; } -int tfo_ts_set(void *tfo, uint8_t ts_tsid, bool ts_is_shared, +int tfo_ts_set(void *tfo, uint8_t ts_tsid, enum cfa_scope_type scope_type, enum cfa_app_type ts_app, bool ts_valid, uint16_t ts_max_pools) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; if (tfo == NULL) { @@ -220,21 +269,32 @@ int tfo_ts_set(void *tfo, uint8_t ts_tsid, bool ts_is_shared, return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (scope_type == CFA_SCOPE_TYPE_GLOBAL) { + tsid_db = &tfgo->gtsid_db; + tfgo->gtsid = ts_tsid; + } else if (scope_type == CFA_SCOPE_TYPE_INVALID && tfgo && + ts_tsid == tfgo->gtsid) { + tfgo->gtsid = INVALID_TSID; + tsid_db = &tfgo->gtsid_db; + } else { + tsid_db = &tfco->tsid_db[ts_tsid]; + } tsid_db->ts_valid = ts_valid; - tsid_db->ts_is_shared = ts_is_shared; + tsid_db->scope_type = scope_type; tsid_db->ts_app = ts_app; tsid_db->ts_max_pools = ts_max_pools; return 0; } -int tfo_ts_get(void *tfo, uint8_t ts_tsid, bool *ts_is_shared, +int tfo_ts_get(void *tfo, uint8_t ts_tsid, enum cfa_scope_type *scope_type, enum cfa_app_type *ts_app, bool *ts_valid, uint16_t *ts_max_pools) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; if (tfo == NULL) { @@ -250,13 +310,17 @@ int tfo_ts_get(void *tfo, uint8_t ts_tsid, bool *ts_is_shared, return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (ts_tsid == tfgo->gtsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; if (ts_valid) *ts_valid = tsid_db->ts_valid; - if (ts_is_shared) - *ts_is_shared = tsid_db->ts_is_shared; + if (scope_type) + *scope_type = tsid_db->scope_type; if (ts_app) *ts_app = tsid_db->ts_app; @@ -274,6 +338,7 @@ int tfo_ts_set_mem_cfg(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, struct tfc_ts_mem_cfg *mem_cfg) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; int rc = 0; struct tfc_tsid_db *tsid_db; @@ -294,7 +359,11 @@ int tfo_ts_set_mem_cfg(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; tsid_db->ts_mem[region][dir] = *mem_cfg; tsid_db->ts_is_bs_owner = is_bs_owner; @@ -309,6 +378,7 @@ int tfo_ts_get_mem_cfg(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, struct tfc_ts_mem_cfg *mem_cfg) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; int rc = 0; struct tfc_tsid_db *tsid_db; @@ -329,7 +399,11 @@ int tfo_ts_get_mem_cfg(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; *mem_cfg = tsid_db->ts_mem[region][dir]; if (is_bs_owner) @@ -345,6 +419,7 @@ int tfo_ts_get_cpm_inst(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, { int rc = 0; struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; if (tfo == NULL) { @@ -368,7 +443,11 @@ int tfo_ts_get_cpm_inst(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; *cpm_lkup = tsid_db->ts_pool[dir].lkup_cpm; *cpm_act = tsid_db->ts_pool[dir].act_cpm; @@ -382,6 +461,7 @@ int tfo_ts_set_cpm_inst(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, { int rc = 0; struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; if (tfo == NULL) { @@ -396,7 +476,11 @@ int tfo_ts_set_cpm_inst(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, PMD_DRV_LOG_LINE(ERR, "Invalid tsid %d", ts_tsid); return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; tsid_db->ts_pool[dir].lkup_cpm = cpm_lkup; tsid_db->ts_pool[dir].act_cpm = cpm_act; @@ -409,6 +493,7 @@ int tfo_ts_set_pool_info(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, struct tfc_ts_pool_info *ts_pool) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; int rc = 0; struct tfc_tsid_db *tsid_db; @@ -428,7 +513,12 @@ int tfo_ts_set_pool_info(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, PMD_DRV_LOG_LINE(ERR, "Invalid tsid %d", ts_tsid); return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; tsid_db->ts_pool[dir] = *ts_pool; @@ -441,6 +531,7 @@ int tfo_ts_get_pool_info(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, struct tfc_ts_pool_info *ts_pool) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; int rc = 0; struct tfc_tsid_db *tsid_db; @@ -460,7 +551,11 @@ int tfo_ts_get_pool_info(void *tfo, uint8_t ts_tsid, enum cfa_dir dir, PMD_DRV_LOG_LINE(ERR, "Invalid tsid %d", ts_tsid); return -EINVAL; } - tsid_db = &tfco->tsid_db[ts_tsid]; + tfgo = tfco->tfgo; + if (tfgo && tfgo->gtsid == ts_tsid) + tsid_db = &tfgo->gtsid_db; + else + tsid_db = &tfco->tsid_db[ts_tsid]; *ts_pool = tsid_db->ts_pool[dir]; @@ -519,9 +614,10 @@ int tfo_sid_get(void *tfo, uint16_t *sid) return 0; } -int tfo_tim_set(void *tfo, void *tim) +int tfo_tim_get(void *tfo, void **tim, uint8_t ts_tsid) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; if (tfo == NULL) { PMD_DRV_LOG_LINE(ERR, "Invalid tfo pointer"); @@ -532,68 +628,60 @@ int tfo_tim_set(void *tfo, void *tim) return -EINVAL; } if (tim == NULL) { - PMD_DRV_LOG_LINE(ERR, "Invalid tim pointer"); - return -EINVAL; - } - - if (tfco->ts_tim != NULL && - tfco->ts_tim != tim) { - PMD_DRV_LOG_LINE(ERR, - "Cannot set TS TIM, TIM is already set"); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tim pointer to pointer", + __func__); return -EINVAL; } - tfco->ts_tim = tim; + *tim = NULL; + tfgo = tfco->tfgo; - return 0; -} - -int tfo_tim_get(void *tfo, void **tim) -{ - struct tfc_object *tfco = (struct tfc_object *)tfo; - - if (tfo == NULL) { - PMD_DRV_LOG_LINE(ERR, "Invalid tfo pointer"); - return -EINVAL; - } - if (tfco->signature != TFC_OBJ_SIGNATURE) { - PMD_DRV_LOG_LINE(ERR, "Invalid tfo object"); - return -EINVAL; - } - if (tim == NULL) { - PMD_DRV_LOG_LINE(ERR, "Invalid tim pointer to pointer"); - return -EINVAL; - } - if (tfco->ts_tim == NULL) { + if (ts_tsid == tfgo->gtsid) { + if (!tfgo->gts_tim) /* ts tim could be null, no need to log error message */ - return -ENODEV; + return -ENOENT; + *tim = tfgo->gts_tim; + } else { + if (!tfco->ts_tim) + /* ts tim could be null, no need to log error message */ + return -ENOENT; + *tim = tfco->ts_tim; } - *tim = tfco->ts_tim; - return 0; } - int tfo_tsid_get(void *tfo, uint8_t *tsid) { struct tfc_object *tfco = (struct tfc_object *)tfo; + struct tfc_global_object *tfgo; struct tfc_tsid_db *tsid_db; uint8_t i; if (tfo == NULL) { - PMD_DRV_LOG(ERR, "%s: Invalid tfo pointer", __func__); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tfo pointer", + __func__); return -EINVAL; } if (tfco->signature != TFC_OBJ_SIGNATURE) { - PMD_DRV_LOG(ERR, "%s: Invalid tfo object", __func__); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tfo object", + __func__); return -EINVAL; } if (tsid == NULL) { - PMD_DRV_LOG(ERR, "%s: Invalid tsid pointer", __func__); + PMD_DRV_LOG_LINE(ERR, "%s: Invalid tsid pointer", + __func__); return -EINVAL; } + tfgo = tfco->tfgo; + if (tfgo) { + tsid_db = &tfgo->gtsid_db; + if (tsid_db->ts_valid && tfgo->gtsid != INVALID_TSID) { + *tsid = tfgo->gtsid; + return 0; + } + } for (i = 1; i < TFC_TBL_SCOPE_MAX; i++) { tsid_db = &tfco->tsid_db[i]; diff --git a/drivers/net/bnxt/tf_core/v3/tfo.h b/drivers/net/bnxt/tf_core/v3/tfo.h index e572db5991..93a6a5c064 100644 --- a/drivers/net/bnxt/tf_core/v3/tfo.h +++ b/drivers/net/bnxt/tf_core/v3/tfo.h @@ -50,6 +50,10 @@ * @ref tfo_sid_set * * @ref tfo_sid_get + * + * @ref tfo_tim_get + * + * @ref tfo_tsid_get */ /** Invalid Table Scope ID */ @@ -161,8 +165,8 @@ int tfo_ts_validate(void *tfo, uint8_t ts_tsid, bool *ts_valid); * @param[in] ts_tsid * The table scope ID * - * @param[in] ts_is_shared - * True if the table scope is shared + * @param[in] scope_type + * non-shared, shared-app or global * * @param[in] ts_app * Application type TF/AFM @@ -171,12 +175,12 @@ int tfo_ts_validate(void *tfo, uint8_t ts_tsid, bool *ts_valid); * True if the table scope is valid * * @param[in] ts_max_pools - * Maximum number of pools if shared. + * Maximum number of pools * * @return * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfo_ts_set(void *tfo, uint8_t ts_tsid, bool ts_is_shared, +int tfo_ts_set(void *tfo, uint8_t ts_tsid, enum cfa_scope_type scope_type, enum cfa_app_type ts_app, bool ts_valid, uint16_t ts_max_pools); @@ -189,8 +193,8 @@ int tfo_ts_set(void *tfo, uint8_t ts_tsid, bool ts_is_shared, * @param[in] ts_tsid * The table scope ID * - * @param[out] ts_is_shared - * True if the table scope is shared + * @param[out] scope_type + * True if the table scope is sharednon-shared, shared-app, global * * @param[out] ts_app * Application type TF/AFM @@ -199,12 +203,12 @@ int tfo_ts_set(void *tfo, uint8_t ts_tsid, bool ts_is_shared, * True if the table scope is valid * * @param[out] ts_max_pools - * Maximum number of pools returned if shared. + * Maximum number of pools. * * @return * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfo_ts_get(void *tfo, uint8_t ts_tsid, bool *ts_is_shared, +int tfo_ts_get(void *tfo, uint8_t ts_tsid, enum cfa_scope_type *scope_type, enum cfa_app_type *ts_app, bool *ts_valid, uint16_t *ts_max_pools); @@ -399,32 +403,35 @@ int tfo_sid_set(void *tfo, uint16_t sid); int tfo_sid_get(void *tfo, uint16_t *sid); /** - * Set the table scope instance manager. + * Get the table scope instance manager. * * @param[in] tfo * Pointer to TFC object * - * @param[in] tim - * Pointer to the table scope instance manager + * @param[out] tim + * Pointer to a pointer to the table scope instance manager + * + * @param[in] ts_tsid + * Table scope id * * @return * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfo_tim_set(void *tfo, void *tim); +int tfo_tim_get(void *tfo, void **tim, uint8_t ts_tsid); /** - * Get the table scope instance manager. + * Get the table scope * * @param[in] tfo * Pointer to TFC object * - * @param[out] tim - * Pointer to a pointer to the table scope instance manager + * @param[out] tsid + * Pointer to the returned table scope * * @return * 0 for SUCCESS, negative error value for FAILURE (errno.h) */ -int tfo_tim_get(void *tfo, void **tim); +int tfo_tsid_get(void *tfo, uint8_t *tsid); /** * Get the table scope diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 084a3db92d..8443e3e7ba 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -20,6 +20,7 @@ #include "bnxt_tf_common.h" #include "hsi_struct_def_dpdk.h" #include "tf_core.h" +#include "tfc_util.h" #include "tf_ext_flow_handle.h" #include "ulp_template_db_enum.h" @@ -313,14 +314,6 @@ ulp_tfc_tbl_scope_deinit(struct bnxt *bp) if (rc) return; - rc = tfc_tbl_scope_cpm_free(tfcp, tsid); - if (rc) - BNXT_DRV_DBG(ERR, "Failed Freeing CPM TSID:%d FID:%d\n", - tsid, fid); - else - BNXT_DRV_DBG(DEBUG, "Freed CPM TSID:%d FID: %d\n", tsid, fid); - - rc = tfc_tbl_scope_fid_rem(tfcp, fid, tsid, &fid_cnt); if (rc) BNXT_DRV_DBG(ERR, "Failed removing FID from TSID:%d FID:%d", @@ -329,7 +322,14 @@ ulp_tfc_tbl_scope_deinit(struct bnxt *bp) BNXT_DRV_DBG(DEBUG, "Removed FID from TSID:%d FID:%d", tsid, fid); - rc = tfc_tbl_scope_mem_free(tfcp, fid, tsid); + rc = tfc_tbl_scope_cpm_free(tfcp, tsid); + if (rc) + BNXT_DRV_DBG(ERR, "Failed Freeing CPM TSID:%d FID:%d", + tsid, fid); + else + BNXT_DRV_DBG(DEBUG, "Freed CPM TSID:%d FID: %d", tsid, fid); + + rc = tfc_tbl_scope_mem_free(tfcp, fid, tsid, fid_cnt); if (rc) BNXT_DRV_DBG(ERR, "Failed freeing tscope mem TSID:%d FID:%d", tsid, fid); @@ -345,8 +345,10 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) struct tfc_tbl_scope_size_query_parms qparms = { 0 }; uint16_t max_lkup_sz[CFA_DIR_MAX], max_act_sz[CFA_DIR_MAX]; struct tfc_tbl_scope_cpm_alloc_parms cparms; + struct tfc_tbl_scope_qcaps_parms qcparms; uint16_t fid, max_pools; - bool first = true, shared = false; + bool first = true; + enum cfa_scope_type scope_type = CFA_SCOPE_TYPE_NON_SHARED; uint64_t feat_bits; uint8_t tsid = 0; struct tfc *tfcp; @@ -368,18 +370,37 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) max_act_sz[CFA_DIR_TX] = bnxt_ulp_cntxt_act_rec_tx_max_sz_get(bp->ulp_ctx); - shared = bnxt_ulp_cntxt_shared_tbl_scope_enabled(bp->ulp_ctx); + if (bnxt_ulp_cntxt_shared_tbl_scope_enabled(bp->ulp_ctx)) + scope_type = CFA_SCOPE_TYPE_SHARED_APP; feat_bits = bnxt_ulp_feature_bits_get(bp->ulp_ctx); if ((feat_bits & BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE)) { if (!BNXT_PF(bp)) { - shared = true; + scope_type = CFA_SCOPE_TYPE_SHARED_APP; max_pools = 32; } } + rc = tfc_tbl_scope_qcaps(tfcp, &qcparms); + if (rc) { + PMD_DRV_LOG_LINE(ERR, + "Failed obtaining table scope capabilities"); + return rc; + } + + if (feat_bits & BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT) { + if (qcparms.global_cap) { + scope_type = CFA_SCOPE_TYPE_GLOBAL; + max_pools = 4; + } else { + PMD_DRV_LOG_LINE(ERR, + "Socket direct requires global scope"); + return -EINVAL; + } + } + /* Calculate the sizes for setting up memory */ - qparms.shared = shared; + qparms.scope_type = scope_type; qparms.max_pools = max_pools; qparms.factor = bnxt_ulp_cntxt_em_mulitplier_get(bp->ulp_ctx); qparms.flow_cnt[CFA_DIR_RX] = @@ -394,15 +415,12 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) if (rc) return rc; - - - rc = tfc_tbl_scope_id_alloc(tfcp, shared, CFA_APP_TYPE_TF, &tsid, + rc = tfc_tbl_scope_id_alloc(tfcp, scope_type, CFA_APP_TYPE_TF, &tsid, &first); if (rc) { BNXT_DRV_DBG(ERR, "Failed to allocate tscope\n"); return rc; } - BNXT_DRV_DBG(DEBUG, "Allocated tscope TSID:%d\n", tsid); rc = bnxt_ulp_cntxt_tsid_set(bp->ulp_ctx, tsid); if (rc) @@ -410,7 +428,7 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) /* If we are shared and not the first table scope creator */ - if (shared && !first) { + if (scope_type != CFA_SCOPE_TYPE_NON_SHARED && !first) { bool configured; #define ULP_SHARED_TSID_WAIT_TIMEOUT 5000 #define ULP_SHARED_TSID_WAIT_TIME 50 @@ -426,12 +444,12 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) } timeout -= ULP_SHARED_TSID_WAIT_TIME; BNXT_DRV_DBG(INFO, - "Waiting %d ms for shared tsid(%d)\n", - timeout, tsid); + "Waiting %d ms for %s tsid(%d)", + timeout, tfc_scope_type_2_str(scope_type), tsid); } while (!configured && timeout > 0); if (timeout <= 0) { - BNXT_DRV_DBG(ERR, "Timed out on shared tsid(%d)\n", - tsid); + BNXT_DRV_DBG(ERR, "Timed out on %s tsid(%d)", + tfc_scope_type_2_str(scope_type), tsid); return -ETIMEDOUT; } } @@ -457,8 +475,9 @@ ulp_tfc_tbl_scope_init(struct bnxt *bp) qparms.act_pool_sz_exp[CFA_DIR_RX]; mem_parms.act_pool_sz_exp[CFA_DIR_TX] = qparms.act_pool_sz_exp[CFA_DIR_TX]; + mem_parms.scope_type = scope_type; - if (shared) + if (scope_type != CFA_SCOPE_TYPE_NON_SHARED) mem_parms.local = false; else mem_parms.local = true; @@ -540,7 +559,10 @@ ulp_tfc_cntxt_app_caps_init(struct bnxt *bp, uint8_t app_id, uint32_t dev_id) ulp_ctx->cfg_data->ulp_flags |= BNXT_ULP_APP_SOCKET_DIRECT; BNXT_DRV_DBG(DEBUG, - "Socket Direct feature is enabled\n"); + "Socket Direct feature is enabled"); + } else { + BNXT_DRV_DBG(DEBUG, + "No Socket Direct feature - must enable multiroot"); } } /* Update the capability feature bits*/ 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 02534d8fe8..c30a43568b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -911,7 +911,8 @@ enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT = 0x00000008, BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE = 0x00000010, BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN = 0x00000020, - BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040 + BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040, + BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080 }; enum bnxt_ulp_flow_dir_bitmask { -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (29 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 30/54] net/bnxt/tf_core: truflow global table scope Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 32/54] net/bnxt/tf_core: handle out of order MPC completions Manish Kurup ` (22 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shahaji Bhosle, Kishore Padmanabha From: Shahaji Bhosle <shahaji.bhosle@broadcom.com> 1. Added a new handler to GRE key input from the parser 2. Add a new pattern to match on GRE with KEY id. Signed-off-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c | 4 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 45 ++++++++++++++++++- drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 5 +++ .../net/bnxt/tf_ulp/ulp_template_db_enum.h | 3 +- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 2 + 5 files changed, 55 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c index 6e1115b985..4a7c7e437c 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c @@ -373,8 +373,8 @@ struct bnxt_ulp_rte_hdr_info ulp_hdr_info[] = { .proto_hdr_func = NULL }, [RTE_FLOW_ITEM_TYPE_GRE_KEY] = { - .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED, - .proto_hdr_func = NULL + .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED, + .proto_hdr_func = ulp_rte_gre_key_hdr_handler }, [RTE_FLOW_ITEM_TYPE_GTP_PSC] = { .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED, diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index af7f8b7ab4..ceda1ff5ef 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -31,6 +31,9 @@ #define ULP_UDP_PORT_GENEVE 6081 #define ULP_UDP_PORT_GENEVE_MASK 0xFFFF +/* GRE cks_rsvd0_ver bits */ +#define ULP_GRE_CKS_RSVD0_VER_HDR_KEY_BIT 0x2000 + /** * Geneve header first 16Bit * Version (2b), length of the options fields (6b), OAM packet (1b), @@ -1887,14 +1890,51 @@ ulp_rte_geneve_hdr_handler(const struct rte_flow_item *item, return BNXT_TF_RC_SUCCESS; } +/* Function to handle the parsing of RTE Flow item GRE Key Header. */ +int32_t +ulp_rte_gre_key_hdr_handler(const struct rte_flow_item *item, + struct ulp_rte_parser_params *params) +{ + const rte_be32_t *gre_key_spec = item->spec; + const rte_be32_t *gre_key_mask = item->mask; + rte_be32_t gre_key_full_mask = RTE_BE32(UINT32_MAX); + struct ulp_rte_hdr_bitmap *hdr_bitmap = ¶ms->hdr_bitmap; + uint32_t idx = 0; + uint32_t size; + + if (unlikely(ulp_rte_prsr_fld_size_validate(params, &idx, + BNXT_ULP_PROTO_HDR_GRE_KEY_NUM))) { + BNXT_DRV_DBG(ERR, "Error parsing protocol header"); + return BNXT_TF_RC_ERROR; + } + + if (unlikely(!(params->gre_cks_rsvd0_ver & RTE_BE16(ULP_GRE_CKS_RSVD0_VER_HDR_KEY_BIT)))) { + BNXT_DRV_DBG(ERR, "Error GRE K bit is not set"); + return BNXT_TF_RC_ERROR; + } + + if (gre_key_spec && !gre_key_mask) + gre_key_mask = &gre_key_full_mask; + + size = sizeof(uint32_t); + ulp_rte_prsr_fld_mask(params, &idx, size, + gre_key_spec, + gre_key_mask, + ULP_PRSR_ACT_DEFAULT); + + /* Update the hdr_bitmap with GRE */ + ULP_BITMAP_SET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_T_GRE_OPT); + return BNXT_TF_RC_SUCCESS; +} + /* Function to handle the parsing of RTE Flow item GRE Header. */ int32_t ulp_rte_gre_hdr_handler(const struct rte_flow_item *item, struct ulp_rte_parser_params *params) { + struct ulp_rte_hdr_bitmap *hdr_bitmap = ¶ms->hdr_bitmap; const struct rte_flow_item_gre *gre_spec = item->spec; const struct rte_flow_item_gre *gre_mask = item->mask; - struct ulp_rte_hdr_bitmap *hdr_bitmap = ¶ms->hdr_bitmap; uint32_t idx = 0; uint32_t size; @@ -1907,6 +1947,9 @@ ulp_rte_gre_hdr_handler(const struct rte_flow_item *item, if (gre_spec && !gre_mask) gre_mask = &rte_flow_item_gre_mask; + params->gre_cks_rsvd0_ver = (gre_spec && gre_mask) ? + (gre_spec->c_rsvd0_ver & gre_mask->c_rsvd0_ver) : 0; + size = sizeof(((struct rte_flow_item_gre *)NULL)->c_rsvd0_ver); ulp_rte_prsr_fld_mask(params, &idx, size, ulp_deference_struct(gre_spec, c_rsvd0_ver), diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h index 5f451ba404..92c34394ae 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h @@ -140,6 +140,11 @@ int32_t ulp_rte_geneve_hdr_handler(const struct rte_flow_item *item, struct ulp_rte_parser_params *params); +/* Function to handle the parsing of RTE Flow item GRE KEY Header. */ +int32_t +ulp_rte_gre_key_hdr_handler(const struct rte_flow_item *item, + struct ulp_rte_parser_params *params); + /* Function to handle the parsing of RTE Flow item GRE Header. */ int32_t ulp_rte_gre_hdr_handler(const struct rte_flow_item *item, 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 c30a43568b..3ce43f4c92 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -119,7 +119,8 @@ enum bnxt_ulp_hdr_bit { BNXT_ULP_HDR_BIT_NON_GENERIC = 0x0000000400000000, BNXT_ULP_HDR_BIT_GENERIC = 0x0000000800000000, BNXT_ULP_HDR_BIT_T_MPLS = 0x0000001000000000, - BNXT_ULP_HDR_BIT_LAST = 0x0000002000000000 + BNXT_ULP_HDR_BIT_T_GRE_OPT = 0x0000002000000000, + BNXT_ULP_HDR_BIT_LAST = 0x0000004000000000 }; enum bnxt_ulp_accept_opc { diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h index 5b3e82f336..f38ebcea9a 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h @@ -32,6 +32,7 @@ #define BNXT_ULP_PROTO_HDR_VXLAN_GPE_NUM 5 #define BNXT_ULP_PROTO_HDR_GENEVE_NUM 4 #define BNXT_ULP_PROTO_HDR_GRE_NUM 2 +#define BNXT_ULP_PROTO_HDR_GRE_KEY_NUM 1 #define BNXT_ULP_PROTO_HDR_ICMP_NUM 5 #define BNXT_ULP_PROTO_HDR_ECPRI_NUM 2 #define BNXT_ULP_PROTO_HDR_IPV6_EXT_NUM 1 @@ -100,6 +101,7 @@ struct ulp_rte_parser_params { uint32_t act_pattern_id; uint8_t app_id; uint8_t tun_idx; + uint16_t gre_cks_rsvd0_ver; /* GRE C, K, S bits and version */ uint16_t class_info_idx; uint64_t wc_field_bitmap; uint64_t cf_bitmap; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 32/54] net/bnxt/tf_core: handle out of order MPC completions 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (30 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 33/54] net/bnxt/tf_ulp: socket direct enable Manish Kurup ` (21 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Peter Spreadborough, Jay Ding, Farah Smith From: Peter Spreadborough <peter.spreadborough@broadcom.com> It is possible for MPC completions to be returned in an order different to the corresponding MPC requests. This change adds using the MPC opaque field to uniquely associate a completion with a request and handling of out of order completions to the batch-end processing. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Jay Ding <jay.ding@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/bnxt_mpc.c | 26 +++++- drivers/net/bnxt/bnxt_mpc.h | 7 +- drivers/net/bnxt/tf_core/v3/tfc_act.c | 12 +-- drivers/net/bnxt/tf_core/v3/tfc_em.c | 126 +++++++++++++++++++++----- drivers/net/bnxt/tf_core/v3/tfc_em.h | 4 +- 5 files changed, 138 insertions(+), 37 deletions(-) diff --git a/drivers/net/bnxt/bnxt_mpc.c b/drivers/net/bnxt/bnxt_mpc.c index 2582b50782..259066fa61 100644 --- a/drivers/net/bnxt/bnxt_mpc.c +++ b/drivers/net/bnxt/bnxt_mpc.c @@ -575,7 +575,9 @@ int bnxt_mpc_open(struct bnxt *bp) return rc; } -int bnxt_mpc_cmd_cmpl(struct bnxt_mpc_txq *mpc_queue, struct bnxt_mpc_mbuf *out_msg) +int bnxt_mpc_cmd_cmpl(struct bnxt_mpc_txq *mpc_queue, + struct bnxt_mpc_mbuf *out_msg, + uint16_t *opaque) { struct bnxt_cp_ring_info *cpr = mpc_queue->cp_ring; uint32_t raw_cons = cpr->cp_raw_cons; @@ -665,12 +667,13 @@ int bnxt_mpc_cmd_cmpl(struct bnxt_mpc_txq *mpc_queue, struct bnxt_mpc_mbuf *out_ bnxt_db_mpc_cq(cpr); } + *opaque = (uint16_t)mpc_cmpl->info2; return nb_mpc_cmds; } static uint16_t bnxt_mpc_xmit(struct bnxt_mpc_mbuf *mpc_cmd, struct bnxt_mpc_txq *mpc_queue, - uint32_t *opaque) + uint16_t *opaque) { struct bnxt_mpc_ring_info *mpr = mpc_queue->mpc_ring; struct bnxt_ring *ring = mpr->mpc_ring_struct; @@ -715,13 +718,14 @@ static uint16_t bnxt_mpc_xmit(struct bnxt_mpc_mbuf *mpc_cmd, int bnxt_mpc_send(struct bnxt *bp, struct bnxt_mpc_mbuf *in_msg, struct bnxt_mpc_mbuf *out_msg, - uint32_t *opaque, + uint16_t *opaque, bool batch) { int rc; struct bnxt_mpc_txq *mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; int retry = BNXT_MPC_RX_RETRY; uint32_t pi = 0; + uint16_t rx_opaque; if (out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_SHORT && out_msg->cmp_type != CMPL_BASE_TYPE_MID_PATH_LONG) @@ -737,6 +741,8 @@ int bnxt_mpc_send(struct bnxt *bp, * it can be detected. */ pi = mpc_queue->mpc_ring->raw_prod; + *opaque = mpc_queue->seq_num; + mpc_queue->seq_num++; rc = bnxt_mpc_xmit(in_msg, mpc_queue, opaque); if (unlikely(rc)) @@ -761,10 +767,20 @@ int bnxt_mpc_send(struct bnxt *bp, do { rte_delay_us_block(BNXT_MPC_RX_US_DELAY); - rc = bnxt_mpc_cmd_cmpl(mpc_queue, out_msg); + rc = bnxt_mpc_cmd_cmpl(mpc_queue, out_msg, &rx_opaque); - if (rc == 1) + if (rc == 1) { + if (rx_opaque != *opaque) + PMD_DRV_LOG_LINE(ERR, + "%s: Out of order completion. Opaque Expected:%d Got:%d", + __func__, + *opaque, + rx_opaque); return 0; + } +#ifdef MPC_DEBUG + PMD_DRV_LOG_LINE("Received zero or more than one completion:%d", rc); +#endif retry--; } while (retry); diff --git a/drivers/net/bnxt/bnxt_mpc.h b/drivers/net/bnxt/bnxt_mpc.h index b089ddd4bb..da3672e493 100644 --- a/drivers/net/bnxt/bnxt_mpc.h +++ b/drivers/net/bnxt/bnxt_mpc.h @@ -93,6 +93,7 @@ struct bnxt_mpc_txq { struct bnxt_cp_ring_info *cp_ring; const struct rte_memzone *mz; struct bnxt_mpc_mbuf **free; + uint16_t seq_num; void (*cmpl_handler_cb)(struct bnxt_mpc_txq *mpc_queue, uint32_t nb_mpc_cmds); @@ -109,9 +110,11 @@ int bnxt_mpc_close(struct bnxt *bp); int bnxt_mpc_send(struct bnxt *bp, struct bnxt_mpc_mbuf *in_msg, struct bnxt_mpc_mbuf *out_msg, - uint32_t *opaque, + uint16_t *opaque, bool batch); -int bnxt_mpc_cmd_cmpl(struct bnxt_mpc_txq *mpc_queue, struct bnxt_mpc_mbuf *out_msg); +int bnxt_mpc_cmd_cmpl(struct bnxt_mpc_txq *mpc_queue, + struct bnxt_mpc_mbuf *out_msg, + uint16_t *opaque); int bnxt_mpc_poll_cmd_cmpls(struct bnxt_mpc_txq *mpc_queue); #endif diff --git a/drivers/net/bnxt/tf_core/v3/tfc_act.c b/drivers/net/bnxt/tf_core/v3/tfc_act.c index 3c1c76359b..d93064dbc6 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_act.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_act.c @@ -225,7 +225,7 @@ int tfc_act_set(struct tfc *tfcp, int rc = 0; uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + uint16_t opaque; uint32_t i; uint32_t buff_len; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_WRITE_CMD_MAX_FLD]; @@ -311,7 +311,7 @@ int tfc_act_set(struct tfc *tfcp, rc = tfc_mpc_send(tfcp->bp, &mpc_msg_in, &mpc_msg_out, - &msg_count, + &opaque, TFC_MPC_TABLE_WRITE, batch_info); @@ -377,7 +377,7 @@ static int tfc_act_get_only(struct tfc *tfcp, int rc = 0; uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES] = { 0 }; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES] = { 0 }; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + uint16_t opaque; int i; uint32_t buff_len; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_READ_CMD_MAX_FLD] = { {0} }; @@ -477,7 +477,7 @@ static int tfc_act_get_only(struct tfc *tfcp, rc = tfc_mpc_send(tfcp->bp, &mpc_msg_in, &mpc_msg_out, - &msg_count, + &opaque, TFC_MPC_TABLE_READ, batch_info); @@ -556,7 +556,7 @@ static int tfc_act_get_clear(struct tfc *tfcp, int rc = 0; uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES] = { 0 }; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES] = { 0 }; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + uint16_t opaque; int i; uint32_t buff_len; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_READ_CLR_CMD_MAX_FLD] = { {0} }; @@ -665,7 +665,7 @@ static int tfc_act_get_clear(struct tfc *tfcp, rc = tfc_mpc_send(tfcp->bp, &mpc_msg_in, &mpc_msg_out, - &msg_count, + &opaque, TFC_MPC_TABLE_READ_CLEAR, batch_info); diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c index 828b7838f5..47870747e1 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c @@ -129,7 +129,7 @@ int tfc_em_insert(struct tfc *tfcp, uint8_t tsid, uint32_t buff_len; uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + uint16_t opaque; uint32_t i; uint32_t hash = 0; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_EM_INSERT_CMD_MAX_FLD]; @@ -354,7 +354,7 @@ int tfc_em_insert(struct tfc *tfcp, uint8_t tsid, rc = tfc_mpc_send(tfcp->bp, &mpc_msg_in, &mpc_msg_out, - &msg_count, + &opaque, TFC_MPC_EM_INSERT, parms->batch_info); @@ -500,7 +500,7 @@ int tfc_em_delete_raw(struct tfc *tfcp, struct bnxt_mpc_mbuf mpc_msg_out; uint8_t tx_msg[TFC_MPC_MAX_TX_BYTES]; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; - uint32_t msg_count = BNXT_MPC_COMP_MSG_COUNT; + uint16_t opaque = 0; int i; struct cfa_mpc_data_obj fields_cmd[CFA_BLD_MPC_EM_DELETE_CMD_MAX_FLD]; struct cfa_bld_mpcinfo *mpc_info; @@ -565,7 +565,7 @@ int tfc_em_delete_raw(struct tfc *tfcp, rc = tfc_mpc_send(tfcp->bp, &mpc_msg_in, &mpc_msg_out, - &msg_count, + &opaque, TFC_MPC_EM_DELETE, batch_info); if (rc) { @@ -834,7 +834,7 @@ int tfc_em_delete_entries_by_pool_id(struct tfc *tfcp, int tfc_mpc_send(struct bnxt *bp, struct bnxt_mpc_mbuf *in_msg, struct bnxt_mpc_mbuf *out_msg, - uint32_t *opaque, + uint16_t *opaque, int type, struct tfc_mpc_batch_info_t *batch_info) { @@ -856,6 +856,8 @@ int tfc_mpc_send(struct bnxt *bp, batch_info->comp_info[batch_info->count].mpc_queue = bp->mpc->mpc_txq[in_msg->chnl_id]; batch_info->comp_info[batch_info->count].type = type; + batch_info->comp_info[batch_info->count].opaque = *opaque; + batch_info->comp_info[batch_info->count].valid = true; batch_info->count++; } @@ -863,7 +865,8 @@ int tfc_mpc_send(struct bnxt *bp, } static int tfc_mpc_process_completions(uint8_t *rx_msg, - struct tfc_mpc_comp_info_t *comp_info) + struct tfc_mpc_comp_info_t *comp_info, + uint16_t *opaque) { int rc; int retry = BNXT_MPC_RX_RETRY; @@ -872,7 +875,8 @@ static int tfc_mpc_process_completions(uint8_t *rx_msg, do { rc = bnxt_mpc_cmd_cmpl(comp_info->mpc_queue, - &comp_info->out_msg); + &comp_info->out_msg, + opaque); if (likely(rc == 1)) { #ifdef MPC_DEBUG @@ -913,14 +917,41 @@ bool tfc_mpc_batch_started(struct tfc_mpc_batch_info_t *batch_info) return (batch_info->enabled && batch_info->count > 0); } +/* Test out of order handling */ +/*#define MPC_OOO_DEBUG */ + +#ifdef MPC_OOO_DEBUG +static void swap_entries(struct tfc_mpc_batch_info_t *batch_info, int count) +{ + struct tfc_mpc_comp_info_t tmp; + int i1; + int i2; + + i1 = rand() % (count - 1); + i2 = rand() % (count - 1); + + PMD_DRV_LOG(ERR, "%s: Swapping index %d and %d", + __func__, + i1, + i2); + + memcpy(&tmp, &batch_info->comp_info[i1], sizeof(tmp)); + memcpy(&batch_info->comp_info[i1], &batch_info->comp_info[i2], sizeof(tmp)); + memcpy(&batch_info->comp_info[i2], &tmp, sizeof(tmp)); +} +#endif + int tfc_mpc_batch_end(struct tfc *tfcp, struct tfc_mpc_batch_info_t *batch_info) { - uint32_t i; + uint32_t j; + uint32_t start_index = 0; int rc; uint8_t rx_msg[TFC_MPC_MAX_RX_BYTES]; struct cfa_bld_mpcinfo *mpc_info; uint32_t hash = 0; + uint16_t opaque = 0; + uint32_t count; #if TFC_EM_DYNAMIC_BUCKET_EN bool *db_unused; uint32_t *db_offset; @@ -945,17 +976,65 @@ int tfc_mpc_batch_end(struct tfc *tfcp, if (batch_info->count < (BNXT_MPC_COMP_MAX_COUNT / 4)) rte_delay_us_block(BNXT_MPC_RX_US_DELAY * 4); - for (i = 0; i < batch_info->count; i++) { +#ifdef MPC_OOO_DEBUG + /* force out of order in large batches */ + if (batch_info->count > 10) + swap_entries(batch_info, batch_info->count); +#endif + + count = batch_info->count; + + while (count) { rc = tfc_mpc_process_completions(&rx_msg[TFC_MPC_HEADER_SIZE_BYTES], - &batch_info->comp_info[i]); + &batch_info->comp_info[start_index], + &opaque); if (unlikely(rc)) return -1; +#ifdef MPC_DEBUG + PMD_DRV_LOG(ERR, "%s: count:%d start_index:%d bo:%d op:%d ci:%p type:%d", + __func__, + count, + start_index, + batch_info->comp_info[start_index].opaque, + opaque, + batch_info->comp_info[start_index].mpc_queue, + batch_info->comp_info[start_index].type); +#endif + + /* Find batch entry that has a matching opaque value */ + for (j = start_index; j < batch_info->count; j++) { + if (!batch_info->comp_info[j].valid || + opaque != batch_info->comp_info[j].opaque || + batch_info->comp_info[start_index].mpc_queue != + batch_info->comp_info[j].mpc_queue) + continue; + + count--; + + if (j != start_index) { + PMD_DRV_LOG_LINE(INFO, + "%s: OOO comp. Opq Exp:%d Got:%d j:%d", + __func__, + batch_info->comp_info[j].opaque, + opaque, j); + } else { + start_index++; + + while (count && + start_index < batch_info->count && + !batch_info->comp_info[start_index].valid) + start_index++; + } + + batch_info->comp_info[j].out_msg.msg_data = rx_msg; + break; + } - switch (batch_info->comp_info[i].type) { + switch (batch_info->comp_info[j].type) { case TFC_MPC_EM_INSERT: rc = tfc_em_insert_response(mpc_info, - &batch_info->comp_info[i].out_msg, + &batch_info->comp_info[j].out_msg, rx_msg, &hash); /* @@ -963,14 +1042,14 @@ int tfc_mpc_batch_end(struct tfc *tfcp, * flow DB entry that requires the flow_handle * contained within to be updated. */ - batch_info->em_hdl[i] = - tfc_create_flow_handle2(batch_info->em_hdl[i], + batch_info->em_hdl[j] = + tfc_create_flow_handle2(batch_info->em_hdl[j], hash); batch_info->em_error = rc; break; case TFC_MPC_EM_DELETE: rc = tfc_em_delete_response(mpc_info, - &batch_info->comp_info[i].out_msg, + &batch_info->comp_info[j].out_msg, rx_msg #if TFC_EM_DYNAMIC_BUCKET_EN , bool *db_unused, @@ -980,30 +1059,31 @@ int tfc_mpc_batch_end(struct tfc *tfcp, break; case TFC_MPC_TABLE_WRITE: rc = tfc_act_set_response(mpc_info, - &batch_info->comp_info[i].out_msg, + &batch_info->comp_info[j].out_msg, rx_msg); break; case TFC_MPC_TABLE_READ: rc = tfc_act_get_only_response(mpc_info, - &batch_info->comp_info[i].out_msg, + &batch_info->comp_info[j].out_msg, rx_msg, - &batch_info->comp_info[i].read_words); + &batch_info->comp_info[j].read_words); break; case TFC_MPC_TABLE_READ_CLEAR: rc = tfc_act_get_clear_response(mpc_info, - &batch_info->comp_info[i].out_msg, + &batch_info->comp_info[j].out_msg, rx_msg, - &batch_info->comp_info[i].read_words); + &batch_info->comp_info[j].read_words); break; default: - PMD_DRV_LOG_LINE(ERR, "MPC Batch not supported for type: %d", - batch_info->comp_info[i].type); + PMD_DRV_LOG_LINE(ERR, "%s: MPC Batch not supported for type: %d", + __func__, batch_info->comp_info[j].type); return -1; } - batch_info->result[i] = rc; + batch_info->comp_info[j].valid = false; + batch_info->result[j] = rc; if (rc) batch_info->error = true; } diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.h b/drivers/net/bnxt/tf_core/v3/tfc_em.h index 52589ea9c3..659cebe907 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.h +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.h @@ -21,6 +21,8 @@ struct tfc_mpc_comp_info_t { struct bnxt_mpc_mbuf out_msg; int type; uint16_t read_words; + uint16_t opaque; + bool valid; }; struct tfc_mpc_batch_info_t { @@ -249,7 +251,7 @@ int tfc_act_get_clear_response(struct cfa_bld_mpcinfo *mpc_info, int tfc_mpc_send(struct bnxt *bp, struct bnxt_mpc_mbuf *in_msg, struct bnxt_mpc_mbuf *out_msg, - uint32_t *opaque, + uint16_t *opaque, int type, struct tfc_mpc_batch_info_t *batch_info); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 33/54] net/bnxt/tf_ulp: socket direct enable 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (31 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 32/54] net/bnxt/tf_core: handle out of order MPC completions Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 34/54] net/bnxt: fix adding udp_tunnel_port Manish Kurup ` (20 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Kishore Padmanabha From: Farah Smith <farah.smith@broadcom.com> 1. Remove code which requires multi-root to be configured in order for the socket direct feature be enabled. This is not required and was a customer specific implementation. 2. Always enable the global table scope for Thor2 when the socket direct feature is enabled. 3. Remove global table scope feature bit. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 12 +++--------- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 16 ++++------------ drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 5 +++-- 3 files changed, 10 insertions(+), 23 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c index 4a1ccfa2a3..78fd96ce48 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c @@ -420,15 +420,9 @@ ulp_tf_cntxt_app_caps_init(struct bnxt *bp, if (info[i].flags & BNXT_ULP_APP_CAP_BC_MC_SUPPORT) ulp_ctx->cfg_data->ulp_flags |= BNXT_ULP_APP_BC_MC_SUPPORT; - if (info[i].flags & BNXT_ULP_APP_CAP_SOCKET_DIRECT) { - /* Enable socket direction only if MR is enabled in fw*/ - if (BNXT_MULTIROOT_EN(bp)) { - ulp_ctx->cfg_data->ulp_flags |= - BNXT_ULP_APP_SOCKET_DIRECT; - BNXT_DRV_DBG(INFO, - "Socket Direct feature is enabled\n"); - } - } + if (info[i].flags & BNXT_ULP_APP_CAP_SOCKET_DIRECT) + ulp_ctx->cfg_data->ulp_flags |= + BNXT_ULP_APP_SOCKET_DIRECT; if (info[i].flags & BNXT_ULP_APP_CAP_HA_DYNAMIC) { /* Read the environment variable to determine hot up */ if (!bnxt_pmd_get_hot_up_config()) { diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 8443e3e7ba..7271cbb863 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -553,18 +553,10 @@ ulp_tfc_cntxt_app_caps_init(struct bnxt *bp, uint8_t app_id, uint32_t dev_id) if (info[i].flags & BNXT_ULP_APP_CAP_BC_MC_SUPPORT) ulp_ctx->cfg_data->ulp_flags |= BNXT_ULP_APP_BC_MC_SUPPORT; - if (info[i].flags & BNXT_ULP_APP_CAP_SOCKET_DIRECT) { - /* Enable socket direction only if MR is enabled in fw*/ - if (BNXT_MULTIROOT_EN(bp)) { - ulp_ctx->cfg_data->ulp_flags |= - BNXT_ULP_APP_SOCKET_DIRECT; - BNXT_DRV_DBG(DEBUG, - "Socket Direct feature is enabled"); - } else { - BNXT_DRV_DBG(DEBUG, - "No Socket Direct feature - must enable multiroot"); - } - } + if (info[i].flags & BNXT_ULP_APP_CAP_SOCKET_DIRECT) + ulp_ctx->cfg_data->ulp_flags |= + BNXT_ULP_APP_SOCKET_DIRECT; + /* Update the capability feature bits*/ if (bnxt_ulp_cap_feat_process(info[i].feature_bits, &ulp_ctx->cfg_data->feature_bits)) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index cb826b2c19..4134e2f628 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1092,8 +1092,9 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) if (bit & BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN) BNXT_DRV_DBG(ERR, "Special VXLAN Feature is enabled\n"); if (bit & BNXT_ULP_FEATURE_BIT_HOT_UPGRADE) - BNXT_DRV_DBG(ERR, "Hot Upgrade Feature is enabled\n"); - + BNXT_DRV_DBG(ERR, "Hot Upgrade Feature is enabled"); + if (bit & BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT) + BNXT_DRV_DBG(ERR, "Socket Direct Feature is enabled"); *out_bits = bit; return 0; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 34/54] net/bnxt: fix adding udp_tunnel_port 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (32 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 33/54] net/bnxt/tf_ulp: socket direct enable Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 35/54] net/bnxt/tf_ulp: add non vfr mode capability Manish Kurup ` (19 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Kalesh AP, Peter Spreadborough From: Farah Smith <farah.smith@broadcom.com> Do not increment the port count if adding the same value multiple times. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index fad357f3ae..a395c2ab47 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -2622,7 +2622,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev, PMD_DRV_LOG_LINE(ERR, "Only one port allowed"); return -ENOSPC; } - bp->vxlan_port_cnt++; return 0; } tunnel_type = @@ -2636,7 +2635,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev, PMD_DRV_LOG_LINE(ERR, "Only one port allowed"); return -ENOSPC; } - bp->geneve_port_cnt++; return 0; } tunnel_type = @@ -2650,7 +2648,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev, PMD_DRV_LOG_LINE(ERR, "Only one port allowed"); return -ENOSPC; } - bp->ecpri_port_cnt++; return 0; } tunnel_type = -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 35/54] net/bnxt/tf_ulp: add non vfr mode capability 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (33 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 34/54] net/bnxt: fix adding udp_tunnel_port Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 36/54] net/bnxt: avoid iova range check when external memory is used Manish Kurup ` (18 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> For Wh+ platform, the generic template support representor and non representor mode, this flag shall be controlled by the newly added capability flag that is added during the compile time. The flag enables the testpmd forward mode, so testpmd application can forward packets from one port to another port. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 5 ++++- drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 3 +++ drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c index 78fd96ce48..3228bf4f99 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c @@ -1049,6 +1049,7 @@ ulp_tf_ctx_init(struct bnxt *bp, int32_t rc = 0; enum bnxt_ulp_device_id devid; enum bnxt_ulp_session_type stype; + uint64_t feat_bits; struct tf *tfp; /* Initialize the context entries list */ @@ -1101,7 +1102,9 @@ ulp_tf_ctx_init(struct bnxt *bp, goto error_deinit; } - if (BNXT_TESTPMD_EN(bp)) { + feat_bits = bnxt_ulp_feature_bits_get(bp->ulp_ctx); + if ((feat_bits & BNXT_ULP_FEATURE_BIT_NON_VFR_MODE) && + !BNXT_REP_MODE_EN(bp)) { ulp_data->ulp_flags &= ~BNXT_ULP_VF_REP_ENABLED; BNXT_DRV_DBG(ERR, "Enabled Testpmd forward mode\n"); } diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index 4134e2f628..baff9ef049 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1095,6 +1095,9 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Hot Upgrade Feature is enabled"); if (bit & BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT) BNXT_DRV_DBG(ERR, "Socket Direct Feature is enabled"); + if (bit & BNXT_ULP_FEATURE_BIT_NON_VFR_MODE) + BNXT_DRV_DBG(ERR, "Non VFR Feature is enabled"); + *out_bits = bit; return 0; } 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 3ce43f4c92..d63862ffba 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -913,7 +913,8 @@ enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE = 0x00000010, BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN = 0x00000020, BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040, - BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080 + BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080, + BNXT_ULP_FEATURE_BIT_NON_VFR_MODE = 0x00000100 }; enum bnxt_ulp_flow_dir_bitmask { -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 36/54] net/bnxt: avoid iova range check when external memory is used 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (34 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 35/54] net/bnxt/tf_ulp: add non vfr mode capability Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 37/54] net/bnxt: avoid potential segfault in VFR handling Manish Kurup ` (17 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Sriharsha Basavapatna, Andy Gospodarek, Ning Wang, Kalesh AP, Somnath Kotur From: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> The function checks if the iova is in the valid range. But this check is not relevant to external memory; avoid it when external memory is in use. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Ning Wang <ning-nw.wang@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> --- drivers/net/bnxt/bnxt_txr.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index f88e214790..27758898b0 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -221,8 +221,9 @@ static int bnxt_invalid_mbuf(struct rte_mbuf *mbuf) if (unlikely(rte_mbuf_check(mbuf, 1, &reason))) return -EINVAL; - if (unlikely(mbuf->buf_iova < mbuf_size || - (mbuf->buf_iova != rte_mempool_virt2iova(mbuf) + mbuf_size))) + if (unlikely(!(mbuf->ol_flags & RTE_MBUF_F_EXTERNAL) && + (mbuf->buf_iova < mbuf_size || + (mbuf->buf_iova != rte_mempool_virt2iova(mbuf) + mbuf_size)))) return -EINVAL; return 0; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 37/54] net/bnxt: avoid potential segfault in VFR handling 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (35 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 36/54] net/bnxt: avoid iova range check when external memory is used Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys Manish Kurup ` (16 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Peter Spreadborough, Stephen Shi, Shuanglin Wang, Damodharam Ammepalli From: Peter Spreadborough <peter.spreadborough@broadcom.com> 1. Addresses crashes that were seen when using invalid representor arguments. The crash would occur when unwinding after a bnxt_pci_probe() failure. 2. If a representor port exists and an attempt is made to attach the same port a crash would occur. This change adds a check for an already existing port. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Tested-by: Stephen Shi <stephen.shi@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index a395c2ab47..efecbba2c3 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -6905,16 +6905,9 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev, return -ENOTSUP; } num_rep = eth_da->nb_representor_ports; - if (num_rep > max_vf_reps) { - PMD_DRV_LOG_LINE(ERR, "nb_representor_ports = %d > %d MAX VF REPS", - num_rep, max_vf_reps); - return -EINVAL; - } - - if (num_rep >= RTE_MAX_ETHPORTS) { - PMD_DRV_LOG_LINE(ERR, - "nb_representor_ports = %d > %d MAX ETHPORTS", - num_rep, RTE_MAX_ETHPORTS); + if (num_rep > max_vf_reps || num_rep > RTE_MAX_ETHPORTS) { + PMD_DRV_LOG_LINE(ERR, "nb_representor_ports = %d > %d OR %d MAX VF REPS", + num_rep, max_vf_reps, RTE_MAX_ETHPORTS); return -EINVAL; } @@ -6947,6 +6940,13 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev, snprintf(name, sizeof(name), "net_%s_representor_%d", pci_dev->device.name, eth_da->representor_ports[i]); + if (rte_eth_dev_allocated(name) != NULL) { + PMD_DRV_LOG_LINE(ERR, + "Ethernet device with name %s already allocated", + name); + return -EEXIST; + } + kvlist = rte_kvargs_parse(dev_args, bnxt_dev_args); if (kvlist) { /* @@ -7083,7 +7083,13 @@ static int bnxt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, num_rep = eth_da.nb_representor_ports; PMD_DRV_LOG_LINE(DEBUG, "nb_representor_ports = %d", - num_rep); + num_rep); + if (num_rep >= RTE_MAX_ETHPORTS) { + PMD_DRV_LOG_LINE(ERR, + "nb_representor_ports = %d > %d MAX ETHPORTS", + num_rep, RTE_MAX_ETHPORTS); + return -EINVAL; + } /* We could come here after first level of probe is already invoked * as part of an application bringup(OVS-DPDK vswitchd), so first check -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (36 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 37/54] net/bnxt: avoid potential segfault in VFR handling Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 39/54] net/bnxt: thor2 truflow memory manager bug Manish Kurup ` (15 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shahaji Bhosle From: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Need to support --no-huge mode which allows application to run as unprivileged user and does not have access to hugepage mount point and files within it. rte_mem_virt2phy() does not have access to physical addresses(PA) without hugepages, so use rte_mem_virt2iova() with vfio-pci kernel driver. Signed-off-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c index 4be2703740..c765e123fe 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c @@ -62,9 +62,9 @@ ulp_fc_mgr_shadow_mem_alloc(struct hw_fc_mem_info *parms, int size) rte_mem_lock_page(parms->mem_va); - parms->mem_pa = (void *)(uintptr_t)rte_mem_virt2phy(parms->mem_va); + parms->mem_pa = (void *)(uintptr_t)rte_mem_virt2iova(parms->mem_va); if (parms->mem_pa == (void *)RTE_BAD_IOVA) { - BNXT_DRV_DBG(ERR, "Allocate failed mem_pa\n"); + BNXT_DRV_DBG(ERR, "virt2iova failed for mem_va 0x%p", parms->mem_va); return -ENOMEM; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 39/54] net/bnxt: thor2 truflow memory manager bug 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (37 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 40/54] net/bnxt: fix stats collection when rx queue is not set Manish Kurup ` (14 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith From: Farah Smith <farah.smith@broadcom.com> A performance optimization was made based upon the belief that blocks in the memory manager always had non-full blocks prior to full blocks. But this is not the case. The performance optimization stopped looking for space in the block list as soon as the first full block was found in the list. This fix adds code so that whenever a block is full, it is moved to the end of the list so that the search can stop upon reaching the first full block. Remove current_blk_idx. Adjust max_records based upon max contiguous. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c | 83 ++++++++++++------- .../net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h | 2 +- 2 files changed, 56 insertions(+), 29 deletions(-) diff --git a/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c b/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c index 05528dd3e4..6e21d513ac 100644 --- a/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c +++ b/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm.c @@ -48,6 +48,10 @@ int cfa_mm_query(struct cfa_mm_query_parms *parms) max_records = parms->max_records; max_contig_records = (uint16_t)parms->max_contig_records; + /* Align to max_contig_records */ + max_records = (max_records + (max_contig_records - 1)) & + ~(max_contig_records - 1); + if (unlikely(!(CFA_CHECK_BOUNDS(max_records, 1, CFA_MM_MAX_RECORDS) && IS_POWER_2(max_contig_records) && CFA_CHECK_BOUNDS(max_contig_records, 1, @@ -79,6 +83,10 @@ int cfa_mm_open(void *cmm, struct cfa_mm_open_parms *parms) max_records = parms->max_records; max_contig_records = (uint16_t)parms->max_contig_records; + /* Align to max_contig_records */ + max_records = (max_records + (max_contig_records - 1)) & + ~(max_contig_records - 1); + if (unlikely(!(CFA_CHECK_BOUNDS(max_records, 1, CFA_MM_MAX_RECORDS) && IS_POWER_2(max_contig_records) && CFA_CHECK_BOUNDS(max_contig_records, 1, @@ -115,11 +123,11 @@ int cfa_mm_open(void *cmm, struct cfa_mm_open_parms *parms) context->blk_bmap_tbl = (uint8_t *)(context->blk_tbl + num_blocks); context->blk_list_tbl[0].first_blk_idx = 0; - context->blk_list_tbl[0].current_blk_idx = 0; + context->blk_list_tbl[0].last_blk_idx = 0; for (i = 1; i < num_lists; i++) { context->blk_list_tbl[i].first_blk_idx = CFA_MM_INVALID32; - context->blk_list_tbl[i].current_blk_idx = CFA_MM_INVALID32; + context->blk_list_tbl[i].last_blk_idx = CFA_MM_INVALID32; } for (i = 0; i < num_blocks; i++) { @@ -162,6 +170,7 @@ int cfa_mm_close(void *cmm) return 0; } +/* Allocate a block idx from the free list */ static uint32_t cfa_mm_blk_alloc(struct cfa_mm *context) { uint32_t blk_idx; @@ -179,8 +188,6 @@ static uint32_t cfa_mm_blk_alloc(struct cfa_mm *context) free_list->first_blk_idx = context->blk_tbl[free_list->first_blk_idx].next_blk_idx; - free_list->current_blk_idx = free_list->first_blk_idx; - if (free_list->first_blk_idx != CFA_MM_INVALID32) { context->blk_tbl[free_list->first_blk_idx].prev_blk_idx = CFA_MM_INVALID32; @@ -192,6 +199,7 @@ static uint32_t cfa_mm_blk_alloc(struct cfa_mm *context) return blk_idx; } +/* Return a block index to the free list */ static void cfa_mm_blk_free(struct cfa_mm *context, uint32_t blk_idx) { struct cfa_mm_blk_list *free_list = context->blk_list_tbl; @@ -208,16 +216,17 @@ static void cfa_mm_blk_free(struct cfa_mm *context, uint32_t blk_idx) } free_list->first_blk_idx = blk_idx; - free_list->current_blk_idx = blk_idx; } +/* insert at the top of a non-free list */ static void cfa_mm_blk_insert(struct cfa_mm *context, struct cfa_mm_blk_list *blk_list, uint32_t blk_idx) { + /* there are no entries in the list so init all to this one */ if (blk_list->first_blk_idx == CFA_MM_INVALID32) { blk_list->first_blk_idx = blk_idx; - blk_list->current_blk_idx = blk_idx; + blk_list->last_blk_idx = blk_idx; } else { struct cfa_mm_blk *blk_info = &context->blk_tbl[blk_idx]; @@ -226,10 +235,29 @@ static void cfa_mm_blk_insert(struct cfa_mm *context, context->blk_tbl[blk_list->first_blk_idx].prev_blk_idx = blk_idx; blk_list->first_blk_idx = blk_idx; - blk_list->current_blk_idx = blk_idx; } } +/* insert at the bottom of a non-free list */ +static void cfa_mm_blk_insert_last(struct cfa_mm *context, + struct cfa_mm_blk_list *blk_list, + uint32_t blk_idx) +{ + if (blk_list->last_blk_idx == CFA_MM_INVALID32) { + blk_list->first_blk_idx = blk_idx; + blk_list->last_blk_idx = blk_idx; + } else { + struct cfa_mm_blk *blk_info = &context->blk_tbl[blk_idx]; + + blk_info->prev_blk_idx = blk_list->last_blk_idx; + blk_info->next_blk_idx = CFA_MM_INVALID32; + context->blk_tbl[blk_list->last_blk_idx].next_blk_idx = + blk_idx; + blk_list->last_blk_idx = blk_idx; + } +} + +/* delete from anywhere in the list */ static void cfa_mm_blk_delete(struct cfa_mm *context, struct cfa_mm_blk_list *blk_list, uint32_t blk_idx) @@ -239,15 +267,20 @@ static void cfa_mm_blk_delete(struct cfa_mm *context, if (blk_list->first_blk_idx == CFA_MM_INVALID32) return; + if (blk_list->last_blk_idx == blk_idx) { + blk_list->last_blk_idx = blk_info->prev_blk_idx; + if (blk_list->last_blk_idx != CFA_MM_INVALID32) { + context->blk_tbl[blk_list->last_blk_idx].next_blk_idx = + CFA_MM_INVALID32; + } + } + if (blk_list->first_blk_idx == blk_idx) { blk_list->first_blk_idx = blk_info->next_blk_idx; if (blk_list->first_blk_idx != CFA_MM_INVALID32) { context->blk_tbl[blk_list->first_blk_idx].prev_blk_idx = CFA_MM_INVALID32; } - if (blk_list->current_blk_idx == blk_idx) - blk_list->current_blk_idx = blk_list->first_blk_idx; - return; } @@ -260,20 +293,6 @@ static void cfa_mm_blk_delete(struct cfa_mm *context, context->blk_tbl[blk_info->next_blk_idx].prev_blk_idx = blk_info->prev_blk_idx; } - - if (blk_list->current_blk_idx == blk_idx) { - if (blk_info->next_blk_idx != CFA_MM_INVALID32) { - blk_list->current_blk_idx = blk_info->next_blk_idx; - } else { - if (blk_info->prev_blk_idx != CFA_MM_INVALID32) { - blk_list->current_blk_idx = - blk_info->prev_blk_idx; - } else { - blk_list->current_blk_idx = - blk_list->first_blk_idx; - } - } - } } /* Returns true if the bit in the bitmap is set to 'val' else returns false */ @@ -413,12 +432,19 @@ int cfa_mm_alloc(void *cmm, struct cfa_mm_alloc_parms *parms) blk_info->num_contig_records = num_records; } else { - blk_idx = blk_list->current_blk_idx; + blk_idx = blk_list->first_blk_idx; blk_info = &context->blk_tbl[blk_idx]; } while (blk_info->num_free_records < num_records) { - if (blk_info->next_blk_idx == CFA_MM_INVALID32 || !blk_info->num_free_records) { + /* + * All non-full entries precede full entries so + * upon seeing the first full entry, allocate + * new block as this means all following records + * are full. + */ + if (blk_info->next_blk_idx == CFA_MM_INVALID32 || + !blk_info->num_free_records) { blk_idx = cfa_mm_blk_alloc(context); if (unlikely(blk_idx == CFA_MM_INVALID32)) { ret = -ENOMEM; @@ -433,8 +459,6 @@ int cfa_mm_alloc(void *cmm, struct cfa_mm_alloc_parms *parms) } else { blk_idx = blk_info->next_blk_idx; blk_info = &context->blk_tbl[blk_idx]; - - blk_list->current_blk_idx = blk_idx; } } @@ -459,6 +483,9 @@ int cfa_mm_alloc(void *cmm, struct cfa_mm_alloc_parms *parms) blk_info->num_free_records -= num_records; if (!blk_info->num_free_records) { + /* move block to the end of the list if it is full */ + cfa_mm_blk_delete(context, blk_list, blk_idx); + cfa_mm_blk_insert_last(context, blk_list, blk_idx); blk_info->first_free_record = context->records_per_block; } else { cnt = NUM_ALIGN_UNITS(context->records_per_block, diff --git a/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h b/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h index 2a646217ec..dbac1c3cf2 100644 --- a/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h +++ b/drivers/net/bnxt/hcapi/cfa_v3/mm/cfa_mm_priv.h @@ -47,7 +47,7 @@ struct cfa_mm_blk_list { /* Index of the first block in the list */ uint32_t first_blk_idx; /* Index of the current block having free records */ - uint32_t current_blk_idx; + uint32_t last_blk_idx; }; /** -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 40/54] net/bnxt: fix stats collection when rx queue is not set 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (38 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 39/54] net/bnxt: thor2 truflow memory manager bug Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 41/54] net/bnxt: fix rss configuration when set to none Manish Kurup ` (13 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Kalesh AP From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> When rx queue is not started and the stats context id is not allocated then skip the stats collection. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> --- drivers/net/bnxt/bnxt_stats.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c index 9d7cdf925d..697f9ad9fe 100644 --- a/drivers/net/bnxt/bnxt_stats.c +++ b/drivers/net/bnxt/bnxt_stats.c @@ -656,6 +656,9 @@ static int bnxt_stats_get_ext(struct rte_eth_dev *eth_dev, if (!rxq->rx_started) continue; + if (cpr->hw_stats_ctx_id == HWRM_NA_SIGNATURE) + continue; + rc = bnxt_hwrm_ring_stats_ext(bp, cpr->hw_stats_ctx_id, i, &ring_stats, true); if (unlikely(rc)) @@ -717,6 +720,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev, if (!rxq->rx_started) continue; + if (cpr->hw_stats_ctx_id == HWRM_NA_SIGNATURE) + continue; rc = bnxt_hwrm_ring_stats(bp, cpr->hw_stats_ctx_id, i, &ring_stats, true); -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 41/54] net/bnxt: fix rss configuration when set to none 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (39 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 40/54] net/bnxt: fix stats collection when rx queue is not set Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 42/54] net/bnxt: packet drop after port stop and start Manish Kurup ` (12 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> If the rss hash type is set to none and the ports are stopped and started again, the check for rss hash type was not allowing the bnxt driver to populate the correct rx rings in the vnic rss list. This causes the subsequent calls to rss configuration fail since the rss list is not configured and have stale data causing the firmware to reject the rss configuration. The rss hash type of none should not be ignored during configuration, it is a valid configuration and should be applied. When rss hash type is none, the rss context is disabled and there should be no rss algorithm applied to the incoming traffic. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_hwrm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 00b02821c9..939f35e3da 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -6331,7 +6331,7 @@ int bnxt_vnic_rss_configure(struct bnxt *bp, struct bnxt_vnic_info *vnic) if (vnic->fw_vnic_id == INVALID_HW_RING_ID) return 0; - if (!(vnic->rss_table && vnic->hash_type)) + if (vnic->rss_table == NULL) return 0; if (BNXT_CHIP_P5_P7(bp)) -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 42/54] net/bnxt: packet drop after port stop and start 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (40 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 41/54] net/bnxt: fix rss configuration when set to none Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure Manish Kurup ` (11 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev Cc: ajit.khaparde, Kishore Padmanabha, Somnath Kotur, Peter Spreadborough, Kalesh AP From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The packets are getting dropped if some of the queues are configured to stop and if the bnxt driver is reset due to port stop all and port start all then when the bnxt driver comes up, the driver is overwriting the queue configuration to operationally started instead of stopping the queues that was previously stopped. The stopped queues were getting added to the rss context resulting in the packet drops. Added a fix to address this issue, the rxq structure is not cleared during the stop and start process and retains the context, that flag is used to set the queue state. Thus stopped queues shall not be added to the rss context on recovery from a stop and start. The queues that were configured to be stopped have to explicitly started to see traffic on those queues. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index efecbba2c3..c92e335a51 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -925,11 +925,13 @@ static int bnxt_start_nic(struct bnxt *bp) for (j = 0; j < bp->rx_nr_rings; j++) { struct bnxt_rx_queue *rxq = bp->rx_queues[j]; + __rte_assume(j < RTE_MAX_QUEUES_PER_PORT); + /* If not deferred start then change only the state of the */ + /* queue based on the queue rx_started flag */ if (!rxq->rx_deferred_start) { - __rte_assume(j < RTE_MAX_QUEUES_PER_PORT); - bp->eth_dev->data->rx_queue_state[j] = + if (rxq->rx_started) + bp->eth_dev->data->rx_queue_state[j] = RTE_ETH_QUEUE_STATE_STARTED; - rxq->rx_started = true; } } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (41 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 42/54] net/bnxt: packet drop after port stop and start Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 Manish Kurup ` (10 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Peter Spreadborough From: Peter Spreadborough <peter.spreadborough@broadcom.com> A backing store table allocation failed due to lack of memory and resulted in a crash because the result of the allocation was not checked for validity. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Manish Kurup <manish.kurup@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index b229f07596..878f62c115 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -505,6 +505,8 @@ static int alloc_link_pbl(struct tfc_ts_mem_cfg *mem_cfg, uint32_t page_size, RTE_MEMZONE_SIZE_HINT_ONLY | RTE_MEMZONE_IOVA_CONTIG, page_size); + if (!mem_cfg->ts_mz.mz) + return -ENOMEM; } memset(mem_cfg->ts_mz.mz->addr, 0, mem_cfg->ts_mz.mz->len); mem_cfg->ts_mz.page_count = total_pages; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (42 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 45/54] net/bnxt: add meson build options for TruFlow Manish Kurup ` (9 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Sangtani Parag Satishbhai From: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> Now as the mpc is initialized for P7 platform regardless of mpc=1 devarg, RTE and bnxt argument processing APIs for mpc devarg are redundant. This patch removes such RTE and bnxt APIs. The "mpc=1" devarg is now invalid and should not be used while launching an application. Before: ./dpdk-testpmd -c 0xff -a 0000:0a:00.0,mpc=1,app-id=0 After: ./dpdk-testpmd -c 0xff -a 0000:0a:00.0,app-id=0 Signed-off-by: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt.h | 3 --- drivers/net/bnxt/bnxt_ethdev.c | 19 ++++--------------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 90352d537c..83ae151066 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -854,9 +854,6 @@ struct bnxt { ((bp)->flags2 & BNXT_FLAGS2_MULTIROOT_EN) #define BNXT_FLAGS2_COMPRESSED_RX_CQE BIT(5) -#define BNXT_FLAGS2_USE_MPC BIT(6) -#define BNXT_USE_MPC(bp) \ - ((bp)->flags2 & BNXT_FLAGS2_USE_MPC) #define BNXT_FLAGS2_REP_MODE BIT(7) #define BNXT_REP_MODE_EN(bp) \ ((bp)->flags2 & BNXT_FLAGS2_REP_MODE) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index c92e335a51..854c8b7371 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -152,11 +152,6 @@ static const struct rte_eth_speed_lanes_capa speed_lanes_capa_tbl[] = { */ #define BNXT_DEVARG_CQE_MODE_INVALID(val) ((val) > 1) -/* - * mpc = an non-negative 8-bit number - */ -#define BNXT_DEVARG_MPC_INVALID(val) ((val) > 1) - /* * app-id = an non-negative 8-bit number */ @@ -207,7 +202,6 @@ static const struct rte_eth_speed_lanes_capa speed_lanes_capa_tbl[] = { #define BNXT_DEVARG_REP_FC_F2R_INVALID(rep_fc_f2r) ((rep_fc_f2r) > 1) int bnxt_cfa_code_dynfield_offset = -1; -unsigned long mpc; /* * max_num_kflows must be >= 32 @@ -1759,8 +1753,7 @@ static int bnxt_dev_stop(struct rte_eth_dev *eth_dev) /* Process any remaining notifications in default completion queue */ bnxt_int_handler(eth_dev); - if (mpc != 0) - bnxt_mpc_close(bp); + bnxt_mpc_close(bp); bnxt_shutdown_nic(bp); bnxt_hwrm_if_change(bp, false); @@ -1856,11 +1849,9 @@ int bnxt_dev_start_op(struct rte_eth_dev *eth_dev) if (rc) goto error; - if (mpc != 0) { - rc = bnxt_mpc_open(bp); - if (rc != 0) - PMD_DRV_LOG_LINE(DEBUG, "MPC open failed"); - } + rc = bnxt_mpc_open(bp); + if (rc != 0) + PMD_DRV_LOG_LINE(DEBUG, "MPC open failed"); rc = bnxt_alloc_prev_ring_stats(bp); if (rc) @@ -7213,8 +7204,6 @@ static bool bnxt_enable_ulp(struct bnxt *bp) /* not enabling ulp for cli and no truflow apps */ if (BNXT_TRUFLOW_EN(bp) && bp->app_id != 254 && bp->app_id != 255) { - if (BNXT_CHIP_P7(bp) && !mpc) - return false; return true; } return false; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 45/54] net/bnxt: add meson build options for TruFlow 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (43 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 46/54] net/bnxt: truflow HSI struct fixes Manish Kurup ` (8 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde Add meson options for 1. TF template 2. TF feature bits Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- meson_options.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meson_options.txt b/meson_options.txt index e28d24054c..3354ef2b4f 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -58,3 +58,7 @@ option('tests', type: 'boolean', value: true, description: 'build unit tests') option('use_hpet', type: 'boolean', value: false, description: 'use HPET timer in EAL') +option('bnxt_tf_template', type: 'string', value: 'default', description: + 'Truflow template selection') +option('bnxt_tf_feat_bits', type: 'integer', value: 0, description: + 'Truflow feature bits') -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 46/54] net/bnxt: truflow HSI struct fixes 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (44 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 45/54] net/bnxt: add meson build options for TruFlow Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 47/54] net/bnxt/tf_ulp: truflow add pf action handler Manish Kurup ` (7 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde Fix struct definitions in HSI to add __rte_packed_end Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/hsi_struct_def_dpdk.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index 866fc5379d..06c61cba8f 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -24521,7 +24521,7 @@ struct __rte_packed_begin ts_split_entries { /* Indicates the region is locked in the cache */ uint8_t locked; uint32_t rsvd2[2]; -} __rte_packed; +} __rte_packed_end; /* * Common structure to cast crypto key split entries. This casting is @@ -45077,7 +45077,7 @@ struct __rte_packed_begin hwrm_vnic_plcmodes_cfg_output { } __rte_packed_end; /* hwrm_vnic_plcmodes_cfg_cmd_err (size:64b/8B) */ -struct hwrm_vnic_plcmodes_cfg_cmd_err { +struct __rte_packed_begin hwrm_vnic_plcmodes_cfg_cmd_err { /* * command specific error codes that goes to * the cmd_err field in common HWRM Error Response. @@ -45092,7 +45092,7 @@ struct hwrm_vnic_plcmodes_cfg_cmd_err { #define HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_LAST \ HWRM_VNIC_PLCMODES_CFG_CMD_ERR_CODE_INVALID_HDS_THRESHOLD uint8_t unused_0[7]; -} __rte_packed; +} __rte_packed_end; /*************************** * hwrm_vnic_plcmodes_qcfg * @@ -62717,7 +62717,7 @@ struct __rte_packed_begin hwrm_tfc_resc_usage_query_output { /* hwrm_tfc_tcam_pri_update_input (size:256b/32B) */ -struct hwrm_tfc_tcam_pri_update_input { +struct __rte_packed_begin hwrm_tfc_tcam_pri_update_input { /* The HWRM command request type. */ uint16_t req_type; /* @@ -62794,10 +62794,10 @@ struct hwrm_tfc_tcam_pri_update_input { HWRM_TFC_TCAM_PRI_UPDATE_INPUT_TRACK_TYPE_TRACK_TYPE_FID /* unused. */ uint8_t unused0[5]; -} __rte_packed; +} __rte_packed_end; /* hwrm_tfc_tcam_pri_update_output (size:128b/16B) */ -struct hwrm_tfc_tcam_pri_update_output { +struct __rte_packed_begin hwrm_tfc_tcam_pri_update_output { /* The specific error status for the command. */ uint16_t error_code; /* The HWRM command request type. */ @@ -62817,7 +62817,7 @@ struct hwrm_tfc_tcam_pri_update_output { * to be such that this field is written last. */ uint8_t valid; -} __rte_packed; +} __rte_packed_end; /******************************** * hwrm_tfc_hot_upgrade_process * @@ -62825,7 +62825,7 @@ struct hwrm_tfc_tcam_pri_update_output { /* hwrm_tfc_hot_upgrade_process_input (size:192b/24B) */ -struct hwrm_tfc_hot_upgrade_process_input { +struct __rte_packed_begin hwrm_tfc_hot_upgrade_process_input { /* The HWRM command request type. */ uint16_t req_type; /* @@ -62887,10 +62887,10 @@ struct hwrm_tfc_hot_upgrade_process_input { uint8_t cur_session_cnt; /* unused. */ uint8_t unused0; -} __rte_packed; +} __rte_packed_end; /* hwrm_tfc_hot_upgrade_process_output (size:128b/16B) */ -struct hwrm_tfc_hot_upgrade_process_output { +struct __rte_packed_begin hwrm_tfc_hot_upgrade_process_output { /* The specific error status for the command. */ uint16_t error_code; /* The HWRM command request type. */ @@ -62912,7 +62912,7 @@ struct hwrm_tfc_hot_upgrade_process_output { * to be such that this field is written last. */ uint8_t valid; -} __rte_packed; +} __rte_packed_end; /****************************** * hwrm_tunnel_dst_port_query * @@ -64280,7 +64280,7 @@ struct __rte_packed_begin pcie_ctx_hw_stats { * identical up to and including the pcie_recovery_histogram field. */ /* pcie_ctx_hw_stats_v2 (size:4096b/512B) */ -struct pcie_ctx_hw_stats_v2 { +struct __rte_packed_begin pcie_ctx_hw_stats_v2 { /* Number of physical layer receiver errors */ uint64_t pcie_pl_signal_integrity; /* Number of DLLP CRC errors detected by Data Link Layer */ @@ -64385,7 +64385,7 @@ struct pcie_ctx_hw_stats_v2 { uint64_t pcie_blocked_packet_count; /* The count of completion packets sent to the PCI-e. */ uint64_t pcie_cmpl_packet_count; -} __rte_packed; +} __rte_packed_end; /**************************** * hwrm_stat_generic_qstats * -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 47/54] net/bnxt/tf_ulp: truflow add pf action handler 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (45 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 46/54] net/bnxt: truflow HSI struct fixes Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 48/54] net/bnxt/tf_ulp: add support for unicast only feature Manish Kurup ` (6 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shahaji Bhosle, Kishore Padmanabha From: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Update pf action handler callback to use parent PF vnic Signed-off-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 42 ++++++++++++++++-------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index ceda1ff5ef..82baf722cd 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -2946,30 +2946,44 @@ int32_t ulp_rte_pf_act_handler(const struct rte_flow_action *action_item __rte_unused, struct ulp_rte_parser_params *params) { + struct bnxt *bp; uint32_t port_id; - uint32_t ifindex; - enum bnxt_ulp_intf_type intf_type; + enum bnxt_ulp_direction_type dir; + struct ulp_rte_act_prop *act = ¶ms->act_prop; /* Get the port id of the current device */ port_id = ULP_COMP_FLD_IDX_RD(params, BNXT_ULP_CF_IDX_INCOMING_IF); - /* Get the port db ifindex */ - if (ulp_port_db_dev_port_to_ulp_index(params->ulp_ctx, port_id, - &ifindex)) { - BNXT_DRV_DBG(ERR, "Invalid port id\n"); + params->port_id = port_id; + bp = bnxt_pmd_get_bp(params->port_id); + if (bp == NULL) { + BNXT_DRV_DBG(ERR, "Invalid bp"); return BNXT_TF_RC_ERROR; } - /* Check the port is PF port */ - intf_type = ulp_port_db_port_type_get(params->ulp_ctx, ifindex); - if (intf_type != BNXT_ULP_INTF_TYPE_PF) { - BNXT_DRV_DBG(ERR, "Port is not a PF port\n"); + ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_ACT_PORT_TYPE, BNXT_ULP_INTF_TYPE_PF); + + /* Get the direction */ + dir = ULP_COMP_FLD_IDX_RD(params, BNXT_ULP_CF_IDX_DIRECTION); + if (dir == BNXT_ULP_DIR_EGRESS) { + BNXT_DRV_DBG(ERR, "Invalid direction"); return BNXT_TF_RC_ERROR; + } else { + uint16_t pid_s = bp->parent->vnic; + uint32_t pid = pid_s; + pid = rte_cpu_to_be_32(pid); + memcpy(&act->act_details[BNXT_ULP_ACT_PROP_IDX_VNIC], + &pid, BNXT_ULP_ACT_PROP_SZ_VNIC); + /* + * Update appropriate port (A/B) VNIC based on multi-port + * indication. + */ + ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_MP_VNIC_A, pid_s); } - /* Update the action properties */ - ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_ACT_PORT_TYPE, intf_type); - return ulp_rte_parser_act_port_set(params, ifindex, false, - BNXT_ULP_DIR_INVALID); + + /* Update the action port set bit */ + ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_ACT_PORT_IS_SET, 1); + return BNXT_TF_RC_SUCCESS; } /* Function to handle the parsing of RTE Flow action VF. */ -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 48/54] net/bnxt/tf_ulp: add support for unicast only feature 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (46 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 47/54] net/bnxt/tf_ulp: truflow add pf action handler Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 49/54] net/bnxt/tf_core: remove excessive debug logging Manish Kurup ` (5 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shahaji Bhosle From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Added support for unicast only feature bit in the truflow application. This enables the application to not receive broadcast, multicast or unknown mac addresses to the ports that are participating in the application. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 5 +++++ drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 5 +++++ drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 2 ++ drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 3 --- drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h | 3 ++- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c index 3228bf4f99..9d32217a21 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c @@ -475,6 +475,11 @@ ulp_tf_cntxt_app_caps_init(struct bnxt *bp, &ulp_ctx->cfg_data->feature_bits)) return -EINVAL; + if ((ulp_ctx->cfg_data->feature_bits & + BNXT_ULP_FEATURE_BIT_UNICAST_ONLY)) + ulp_ctx->cfg_data->ulp_flags |= + BNXT_ULP_APP_UNICAST_ONLY; + bnxt_ulp_cntxt_ptr2_default_class_bits_set(ulp_ctx, info[i].default_class_bits); bnxt_ulp_cntxt_ptr2_default_act_bits_set(ulp_ctx, diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index 7271cbb863..fc713e95da 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -562,6 +562,11 @@ ulp_tfc_cntxt_app_caps_init(struct bnxt *bp, uint8_t app_id, uint32_t dev_id) &ulp_ctx->cfg_data->feature_bits)) return -EINVAL; + if ((ulp_ctx->cfg_data->feature_bits & + BNXT_ULP_FEATURE_BIT_UNICAST_ONLY)) + ulp_ctx->cfg_data->ulp_flags |= + BNXT_ULP_APP_UNICAST_ONLY; + bnxt_ulp_default_app_priority_set(ulp_ctx, info[i].default_priority); bnxt_ulp_max_def_priority_set(ulp_ctx, diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index baff9ef049..73ed3803de 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1097,6 +1097,8 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Socket Direct Feature is enabled"); if (bit & BNXT_ULP_FEATURE_BIT_NON_VFR_MODE) BNXT_DRV_DBG(ERR, "Non VFR Feature is enabled"); + if (bit & BNXT_ULP_FEATURE_BIT_UNICAST_ONLY) + BNXT_DRV_DBG(ERR, "Unicast only Feature is enabled"); *out_bits = bit; return 0; diff --git a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c index 30cd944362..4d96882087 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c +++ b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c @@ -829,9 +829,6 @@ bnxt_ulp_promisc_mode_set(struct bnxt *bp, uint8_t enable) !bp->ulp_ctx) return rc; - if (!BNXT_CHIP_P5(bp)) - return rc; - port_id = bp->eth_dev->data->port_id; info = &bp->ulp_ctx->cfg_data->df_rule_info[port_id]; 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 d63862ffba..4e9b11e437 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -914,7 +914,8 @@ enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN = 0x00000020, BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040, BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080, - BNXT_ULP_FEATURE_BIT_NON_VFR_MODE = 0x00000100 + BNXT_ULP_FEATURE_BIT_NON_VFR_MODE = 0x00000100, + BNXT_ULP_FEATURE_BIT_UNICAST_ONLY = 0x00000200 }; enum bnxt_ulp_flow_dir_bitmask { -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 49/54] net/bnxt/tf_core: remove excessive debug logging 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (47 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 48/54] net/bnxt/tf_ulp: add support for unicast only feature Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Manish Kurup ` (4 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Peter Spreadborough, Farah Smith, Kishore Padmanabha From: Peter Spreadborough <peter.spreadborough@broadcom.com> This change removes a debug message of questionable usefulness that can spam the terminal if more than 5K flows are created. Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_em.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_em.c b/drivers/net/bnxt/tf_core/v3/tfc_em.c index 47870747e1..3fe4dbe3fe 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_em.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_em.c @@ -1012,13 +1012,7 @@ int tfc_mpc_batch_end(struct tfc *tfcp, count--; - if (j != start_index) { - PMD_DRV_LOG_LINE(INFO, - "%s: OOO comp. Opq Exp:%d Got:%d j:%d", - __func__, - batch_info->comp_info[j].opaque, - opaque, j); - } else { + if (j == start_index) { start_index++; while (count && -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (48 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 49/54] net/bnxt/tf_core: remove excessive debug logging Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality Manish Kurup ` (3 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Farah Smith, Peter Spreadborough From: Farah Smith <farah.smith@broadcom.com> When sriov is disabled and running DPDK on PFs fix invalid max VF check during table scope creation. Signed-off-by: Farah Smith <farah.smith@broadcom.com> Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com> --- drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c index 878f62c115..c06099af12 100644 --- a/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c +++ b/drivers/net/bnxt/tf_core/v3/tfc_tbl_scope.c @@ -1210,7 +1210,8 @@ int tfc_tbl_scope_mem_alloc(struct tfc *tfcp, uint16_t fid, uint8_t tsid, return rc; if (fid > max_vf) { - PMD_DRV_LOG_LINE(ERR, "fid out of range %d", fid); + PMD_DRV_LOG_LINE(ERR, "%s fid out of range %d", + __func__, fid); return -EINVAL; } @@ -1419,16 +1420,7 @@ int tfc_tbl_scope_mem_free(struct tfc *tfcp, uint16_t fid, uint8_t tsid, } if (scope_type != CFA_SCOPE_TYPE_NON_SHARED && is_pf) { uint16_t pool_cnt; - uint16_t max_vf; - rc = tfc_bp_vf_max(tfcp, &max_vf); - if (rc) - return rc; - - if (fid > max_vf) { - PMD_DRV_LOG_LINE(ERR, "invalid fid 0x%x", fid); - return -EINVAL; - } rc = tbl_scope_tpm_fid_rem(tfcp, fid, tsid, &pool_cnt); if (rc) { PMD_DRV_LOG_LINE(ERR, "error getting tsid(%d) pools status %s", -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (49 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling Manish Kurup ` (2 subsequent siblings) 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde 1. Fix RTE_ACTION last item Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index 82baf722cd..26823858b5 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -211,7 +211,7 @@ bnxt_ulp_rte_parser_act_parse(const struct rte_flow_action actions[], hdr_info = &ulp_vendor_act_info[action_item->type - BNXT_RTE_FLOW_ACTION_TYPE_END]; } else { - if (action_item->type > RTE_FLOW_ACTION_TYPE_INDIRECT) + if (action_item->type > RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT) goto act_parser_error; /* get the header information from the act info table */ hdr_info = &ulp_act_info[action_item->type]; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (50 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 53/54] net/bnxt: add support for truflow promiscuous mode Manish Kurup 2025-10-09 22:11 ` [PATCH v2 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code Manish Kurup 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Shahaji Bhosle, Farah Smith From: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Added a new feature bit to all applications to send the miss packets to parent PF. Signed-off-by: Shahaji Bhosle <shahaji.bhosle@broadcom.com> Reviewed-by: Farah Smith <farah.smith@broadcom.com> --- drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 9 ++++++++- drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h | 4 +++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h index 73ed3803de..4741fd9cb5 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h @@ -1070,11 +1070,16 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) uint64_t bit = 0; #endif *out_bits = 0; + if ((feat_bits | bit) != feat_bits) { BNXT_DRV_DBG(ERR, "Invalid TF feature bit is set %" PRIu64 "\n", bit); return -EINVAL; } + + if (!bit) + return 0; + if ((bit & BNXT_ULP_FEATURE_BIT_PARENT_DMAC) && (bit & BNXT_ULP_FEATURE_BIT_PORT_DMAC)) { BNXT_DRV_DBG(ERR, "Invalid both Port and Parent Mac set\n"); @@ -1099,8 +1104,10 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits) BNXT_DRV_DBG(ERR, "Non VFR Feature is enabled"); if (bit & BNXT_ULP_FEATURE_BIT_UNICAST_ONLY) BNXT_DRV_DBG(ERR, "Unicast only Feature is enabled"); - + if (bit & BNXT_ULP_FEATURE_BIT_RX_MISS_SEND_TO_PF) + BNXT_DRV_DBG(ERR, "Rx miss send to parent PF Feature is enabled"); *out_bits = bit; + return 0; } 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 4e9b11e437..6a2d31cf8d 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -915,7 +915,9 @@ enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040, BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080, BNXT_ULP_FEATURE_BIT_NON_VFR_MODE = 0x00000100, - BNXT_ULP_FEATURE_BIT_UNICAST_ONLY = 0x00000200 + BNXT_ULP_FEATURE_BIT_UNICAST_ONLY = 0x00000200, + BNXT_ULP_FEATURE_BIT_REDIRECT_ONLY = 0x00000400, + BNXT_ULP_FEATURE_BIT_RX_MISS_SEND_TO_PF = 0x00000800 }; enum bnxt_ulp_flow_dir_bitmask { -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 53/54] net/bnxt: add support for truflow promiscuous mode 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (51 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 2025-10-09 22:11 ` [PATCH v2 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code Manish Kurup 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde, Kishore Padmanabha, Shuanglin Wang From: Kishore Padmanabha <kishore.padmanabha@broadcom.com> The truflow application support promiscuous mode to enable or disable receiving the packets with unknown destination mac addresses. Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Shuanglin Wang <shuanglin.wang@broadcom.com> --- drivers/net/bnxt/bnxt_ethdev.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 854c8b7371..f37136c8f4 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -2161,9 +2161,15 @@ static int bnxt_promiscuous_enable_op(struct rte_eth_dev *eth_dev) old_flags = vnic->flags; vnic->flags |= BNXT_VNIC_INFO_PROMISC; rc = bnxt_hwrm_cfa_l2_set_rx_mask(bp, vnic, 0, NULL); - if (rc != 0) + if (rc != 0) { vnic->flags = old_flags; - + return rc; + } + rc = bnxt_ulp_promisc_mode_set(bp, 1); + if (rc != 0) { + vnic->flags = old_flags; + rc = bnxt_hwrm_cfa_l2_set_rx_mask(bp, vnic, 0, NULL); + } return rc; } @@ -2185,6 +2191,11 @@ static int bnxt_promiscuous_disable_op(struct rte_eth_dev *eth_dev) if (bp->vnic_info == NULL) return 0; + if (bnxt_ulp_promisc_mode_set(bp, 0)) { + PMD_DRV_LOG_LINE(ERR, "Unable to disable promiscuous mode"); + return -EINVAL; + } + vnic = bnxt_get_default_vnic(bp); old_flags = vnic->flags; -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
* [PATCH v2 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup ` (52 preceding siblings ...) 2025-10-09 22:11 ` [PATCH v2 53/54] net/bnxt: add support for truflow promiscuous mode Manish Kurup @ 2025-10-09 22:11 ` Manish Kurup 53 siblings, 0 replies; 110+ messages in thread From: Manish Kurup @ 2025-10-09 22:11 UTC (permalink / raw) To: dev; +Cc: ajit.khaparde This commit cleans up TruFlow debug/non-production prints Signed-off-by: Manish Kurup <manish.kurup@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- drivers/net/bnxt/bnxt_hwrm.c | 23 ------- drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 5 -- drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c | 6 -- drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 5 -- drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c | 4 -- drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 6 -- drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 6 -- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 38 ------------ drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c | 71 ---------------------- drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 71 ---------------------- drivers/net/bnxt/tf_ulp/ulp_matcher.c | 9 --- 11 files changed, 244 deletions(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 939f35e3da..4d693da1d5 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -2868,29 +2868,6 @@ static uint32_t bnxt_sanitize_rss_type(struct bnxt *bp, uint32_t types) return hwrm_type; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -static int -bnxt_hwrm_vnic_rss_qcfg_p5(struct bnxt *bp) -{ - struct hwrm_vnic_rss_qcfg_output *resp = bp->hwrm_cmd_resp_addr; - struct hwrm_vnic_rss_qcfg_input req = {0}; - int rc; - - HWRM_PREP(&req, HWRM_VNIC_RSS_QCFG, BNXT_USE_CHIMP_MB); - /* vnic_id and rss_ctx_idx must be set to INVALID to read the - * global hash mode. - */ - req.vnic_id = rte_cpu_to_le_16(BNXT_DFLT_VNIC_ID_INVALID); - req.rss_ctx_idx = rte_cpu_to_le_16(BNXT_RSS_CTX_IDX_INVALID); - rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), - BNXT_USE_CHIMP_MB); - HWRM_CHECK_RESULT(); - HWRM_UNLOCK(); - PMD_DRV_LOG_LINE(DEBUG, "RSS QCFG: Hash level %d", resp->hash_mode_flags); - - return rc; -} -#endif static int bnxt_hwrm_vnic_rss_cfg_p5(struct bnxt *bp, struct bnxt_vnic_info *vnic) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_tf_common.h b/drivers/net/bnxt/tf_ulp/bnxt_tf_common.h index 7fc70a3603..8e487d9a0e 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_tf_common.h +++ b/drivers/net/bnxt/tf_ulp/bnxt_tf_common.h @@ -14,11 +14,6 @@ #define BNXT_DRV_DBG(lvl, fmt, ...) \ RTE_LOG(lvl, BNXT, "%s(): " fmt, __func__, ## __VA_ARGS__) -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#define BNXT_DRV_INF(fmt, ...) RTE_LOG(INFO, fmt, ## __VA_ARGS__) -#else -#define BNXT_DRV_INF(fmt, ...) -#endif #define BNXT_ULP_EM_FLOWS 8192 #define BNXT_ULP_1M_FLOWS 1000000 diff --git a/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c b/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c index 5854f13447..bfd5f4b230 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c @@ -16,9 +16,6 @@ #include "bnxt_hwrm.h" #include "bnxt_tf_common.h" #include "bnxt_tf_pmd_shim.h" -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#include "ulp_template_debug_proto.h" -#endif int @@ -617,9 +614,6 @@ bnxt_pmd_global_tunnel_set(struct bnxt_ulp_context *ulp_ctx, port_id, rc); return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - ulp_mapper_global_register_tbl_dump(type, udp_port); -#endif if (udp_port) bnxt_pmd_global_reg_data_to_hndl(port_id, lupar_id, type, udp_port, handle); diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c index 9d32217a21..a69bdc7b7e 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c @@ -948,11 +948,6 @@ ulp_tf_eem_tbl_scope_init(struct bnxt *bp) return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - BNXT_DRV_DBG(DEBUG, "TableScope=0x%0x %d\n", - params.tbl_scope_id, - params.tbl_scope_id); -#endif rc = bnxt_ulp_cntxt_tbl_scope_id_set(bp->ulp_ctx, params.tbl_scope_id); if (rc) { diff --git a/drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c index f09d072ef3..ac83e42514 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c +++ b/drivers/net/bnxt/tf_ulp/ulp_alloc_tbl.c @@ -10,10 +10,6 @@ #include "ulp_alloc_tbl.h" #include "bnxt_ulp_utils.h" -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#include "ulp_template_debug_proto.h" -#include "ulp_tf_debug.h" -#endif /* Retrieve the allocator table initialization parameters for the tbl_idx */ static const struct bnxt_ulp_allocator_tbl_params* diff --git a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c index 4d96882087..8ff3c24993 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c +++ b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c @@ -960,12 +960,6 @@ bnxt_ulp_grp_miss_act_set(struct rte_eth_dev *dev, /* Perform the rte flow post process */ bnxt_ulp_rte_parser_post_process(¶ms); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_PARSER - /* Dump the rte flow action */ - ulp_parser_act_info_dump(¶ms); -#endif -#endif ret = ulp_matcher_action_match(¶ms, ¶ms.act_tmpl); if (unlikely(ret != BNXT_TF_RC_SUCCESS)) diff --git a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c index 46f5a96baf..57f11d02ae 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c +++ b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c @@ -532,9 +532,6 @@ ulp_flow_db_fid_alloc(struct bnxt_ulp_context *ulp_ctxt, if (flow_type == BNXT_ULP_FDB_TYPE_REGULAR) ulp_flow_db_func_id_set(flow_db, *fid, func_id); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - BNXT_DRV_DBG(DEBUG, "flow_id = %u:%u allocated\n", flow_type, *fid); -#endif /* return success */ return 0; } @@ -805,9 +802,6 @@ ulp_flow_db_fid_free(struct bnxt_ulp_context *ulp_ctxt, if (flow_type == BNXT_ULP_FDB_TYPE_REGULAR) ulp_flow_db_func_id_set(flow_db, fid, 0); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - BNXT_DRV_DBG(DEBUG, "flow_id = %u:%u freed\n", flow_type, fid); -#endif /* all good, return success */ return 0; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index 9cda3b355b..0ff952950b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -653,12 +653,6 @@ ulp_mapper_priority_opc_process(struct bnxt_ulp_mapper_parms *parms, rc = -EINVAL; break; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - if (!rc) - BNXT_DRV_DBG(DEBUG, "Tcam priority = 0x%x\n", *priority); -#endif -#endif return rc; } @@ -1504,13 +1498,6 @@ ulp_mapper_key_recipe_alloc(struct bnxt_ulp_context *ulp_ctx, BNXT_DRV_DBG(ERR, "Unable to alloc key recipe\n"); return NULL; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Alloc key recipe [%s]:[%s] = 0x%X\n", - (dir == BNXT_ULP_DIRECTION_INGRESS) ? "rx" : "tx", - ulp_mapper_key_recipe_type_to_str(stype), recipe_id); -#endif -#endif } else if (alloc_only) { BNXT_DRV_DBG(ERR, "Recipe ID (%d) already allocated\n", recipe_id); @@ -1554,13 +1541,6 @@ ulp_mapper_key_recipe_free(struct bnxt_ulp_context *ulp_ctx, } rte_free(recipes[index]); recipes[index] = NULL; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Free key recipe [%s]:[%s] = 0x%X\n", - (dir == BNXT_ULP_DIRECTION_INGRESS) ? "rx" : "tx", - ulp_mapper_key_recipe_type_to_str(stype), index); -#endif -#endif return 0; } @@ -1768,13 +1748,6 @@ ulp_mapper_key_recipe_field_opc_process(struct bnxt_ulp_mapper_parms *parms, } } } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - if (*written && is_key) - BNXT_DRV_DBG(DEBUG, "%-20s bits = %-3d\n", fld->description, - fld->field_bit_size); -#endif -#endif return rc; } @@ -3064,11 +3037,6 @@ ulp_mapper_stats_cache_tbl_process(struct bnxt_ulp_mapper_parms *parms, rc); return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "flow id =0x%x\n", parms->flow_id); -#endif -#endif return rc; } @@ -4039,12 +4007,6 @@ ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms, func_info->func_dst_opr); return -EINVAL; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "write the %" PRIX64 " into func_opc %u\n", res, - func_info->func_dst_opr); -#endif -#endif return rc; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c index 3960be4e48..f17fb6e3b2 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tf.c @@ -11,10 +11,6 @@ #include "bnxt_ulp_utils.h" #include "bnxt_ulp_tf.h" -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#include "ulp_template_debug_proto.h" -#include "ulp_tf_debug.h" -#endif /* Internal function to write the tcam entry */ static int32_t @@ -50,9 +46,6 @@ ulp_mapper_tf_tcam_tbl_entry_write(struct bnxt_ulp_mapper_parms *parms, tf_dir_2_str(sparms.dir), sparms.idx); return -EIO; } - BNXT_DRV_INF("tcam[%s][%s][%x] write success.\n", - tf_tcam_tbl_2_str(sparms.tcam_tbl_type), - tf_dir_2_str(sparms.dir), sparms.idx); /* Mark action */ rc = ulp_mapper_mark_act_ptr_process(parms, tbl); @@ -61,11 +54,6 @@ ulp_mapper_tf_tcam_tbl_entry_write(struct bnxt_ulp_mapper_parms *parms, return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_tcam_entry_dump("TCAM", idx, tbl, key, mask, data); -#endif -#endif return rc; } @@ -353,11 +341,6 @@ ulp_mapper_tf_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, BNXT_DRV_DBG(ERR, "Failed to build the result blob\n"); return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Result", tbl, &data); -#endif -#endif if (dparms->em_dynamic_pad_en) { uint32_t abits = dparms->em_blk_align_bits; @@ -372,11 +355,6 @@ ulp_mapper_tf_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, ulp_blob_pad_align(&data, abits); ulp_blob_perform_byte_reverse(&data, ULP_BITS_2_BYTE(abits)); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Merged Result", tbl, &data); -#endif -#endif } /* do the transpose for the internal EM keys */ @@ -389,11 +367,6 @@ ulp_mapper_tf_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, } tmplen = ulp_blob_data_len_get(&key); ulp_blob_perform_byte_reverse(&key, ULP_BITS_2_BYTE(tmplen)); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Key Transpose", tbl, &key); -#endif -#endif } rc = bnxt_ulp_cntxt_tbl_scope_id_get(parms->ulp_ctx, @@ -444,12 +417,6 @@ ulp_mapper_tf_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_em_dump("EM", &key, &data, &iparms); - /* tf_dump_tables(tfp, iparms.tbl_scope_id); */ -#endif -#endif /* Mark action process */ if (mtype == BNXT_ULP_FLOW_MEM_TYPE_EXT && tbl->resource_type == TF_MEM_EXTERNAL) @@ -852,9 +819,6 @@ ulp_mapper_tf_index_tbl_process(struct bnxt_ulp_mapper_parms *parms, sparms.idx, rc); goto error; } - BNXT_DRV_INF("Index table[%s][%s][%x] write successful.\n", - tf_tbl_type_2_str(sparms.type), - tf_dir_2_str(sparms.dir), sparms.idx); /* Calculate action record size */ if (tbl->resource_type == TF_TBL_TYPE_EXT) { @@ -1032,10 +996,6 @@ ulp_mapper_tf_if_tbl_process(struct bnxt_ulp_mapper_parms *parms, iftbl_params.idx, rc); return rc; } - BNXT_DRV_INF("Set table[%s][%s][%x] success.\n", - tf_if_tbl_2_str(iftbl_params.type), - tf_dir_2_str(iftbl_params.dir), - iftbl_params.idx); /* * TBD: Need to look at the need to store idx in flow db for restore @@ -1073,13 +1033,6 @@ ulp_mapper_tf_ident_alloc(struct bnxt_ulp_context *ulp_ctx, return rc; } *identifier_id = iparms.id; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Allocated Identifier [%s]:[%s] = 0x%X\n", - tf_dir_2_str(iparms.dir), - tf_ident_2_str(iparms.ident_type), iparms.id); -#endif -#endif return rc; } @@ -1104,14 +1057,6 @@ ulp_mapper_tf_ident_free(struct bnxt_ulp_context *ulp_ctx, free_parms.id = res->resource_hndl; (void)tf_free_identifier(tfp, &free_parms); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Freed Identifier [%s]:[%s] = 0x%X\n", - tf_dir_2_str(free_parms.dir), - tf_ident_2_str(free_parms.ident_type), - (uint32_t)free_parms.id); -#endif -#endif return rc; } @@ -1219,14 +1164,6 @@ ulp_mapper_tf_index_entry_free(struct bnxt_ulp_context *ulp, if (fparms.type == TF_TBL_TYPE_FULL_ACT_RECORD) (void)ulp_mapper_clear_full_action_record(tfp, ulp, &fparms); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Free index table [%s]:[%s] = 0x%X\n", - tf_dir_2_str(fparms.dir), - tf_tbl_type_2_str(fparms.type), - (uint32_t)fparms.idx); -#endif -#endif return tf_free_tbl_entry(tfp, &fparms); } @@ -1267,14 +1204,6 @@ ulp_mapper_tf_index_tbl_alloc_process(struct bnxt_ulp_context *ulp, *index = aparms.idx; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "Allocated Table Index [%s][%s] = 0x%04x\n", - tf_tbl_type_2_str(aparms.type), - tf_dir_2_str(aparms.dir), - aparms.idx); -#endif -#endif return rc; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index 0f967b838d..f99698a1d8 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -12,11 +12,6 @@ #include "bnxt_ulp_utils.h" #include "tfc_action_handle.h" -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#include "ulp_template_debug_proto.h" -#include "ulp_tf_debug.h" -#include "tfc_debug.h" -#endif #define BNXT_METER_MAX_NUM 1024 static struct bnxt_mtr_stats_id_map mtr_stats[BNXT_METER_MAX_NUM]; @@ -80,11 +75,6 @@ ulp_mapper_tfc_tcam_tbl_entry_write(struct bnxt_ulp_mapper_parms *parms, return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_tcam_entry_dump("TCAM", idx, tbl, key, mask, remap); -#endif -#endif return rc; } @@ -293,11 +283,6 @@ ulp_mapper_tfc_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms, key = &tkey; mask = &tmask; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_tcam_entry_dump("TCAM", 0, tbl, key, mask, &data); -#endif -#endif if (alloc_tcam) { tfcp = bnxt_ulp_cntxt_tfcp_get(parms->ulp_ctx); @@ -531,11 +516,6 @@ ulp_mapper_tfc_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, ulp_blob_pad_push(&key, align_len_bits); key_len = ULP_BITS_2_BYTE(ulp_blob_data_len_get(&key)); ulp_blob_perform_byte_reverse(&key, key_len); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Key", tbl, &key); -#endif -#endif /* Create the result data blob */ rc = ulp_mapper_tbl_result_build(parms, tbl, &data, "EM Result"); if (unlikely(rc)) { @@ -546,11 +526,6 @@ ulp_mapper_tfc_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, key_len = ULP_BITS_2_BYTE(ulp_blob_data_len_get(&data)); ulp_blob_perform_byte_reverse(&data, key_len); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Result", tbl, &data); -#endif -#endif rc = ulp_blob_append(&key, &data, 0, dparms->em_blk_align_bits); if (unlikely(rc)) { BNXT_DRV_DBG(ERR, "EM Failed to append the result to key(%d)", @@ -566,11 +541,6 @@ ulp_mapper_tfc_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, if (unlikely(rc)) return rc; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_result_dump("EM Merged Result", tbl, &key); -#endif -#endif iparms.dir = tbl->direction; iparms.lkup_key_data = ulp_blob_data_get(&key, &tmplen); iparms.lkup_key_sz_words = ULP_BITS_TO_32_BYTE_WORD(tmplen); @@ -644,11 +614,6 @@ ulp_mapper_tfc_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - ulp_mapper_tfc_em_dump("EM", &key, &iparms); -#endif -#endif /* Mark action process */ rc = ulp_mapper_mark_gfid_process(parms, tbl, *iparms.flow_handle); if (unlikely(rc)) { @@ -1082,14 +1047,6 @@ ulp_mapper_tfc_index_entry_free(struct bnxt_ulp_context *ulp_ctx, /* TBD: check to see if the memory needs to be cleaned as well*/ rc = tfc_idx_tbl_free(tfcp, fw_fid, &tbl_info); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - if (!rc) - BNXT_DRV_DBG(DEBUG, "Freed Index [%s]:[%s] = 0x%X\n", - tfc_dir_2_str(tbl_info.dir), - tfc_idx_tbl_2_str(tbl_info.rsubtype), tbl_info.id); -#endif -#endif return rc; } @@ -1585,13 +1542,6 @@ ulp_mapper_tfc_ident_alloc(struct bnxt_ulp_context *ulp_ctx, return rc; } *identifier_id = ident_info.id; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_INF("Allocated Identifier [%s]:[%s] = 0x%X\n", - tfc_dir_2_str(direction), - tfc_ident_2_str(ident_info.rsubtype), ident_info.id); -#endif -#endif return rc; } @@ -1625,13 +1575,6 @@ ulp_mapper_tfc_ident_free(struct bnxt_ulp_context *ulp_ctx, BNXT_DRV_DBG(ERR, "free failed %d\n", rc); return rc; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "Freed Identifier [%s]:[%s] = 0x%X\n", - tfc_dir_2_str(ident_info.dir), - tfc_ident_2_str(ident_info.rsubtype), ident_info.id); -#endif -#endif return rc; } @@ -1739,13 +1682,6 @@ ulp_mapper_tfc_tcam_entry_free(struct bnxt_ulp_context *ulp, tcam_info.id); return -EINVAL; } -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "Freed TCAM [%s]:[%s] = 0x%X\n", - tfc_dir_2_str(tcam_info.dir), - tfc_tcam_2_str(tcam_info.rsubtype), tcam_info.id); -#endif -#endif return 0; } @@ -1804,13 +1740,6 @@ ulp_mapper_tfc_index_tbl_alloc_process(struct bnxt_ulp_context *ulp, } *index = tbl_info.id; -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_MAPPER - BNXT_DRV_DBG(DEBUG, "Allocated Table Index [%s][%s] = 0x%04x\n", - tfc_idx_tbl_2_str(table_type), tfc_dir_2_str(direction), - tbl_info.id); -#endif -#endif return rc; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_matcher.c b/drivers/net/bnxt/tf_ulp/ulp_matcher.c index 4b2e185278..f739cdf2a3 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_matcher.c +++ b/drivers/net/bnxt/tf_ulp/ulp_matcher.c @@ -225,12 +225,6 @@ ulp_matcher_pattern_match(struct ulp_rte_parser_params *params, error: BNXT_DRV_DBG(DEBUG, "Did not find any matching template\n"); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - BNXT_DRV_DBG(DEBUG, - "hid:%x,Hdr:%" PRIX64 " Fld:%" PRIX64 " SFl:%" PRIX64 "\n", - class_match_idx, params->hdr_bitmap.bits, - params->fld_bitmap.bits, params->fld_s_bitmap.bits); -#endif *class_id = 0; return BNXT_TF_RC_ERROR; } @@ -326,9 +320,6 @@ ulp_matcher_action_match(struct ulp_rte_parser_params *params, return BNXT_TF_RC_SUCCESS; error: BNXT_DRV_DBG(DEBUG, "Did not find any matching action template\n"); -#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG - BNXT_DRV_DBG(DEBUG, "Hdr:%" PRIX64 "\n", params->act_bitmap.bits); -#endif *act_id = 0; return BNXT_TF_RC_ERROR; } -- 2.39.5 (Apple Git-154) ^ permalink raw reply [flat|nested] 110+ messages in thread
end of thread, other threads:[~2025-10-10 7:08 UTC | newest] Thread overview: 110+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-09-30 0:35 [PATCH 00/54] bnxt patchset Manish Kurup 2025-09-30 0:35 ` [PATCH 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup 2025-09-30 0:35 ` [PATCH 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs Manish Kurup 2025-09-30 0:35 ` [PATCH 03/54] net/bnxt: enable vector mode processing Manish Kurup 2025-09-30 0:35 ` [PATCH 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 Manish Kurup 2025-09-30 0:35 ` [PATCH 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 Manish Kurup 2025-09-30 0:35 ` [PATCH 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool Manish Kurup 2025-09-30 0:35 ` [PATCH 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments Manish Kurup 2025-09-30 0:35 ` [PATCH 08/54] net/bnxt/tf_ulp: add support for global identifiers Manish Kurup 2025-09-30 0:35 ` [PATCH 09/54] net/bnxt/tf_core: add support for multi instance Manish Kurup 2025-09-30 0:35 ` [PATCH 10/54] net/bnxt/tf_core: fix table scope free Manish Kurup 2025-09-30 0:35 ` [PATCH 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup Manish Kurup 2025-09-30 0:35 ` [PATCH 12/54] net/bnxt/tf_ulp: add support for special vxlan Manish Kurup 2025-09-30 0:35 ` [PATCH 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 Manish Kurup 2025-09-30 0:35 ` [PATCH 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Manish Kurup 2025-09-30 0:35 ` [PATCH 15/54] net/bnxt/tf_ulp: add support for tcam priority update Manish Kurup 2025-09-30 0:35 ` [PATCH 16/54] net/bnxt/tf_ulp: hot upgrade support Manish Kurup 2025-09-30 0:35 ` [PATCH 17/54] net/bnxt/tf_core: tcam manager logical id free Manish Kurup 2025-09-30 0:35 ` [PATCH 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization Manish Kurup 2025-09-30 0:35 ` [PATCH 19/54] net/bnxt: fix max VFs count for thor2 Manish Kurup 2025-09-30 0:35 ` [PATCH 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 Manish Kurup 2025-09-30 0:35 ` [PATCH 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing Manish Kurup 2025-09-30 0:35 ` [PATCH 22/54] net/bnxt: fix default rss config Manish Kurup 2025-09-30 0:35 ` [PATCH 23/54] net/bnxt/tf_ulp: enable support for global index table Manish Kurup 2025-09-30 0:35 ` [PATCH 24/54] net/bnxt/tf_core: fix build failure with flow scale option Manish Kurup 2025-09-30 0:35 ` [PATCH 25/54] net/bnxt: truflow remove redundant code for mpc init Manish Kurup 2025-09-30 0:35 ` [PATCH 26/54] net/bnxt/tf_ulp: optimize template enums Manish Kurup 2025-09-30 0:35 ` [PATCH 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash Manish Kurup 2025-09-30 0:35 ` [PATCH 28/54] net/bnxt/tf_ulp: support MPLS packets Manish Kurup 2025-09-30 0:35 ` [PATCH 29/54] net/bnxt/tf_core: add backing store debug to dpdk Manish Kurup 2025-09-30 0:35 ` [PATCH 30/54] net/bnxt/tf_core: truflow global table scope Manish Kurup 2025-09-30 0:35 ` [PATCH 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key Manish Kurup 2025-09-30 0:35 ` [PATCH 32/54] net/bnxt/tf_core: handle out of order MPC completions Manish Kurup 2025-09-30 0:35 ` [PATCH 33/54] net/bnxt/tf_ulp: socket direct enable Manish Kurup 2025-09-30 0:35 ` [PATCH 34/54] net/bnxt: fix adding udp_tunnel_port Manish Kurup 2025-09-30 0:35 ` [PATCH 35/54] net/bnxt/tf_ulp: add non vfr mode capability Manish Kurup 2025-09-30 0:35 ` [PATCH 36/54] net/bnxt: avoid iova range check when external memory is used Manish Kurup 2025-09-30 0:35 ` [PATCH 37/54] net/bnxt: avoid potential segfault in VFR handling Manish Kurup 2025-09-30 0:35 ` [PATCH 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys Manish Kurup 2025-09-30 0:35 ` [PATCH 39/54] net/bnxt: thor2 truflow memory manager bug Manish Kurup 2025-09-30 0:35 ` [PATCH 40/54] net/bnxt: fix stats collection when rx queue is not set Manish Kurup 2025-09-30 0:35 ` [PATCH 41/54] net/bnxt: fix rss configuration when set to none Manish Kurup 2025-09-30 0:35 ` [PATCH 42/54] net/bnxt: packet drop after port stop and start Manish Kurup 2025-09-30 0:35 ` [PATCH 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure Manish Kurup 2025-09-30 0:35 ` [PATCH 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 Manish Kurup 2025-09-30 0:35 ` [PATCH 45/54] net/bnxt: add meson build options for TruFlow Manish Kurup 2025-09-30 0:35 ` [PATCH 46/54] net/bnxt: truflow HSI struct fixes Manish Kurup 2025-09-30 0:35 ` [PATCH 47/54] net/bnxt/tf_ulp: truflow add pf action handler Manish Kurup 2025-09-30 0:35 ` [PATCH 48/54] net/bnxt/tf_ulp: add support for unicast only feature Manish Kurup 2025-09-30 0:35 ` [PATCH 49/54] net/bnxt/tf_core: remove excessive debug logging Manish Kurup 2025-09-30 0:36 ` [PATCH 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Manish Kurup 2025-09-30 0:36 ` [PATCH 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality Manish Kurup 2025-09-30 0:36 ` [PATCH 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling Manish Kurup 2025-09-30 0:36 ` [PATCH 53/54] net/bnxt: add support for truflow promiscuous mode Manish Kurup 2025-09-30 0:36 ` [PATCH 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code Manish Kurup 2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup 2025-10-09 22:10 ` [PATCH v2 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup 2025-10-09 22:10 ` [PATCH v2 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs Manish Kurup 2025-10-09 22:10 ` [PATCH v2 03/54] net/bnxt: enable vector mode processing Manish Kurup 2025-10-09 22:10 ` [PATCH v2 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 Manish Kurup 2025-10-09 22:10 ` [PATCH v2 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 Manish Kurup 2025-10-09 22:10 ` [PATCH v2 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool Manish Kurup 2025-10-09 22:10 ` [PATCH v2 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments Manish Kurup 2025-10-09 22:10 ` [PATCH v2 08/54] net/bnxt/tf_ulp: add support for global identifiers Manish Kurup 2025-10-09 22:10 ` [PATCH v2 09/54] net/bnxt/tf_core: add support for multi instance Manish Kurup 2025-10-09 22:10 ` [PATCH v2 10/54] net/bnxt/tf_core: fix table scope free Manish Kurup 2025-10-09 22:10 ` [PATCH v2 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup Manish Kurup 2025-10-09 22:10 ` [PATCH v2 12/54] net/bnxt/tf_ulp: add support for special vxlan Manish Kurup 2025-10-09 22:10 ` [PATCH v2 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 Manish Kurup 2025-10-09 22:10 ` [PATCH v2 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Manish Kurup 2025-10-09 22:10 ` [PATCH v2 15/54] net/bnxt/tf_ulp: add support for tcam priority update Manish Kurup 2025-10-09 22:10 ` [PATCH v2 16/54] net/bnxt/tf_ulp: hot upgrade support Manish Kurup 2025-10-09 22:10 ` [PATCH v2 17/54] net/bnxt/tf_core: tcam manager logical id free Manish Kurup 2025-10-09 22:10 ` [PATCH v2 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization Manish Kurup 2025-10-09 22:10 ` [PATCH v2 19/54] net/bnxt: fix max VFs count for thor2 Manish Kurup 2025-10-09 22:10 ` [PATCH v2 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 Manish Kurup 2025-10-09 22:10 ` [PATCH v2 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing Manish Kurup 2025-10-09 22:10 ` [PATCH v2 22/54] net/bnxt: fix default rss config Manish Kurup 2025-10-09 22:10 ` [PATCH v2 23/54] net/bnxt/tf_ulp: enable support for global index table Manish Kurup 2025-10-09 22:10 ` [PATCH v2 24/54] net/bnxt/tf_core: fix build failure with flow scale option Manish Kurup 2025-10-09 22:11 ` [PATCH v2 25/54] net/bnxt: truflow remove redundant code for mpc init Manish Kurup 2025-10-09 22:11 ` [PATCH v2 26/54] net/bnxt/tf_ulp: optimize template enums Manish Kurup 2025-10-09 22:11 ` [PATCH v2 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash Manish Kurup 2025-10-09 22:11 ` [PATCH v2 28/54] net/bnxt/tf_ulp: support MPLS packets Manish Kurup 2025-10-09 22:11 ` [PATCH v2 29/54] net/bnxt/tf_core: add backing store debug to dpdk Manish Kurup 2025-10-09 22:11 ` [PATCH v2 30/54] net/bnxt/tf_core: truflow global table scope Manish Kurup 2025-10-09 22:11 ` [PATCH v2 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key Manish Kurup 2025-10-09 22:11 ` [PATCH v2 32/54] net/bnxt/tf_core: handle out of order MPC completions Manish Kurup 2025-10-09 22:11 ` [PATCH v2 33/54] net/bnxt/tf_ulp: socket direct enable Manish Kurup 2025-10-09 22:11 ` [PATCH v2 34/54] net/bnxt: fix adding udp_tunnel_port Manish Kurup 2025-10-09 22:11 ` [PATCH v2 35/54] net/bnxt/tf_ulp: add non vfr mode capability Manish Kurup 2025-10-09 22:11 ` [PATCH v2 36/54] net/bnxt: avoid iova range check when external memory is used Manish Kurup 2025-10-09 22:11 ` [PATCH v2 37/54] net/bnxt: avoid potential segfault in VFR handling Manish Kurup 2025-10-09 22:11 ` [PATCH v2 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys Manish Kurup 2025-10-09 22:11 ` [PATCH v2 39/54] net/bnxt: thor2 truflow memory manager bug Manish Kurup 2025-10-09 22:11 ` [PATCH v2 40/54] net/bnxt: fix stats collection when rx queue is not set Manish Kurup 2025-10-09 22:11 ` [PATCH v2 41/54] net/bnxt: fix rss configuration when set to none Manish Kurup 2025-10-09 22:11 ` [PATCH v2 42/54] net/bnxt: packet drop after port stop and start Manish Kurup 2025-10-09 22:11 ` [PATCH v2 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure Manish Kurup 2025-10-09 22:11 ` [PATCH v2 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 Manish Kurup 2025-10-09 22:11 ` [PATCH v2 45/54] net/bnxt: add meson build options for TruFlow Manish Kurup 2025-10-09 22:11 ` [PATCH v2 46/54] net/bnxt: truflow HSI struct fixes Manish Kurup 2025-10-09 22:11 ` [PATCH v2 47/54] net/bnxt/tf_ulp: truflow add pf action handler Manish Kurup 2025-10-09 22:11 ` [PATCH v2 48/54] net/bnxt/tf_ulp: add support for unicast only feature Manish Kurup 2025-10-09 22:11 ` [PATCH v2 49/54] net/bnxt/tf_core: remove excessive debug logging Manish Kurup 2025-10-09 22:11 ` [PATCH v2 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Manish Kurup 2025-10-09 22:11 ` [PATCH v2 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality Manish Kurup 2025-10-09 22:11 ` [PATCH v2 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling Manish Kurup 2025-10-09 22:11 ` [PATCH v2 53/54] net/bnxt: add support for truflow promiscuous mode Manish Kurup 2025-10-09 22:11 ` [PATCH v2 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code Manish Kurup
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).